diff options
author | Pravin B Shelar <pshelar@nicira.com> | 2013-03-25 10:49:35 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2013-03-26 12:27:18 -0400 |
commit | c54419321455631079c7d6e60bc732dd0c5914c5 (patch) | |
tree | a0ad703b72313b98e70f4166bcea9a328d09e937 /net/ipv4/Kconfig | |
parent | eaac5f3d3ad33547b299935e6db0cfc7be9a576a (diff) |
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>
Diffstat (limited to 'net/ipv4/Kconfig')
-rw-r--r-- | net/ipv4/Kconfig | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/net/ipv4/Kconfig b/net/ipv4/Kconfig index 7944df768454..2073226a8a63 100644 --- a/net/ipv4/Kconfig +++ b/net/ipv4/Kconfig | |||
@@ -186,9 +186,14 @@ config NET_IPGRE_DEMUX | |||
186 | This is helper module to demultiplex GRE packets on GRE version field criteria. | 186 | This is helper module to demultiplex GRE packets on GRE version field criteria. |
187 | Required by ip_gre and pptp modules. | 187 | Required by ip_gre and pptp modules. |
188 | 188 | ||
189 | config NET_IP_TUNNEL | ||
190 | tristate | ||
191 | default n | ||
192 | |||
189 | config NET_IPGRE | 193 | config NET_IPGRE |
190 | tristate "IP: GRE tunnels over IP" | 194 | tristate "IP: GRE tunnels over IP" |
191 | depends on (IPV6 || IPV6=n) && NET_IPGRE_DEMUX | 195 | depends on (IPV6 || IPV6=n) && NET_IPGRE_DEMUX |
196 | select NET_IP_TUNNEL | ||
192 | help | 197 | help |
193 | Tunneling means encapsulating data of one protocol type within | 198 | Tunneling means encapsulating data of one protocol type within |
194 | another protocol and sending it over a channel that understands the | 199 | another protocol and sending it over a channel that understands the |