]> git.proxmox.com Git - mirror_iproute2.git/commit
ip link: initial support for bareudp devices
authorGuillaume Nault <gnault@redhat.com>
Wed, 1 Jul 2020 19:45:04 +0000 (21:45 +0200)
committerStephen Hemminger <stephen@networkplumber.org>
Mon, 6 Jul 2020 18:11:05 +0000 (11:11 -0700)
commita6c5c952ab2e0e94eb937b1235649978e22e8125
tree75e969a0a1fd8c7d35203732f0033b407877f666
parent8f1cd119b3772be25e1ac6f017006012bd5a4541
ip link: initial support for bareudp devices

Bareudp devices provide a generic L3 encapsulation for tunnelling
different protocols like MPLS, IP, NSH, etc. inside a UDP tunnel.

This patch is based on original work from Martin Varghese:
https://lore.kernel.org/netdev/1570532361-15163-1-git-send-email-martinvarghesenokia@gmail.com/

Examples:

  - ip link add dev bareudp0 type bareudp dstport 6635 ethertype mpls_uc

This creates a bareudp tunnel device which tunnels L3 traffic with
ethertype 0x8847 (unicast MPLS traffic). The destination port of the
UDP header will be set to 6635. The device will listen on UDP port 6635
to receive traffic.

  - ip link add dev bareudp0 type bareudp dstport 6635 ethertype ipv4 multiproto

Same as the MPLS example, but for IPv4. The "multiproto" keyword allows
the device to also tunnel IPv6 traffic.

Signed-off-by: Guillaume Nault <gnault@redhat.com>
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
ip/Makefile
ip/iplink.c
ip/iplink_bareudp.c [new file with mode: 0644]
man/man8/ip-link.8.in