Revision 5fdcce211b3a41c3fed229333027f59a94a2f265 authored by William Dauchy on 13 February 2020, 17:19:22 UTC, committed by David S. Miller on 14 February 2020, 15:31:48 UTC
With ipip, it is possible to create an extra interface explicitly
attached to a given physical interface:

  # ip link show tunl0
  4: tunl0@NONE: <NOARP> mtu 1480 qdisc noop state DOWN mode DEFAULT group default qlen 1000
    link/ipip 0.0.0.0 brd 0.0.0.0
  # ip link add tunl1 type ipip dev eth0
  # ip link show tunl1
  6: tunl1@eth0: <NOARP> mtu 1480 qdisc noop state DOWN mode DEFAULT group default qlen 1000
    link/ipip 0.0.0.0 brd 0.0.0.0

But it is not possible with ip6tnl:

  # ip link show ip6tnl0
  5: ip6tnl0@NONE: <NOARP> mtu 1452 qdisc noop state DOWN mode DEFAULT group default qlen 1000
      link/tunnel6 :: brd ::
  # ip link add ip6tnl1 type ip6tnl dev eth0
  RTNETLINK answers: File exists

This patch aims to make it possible by adding link comparaison in both
tunnel locate and lookup functions; we also modify mtu calculation when
attached to an interface with a lower mtu.

This permits to make use of x-netns communication by moving the newly
created tunnel in a given netns.

Signed-off-by: William Dauchy <w.dauchy@criteo.com>
Reviewed-by: Nicolas Dichtel <nicolas.dichtel@6wind.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
1 parent b32cb6f
History
File Mode Size
Makefile -rw-r--r-- 361 bytes
compat.c -rw-r--r-- 2.2 KB
ipc_sysctl.c -rw-r--r-- 6.1 KB
mq_sysctl.c -rw-r--r-- 2.7 KB
mqueue.c -rw-r--r-- 42.5 KB
msg.c -rw-r--r-- 31.6 KB
msgutil.c -rw-r--r-- 3.6 KB
namespace.c -rw-r--r-- 4.6 KB
sem.c -rw-r--r-- 62.8 KB
shm.c -rw-r--r-- 43.0 KB
syscall.c -rw-r--r-- 5.1 KB
util.c -rw-r--r-- 22.8 KB
util.h -rw-r--r-- 8.7 KB

back to top