ip-tunnel: add support for tunnel flags

System Internals / NetworkManager - Beniamino Galvani [redhat.com] - 5 January 2018 17:25 EST

Implement support for IP tunnel flags. Currently only some IPv6 tunnel flags are supported. Example:

# nmcli connection add type ip-tunnel mode ip6ip6 \ ip-tunnel.flags ip6-ign-encap-limit,ip6-use-orig-tclass \ ifname abc ip-tunnel.parent ens8 ipv4.method disabled \ ipv6.method manual ipv6.address ::8888 remote ::42

# ip -d l 61: abc@ens8: mtu 1460 qdisc noqueue ... link/tunnel6 :: brd ::42 promiscuity 0 ip6tnl ip6ip6 remote ::42 local :: dev ens8 encaplimit none hoplimit 0 tclass inherit ...

https://bugzilla.gnome.org/show_bug.cgi?id=791846

da4c9e51a ip-tunnel: add support for tunnel flags
clients/common/nm-meta-setting-desc.c | 8 +++
clients/common/settings-docs.c.in | 1 +
....freedesktop.NetworkManager.Device.IPTunnel.xml | 7 +++
libnm-core/nm-core-types-internal.h | 9 +++
libnm-core/nm-setting-ip-tunnel.c | 60 ++++++++++++++++++++
libnm-core/nm-setting-ip-tunnel.h | 30 ++++++++++
libnm/libnm.ver | 3 +
libnm/nm-device-ip-tunnel.c | 36 ++++++++++++
libnm/nm-device-ip-tunnel.h | 4 ++
src/devices/nm-device-ip-tunnel.c | 43 ++++++++++++++
src/devices/nm-device-ip-tunnel.h | 1 +
src/platform/nm-linux-platform.c | 5 ++
src/platform/nm-platform.c | 8 ++-
src/platform/nm-platform.h | 3 +
src/platform/tests/test-common.c | 13 ++++-
src/platform/tests/test-link.c | 65 ++++++++++++++++------
16 files changed, 274 insertions(+), 22 deletions(-)

Upstream: cgit.freedesktop.org


  • Share