Thread (6 messages) flat view 6 messages, 4 authors, 2016-01-07

Re: [PATCH net-next 1/2] Support outside netns for tunnels.

From: Joe Perches <joe@perches.com>
Date: 2016-01-04 19:54:12

On Mon, 2016-01-04 at 11:47 -0800, Tom Herbert wrote:
On Mon, Jan 4, 2016 at 10:45 AM, Saurabh Mohan
[off-list ref] wrote:
quoted
This patch enchances a tunnel interface, like gre, to have the tunnel
encap/decap be in the context of a network namespace that is different from
the namespace of the tunnel interface.

From userspace this feature may be configured using the new 'onetns' keyword:
ip netns exec custa ip link add dev tun1 type gre local 10.0.0.1 \
 remote 10.0.0.2 onetns outside

In the above example the tunnel would be in the 'custa' namespace and the
tunnel endpoints would be in the 'outside' namespace.

Also, proposing the use of netns name 'global' to specify the global namespace.

If this patch set is accepted then I will add support for other tunnels as
well.
This might be interesting. Can you please ad a 0/n patch that
describes the motivation for this, in particular I would like to know
if this has a positive impact on ns performance if somehow we are
eliminating indirection.
[]
quoted
diff --git a/include/uapi/linux/if_tunnel.h b/include/uapi/linux/if_tunnel.h
[]
quoted
@@ -3,6 +3,7 @@
 #include 
 #include 
+#include 


 #define SIOCGETTUNNEL   (SIOCDEVPRIVATE + 0)
@@ -27,6 +28,14 @@
 #define GRE_FLAGS      __cpu_to_be16(0x00F8)
 #define GRE_VERSION    __cpu_to_be16(0x0007)

+struct o_netns_parm {
+       __u8                    o_netns_flag;
+       __u32                   o_netns_fd;
+       char                    netns[NAME_MAX];
+};
Trivia:

It could eliminate a few padding bytes if the
o_netns_fd and o_netns_flag fields were reversed.

and netns[NAME_MAX] is normally netns[NAME_MAX + 1]
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help