All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH net-next 0/2] net: vrf: Fixup PKTINFO to return enslaved device index
@ 2016-05-05 19:37 David Ahern
  2016-05-05 19:37 ` [PATCH net-next 1/2] net: l3mdev: Add hook in ip and ipv6 David Ahern
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: David Ahern @ 2016-05-05 19:37 UTC (permalink / raw)
  To: netdev; +Cc: David Ahern

Applications such as OSPF and BFD need the original ingress device not
the VRF device; the latter can be derived from the former. To that end
move the packet intercept from an rx handler that is invoked by 
__netif_receive_skb_core to the ipv4 and ipv6 receive processing. 

IPv6 already saves the skb_iif to the control buffer in ipv6_rcv. Since
the skb->dev has not been switched the cb has the enslaved device. Make
the same happen for IPv4 by adding the skb_iif to inet_skb_parm and set
it in ipv4 code after clearing the skb control buffer similar to IPv6.
>From there the pktinfo can just pull it from cb with the PKTINFO_SKB_CB
cast.

David Ahern (2):
  net: l3mdev: Add hook in ip and ipv6
  net: original ingress device index in PKTINFO

 drivers/net/vrf.c         | 186 ++++++++++++++++++++++------------------------
 include/linux/ipv6.h      |   3 +-
 include/linux/netdevice.h |   2 +
 include/net/ip.h          |   1 +
 include/net/l3mdev.h      |  43 +++++++++++
 include/net/tcp.h         |   3 +-
 net/core/dev.c            |   3 +-
 net/ipv4/ip_input.c       |   8 ++
 net/ipv4/ip_sockglue.c    |   7 +-
 net/ipv6/ip6_input.c      |   7 ++
 10 files changed, 161 insertions(+), 102 deletions(-)

-- 
2.1.4

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2016-05-07  1:04 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-05-05 19:37 [PATCH net-next 0/2] net: vrf: Fixup PKTINFO to return enslaved device index David Ahern
2016-05-05 19:37 ` [PATCH net-next 1/2] net: l3mdev: Add hook in ip and ipv6 David Ahern
2016-05-05 19:37 ` [PATCH net-next 2/2] net: original ingress device index in PKTINFO David Ahern
2016-05-07  1:04 ` [PATCH net-next 0/2] net: vrf: Fixup PKTINFO to return enslaved device index David Ahern

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.