networkd and sd-netlink: add support for Generic netlink And FooOverUDP to IPIP tunnel

System Internals / systemd - Susant Sahani [redhat.com] - 23 August 2018 09:30 EDT

This work add support to generic netlink to sd-netlink. See https://lwn.net/Articles/208755/

networkd: add support FooOverUDP support to IPIP tunnel netdev https://lwn.net/Articles/614348/

Example conf:

/lib/systemd/network/1-fou-tunnel.netdev

[NetDev] Name=fou-tun Kind=fou

[FooOverUDP] Port=5555 Protocol=4



/lib/systemd/network/ipip-tunnel.netdev

[NetDev] Name=ipip-tun Kind=ipip

[Tunnel] Independent=true Local=10.65.208.212 Remote=10.65.208.211 FooOverUDP=true FOUDestinationPort=5555


$ ip -d link show ipip-tun

5: ipip-tun@NONE: mtu 1472 qdisc noop state DOWN mode DEFAULT group default qlen 1000 link/ipip 10.65.208.212 peer 10.65.208.211 promiscuity 0 ipip remote 10.65.208.211 local 10.65.208.212 ttl inherit pmtudisc encap fou encap-sport auto encap-dport 5555 noencap-csum noencap-csum6 noencap-remcsum numtxqueues 1 numrxqueues 1 gso_max_size 65536 gso_max_segs 65535

53cb501a1 networkd and sd-netlink: add support for Generic netlink And FooOverUDP to IPIP tunnel
man/systemd.netdev.xml | 98 +++++++++++++++++++++
meson.build | 3 +
src/basic/missing.h | 39 +++++++++
src/libsystemd/sd-netlink/generic-netlink.c | 1 +
src/libsystemd/sd-netlink/netlink-types.c | 32 ++++++-
src/network/meson.build | 2 +
src/network/netdev/fou-tunnel.c | 128 ++++++++++++++++++++++++++++
src/network/netdev/fou-tunnel.h | 39 +++++++++
src/network/netdev/netdev-gperf.gperf | 8 ++
src/network/netdev/netdev.c | 3 +
src/network/netdev/netdev.h | 1 +
src/network/netdev/tunnel.c | 25 ++++++
src/network/netdev/tunnel.h | 7 ++
src/systemd/sd-netlink.h | 2 +-
14 files changed, 386 insertions(+), 2 deletions(-)

Upstream: github.com


  • Share