Merge branch 'vrf-pktinfo'
authorDavid S. Miller <davem@davemloft.net>
Wed, 11 May 2016 23:31:40 +0000 (19:31 -0400)
committerDavid S. Miller <davem@davemloft.net>
Wed, 11 May 2016 23:31:56 +0000 (19:31 -0400)
commitc3f1010b30f7fc611139cfb702a8685741aa6827
treeb68c8a9b5148687c7bce7c6a5ab14e26a5c47050
parentca4aa976f04d14bc7da60dce0e2afc34c9f0f1d2
parent0b922b7a829c06e3b0790c58cd9ca026de86096e
Merge branch 'vrf-pktinfo'

David Ahern says:

====================
net: vrf: Fixup PKTINFO to return enslaved device index

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.
====================

Signed-off-by: David S. Miller <davem@davemloft.net>