GRE: Refactor GRE tunneling code.
Following patch refactors GRE code into ip tunneling code and GRE specific code. Common tunneling code is moved to ip_tunnel module. ip_tunnel module is written as generic library which can be used by different tunneling implementations. ip_tunnel module contains following components: - packet xmit and rcv generic code. xmit flow looks like (gre_xmit/ipip_xmit)->ip_tunnel_xmit->ip_local_out. - hash table of all devices. - lookup for tunnel devices. - control plane operations like device create, destroy, ioctl, netlink operations code. - registration for tunneling modules, like gre, ipip etc. - define single pcpu_tstats dev->tstats. - struct tnl_ptk_info added to pass parsed tunnel packet parameters. ipip.h header is renamed to ip_tunnel.h Signed-off-by:Pravin B Shelar <pshelar@nicira.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
Showing
- drivers/net/vxlan.c 1 addition, 1 deletiondrivers/net/vxlan.c
- include/net/gre.h 51 additions, 0 deletionsinclude/net/gre.h
- include/net/ip6_tunnel.h 1 addition, 0 deletionsinclude/net/ip6_tunnel.h
- include/net/ip_tunnels.h 177 additions, 0 deletionsinclude/net/ip_tunnels.h
- net/ipv4/Kconfig 5 additions, 0 deletionsnet/ipv4/Kconfig
- net/ipv4/Makefile 1 addition, 0 deletionsnet/ipv4/Makefile
- net/ipv4/af_inet.c 0 additions, 1 deletionnet/ipv4/af_inet.c
- net/ipv4/gre.c 0 additions, 5 deletionsnet/ipv4/gre.c
- net/ipv4/ip_gre.c 317 additions, 1187 deletionsnet/ipv4/ip_gre.c
- net/ipv4/ip_tunnel.c 1035 additions, 0 deletionsnet/ipv4/ip_tunnel.c
- net/ipv4/ip_vti.c 1 addition, 1 deletionnet/ipv4/ip_vti.c
- net/ipv4/ipip.c 1 addition, 1 deletionnet/ipv4/ipip.c
- net/ipv4/ipmr.c 1 addition, 1 deletionnet/ipv4/ipmr.c
- net/ipv6/af_inet6.c 0 additions, 1 deletionnet/ipv6/af_inet6.c
- net/ipv6/ip6_gre.c 1 addition, 0 deletionsnet/ipv6/ip6_gre.c
- net/ipv6/ip6_tunnel.c 1 addition, 0 deletionsnet/ipv6/ip6_tunnel.c
- net/ipv6/sit.c 1 addition, 1 deletionnet/ipv6/sit.c
Loading
Please register or sign in to comment