route: move lwtunnel state to dst_entry
authorJiri Benc <jbenc@redhat.com>
Thu, 20 Aug 2015 11:56:25 +0000 (13:56 +0200)
committerDavid S. Miller <davem@davemloft.net>
Thu, 20 Aug 2015 22:42:36 +0000 (15:42 -0700)
commit61adedf3e3f1d3f032c5a6a299978d91eff6d555
treeb0d915083b64f9196bf90135a501779762149a9e
parent7c383fb2254c44e096427470da6a36380169b548
route: move lwtunnel state to dst_entry

Currently, the lwtunnel state resides in per-protocol data. This is
a problem if we encapsulate ipv6 traffic in an ipv4 tunnel (or vice versa).
The xmit function of the tunnel does not know whether the packet has been
routed to it by ipv4 or ipv6, yet it needs the lwtstate data. Moving the
lwtstate data to dst_entry makes such inter-protocol tunneling possible.

As a bonus, this brings a nice diffstat.

Signed-off-by: Jiri Benc <jbenc@redhat.com>
Acked-by: Roopa Prabhu <roopa@cumulusnetworks.com>
Acked-by: Thomas Graf <tgraf@suug.ch>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 files changed:
drivers/net/vrf.c
drivers/net/vxlan.c
include/net/dst.h
include/net/dst_metadata.h
include/net/ip6_fib.h
include/net/lwtunnel.h
include/net/route.h
net/core/dst.c
net/core/filter.c
net/core/lwtunnel.c
net/ipv4/ip_gre.c
net/ipv4/route.c
net/ipv6/ila.c
net/ipv6/ip6_fib.c
net/ipv6/route.c
net/mpls/mpls_iptunnel.c
net/openvswitch/vport-netdev.c