[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20140813170243.GA1869@nanopsycho.orion>
Date: Wed, 13 Aug 2014 19:02:43 +0200
From: Jiri Pirko <jiri@...nulli.us>
To: David Miller <davem@...emloft.net>
Cc: eric.dumazet@...il.com, nasa4836@...il.com, jchapman@...alix.com,
lucien.xin@...il.com, netdev@...r.kernel.org
Subject: Re: [PATCH 2/2] ipv4: add a sock pointer to dst->output() path.
Tue, Apr 15, 2014 at 07:49:16PM CEST, davem@...emloft.net wrote:
>
>From: Eric Dumazet <edumazet@...gle.com>
>
>In the dst->output() path for ipv4, the code assumes the skb it has to
>transmit is attached to an inet socket, specifically via
>ip_mc_output() : The sk_mc_loop() test triggers a WARN_ON() when the
>provider of the packet is an AF_PACKET socket.
>
>The dst->output() method gets an additional 'struct sock *sk'
>parameter. This needs a cascade of changes so that this parameter can
>be propagated from vxlan to final consumer.
Actually, the same issue is present for ipv6. But it is not that easy to
fix it there. sk_mc_loop is called from
ip6_finish_output2(ip6_finish_output) which is called as a okfn from
NF_HOOK_COND. So to fix it here, it would be needed to add struct sock *sk
to a lot of places.
The question is, is it the correct way? Or perhaps something like
skb->output_sk would serve this better?
Thoughts?
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists