04 Sep, 2013
1 commit
-
The goal of this patch is to harmonize cleanup done on a skbuff on xmit path.
Before this patch, behaviors were different depending of the tunnel type.Signed-off-by: Nicolas Dichtel
Signed-off-by: David S. Miller
15 Aug, 2013
1 commit
-
This patch allows to switch the netns when packet is encapsulated or
decapsulated. In other word, the encapsulated packet is received in a netns,
where the lookup is done to find the tunnel. Once the tunnel is found, the
packet is decapsulated and injecting into the corresponding interface which
stands to another netns.When one of the two netns is removed, the tunnel is destroyed.
Signed-off-by: Nicolas Dichtel
Signed-off-by: David S. Miller
27 Mar, 2013
1 commit
-
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
Signed-off-by: David S. Miller
11 Mar, 2013
1 commit
-
Similar to iptunnel_xmit(), group these operations into a
helper function.This by the way fixes the missing u64_stats_update_begin()
and u64_stats_update_end() for 32 bit arch.Cc: Eric Dumazet
Cc: Pravin B Shelar
Cc: "David S. Miller"
Signed-off-by: Cong Wang
Signed-off-by: David S. Miller
15 Aug, 2012
1 commit
-
GRE over IPv6 implementation.
Signed-off-by: Dmitry Kozlov
Signed-off-by: David S. Miller
29 Jun, 2012
1 commit
-
At Facebook, we do Layer-3 DSR via IP-in-IP tunneling. Our load balancers wrap
an extra IP header on incoming packets so they can be routed to the backend.
In the v4 tunnel driver, when these packets fall on the default tunl0 device,
the behavior is to decapsulate them and drop them back on the stack. So our
setup is that tunl0 has the VIP and eth0 has (obviously) the backend's real
address.In IPv6 we do the same thing, but the v6 tunnel driver didn't have this same
behavior - if you didn't have an explicit tunnel setup, it would drop the
packet.This patch brings that v4 feature to the v6 driver.
The same IPv6 address checks are performed as with any normal tunnel,
but as the fallback tunnel endpoint addresses are unspecified, the checks
must be performed on a per-packet basis, rather than at tunnel
configuration time.[Patch description modified by phil@ipom.com]
Signed-off-by: Ville Nuorvala
Tested-by: Phil Dibowitz
Signed-off-by: David S. Miller
26 Oct, 2010
1 commit
-
(struct ip6_tnl)->next is rcu protected :
(struct ip_tunnel)->next is rcu protected :
(struct xfrm6_tunnel)->next is rcu protected :add __rcu annotation and proper rcu primitives.
Signed-off-by: Eric Dumazet
Signed-off-by: David S. Miller
03 Jun, 2010
1 commit
-
cleanup patch.
Use new __packed annotation in net/ and include/
(except netfilter)Signed-off-by: Eric Dumazet
Signed-off-by: David S. Miller
10 Mar, 2010
1 commit
-
Commit a43912ab19... ("tunnel: eliminate recursion field") eliminated
use of recursion field from tunnel structures, but its definition
still exists in ip6_tnl{}.Let's remove that unused field.
Signed-off-by: YOSHIFUJI Hideaki
Acked-by: Eric Dumazet
Signed-off-by: David S. Miller
12 Jun, 2008
1 commit
-
This patch removes CVS keywords that weren't updated for a long time
from comments.Signed-off-by: Adrian Bunk
Signed-off-by: David S. Miller
22 May, 2008
1 commit
-
This tunnel uses its own private structure and requires separate
patch to switch from private stats to on-device ones.Signed-off-by: Pavel Emelyanov
Signed-off-by: David S. Miller
24 Feb, 2008
1 commit
-
Use the added dev_alloc_name() call to create tunnel device name,
rather than iterate in a hand-made loop with an artificial limit.Thanks Patrick for noticing this.
[ The way this works is, when the device is actually registered,
the generic code noticed the '%' in the name and invokes
dev_alloc_name() to fully resolve the name. -DaveM ]Signed-off-by: Pavel Emelyanov
Signed-off-by: David S. Miller
21 Dec, 2007
1 commit
-
Signed-off-by: Joe Perches
Signed-off-by: David S. Miller
17 Apr, 2005
1 commit
-
Initial git repository build. I'm not bothering with the full history,
even though we have it. We can create a separate "historical" git
archive of that later if we want to, and in the meantime it's about
3.2GB when imported into git - space that would just make the early
git days unnecessarily complicated, when we don't have a lot of good
infrastructure for it.Let it rip!