]> asedeno.scripts.mit.edu Git - linux.git/commit
openvswitch: New MPLS actions for layer 2 tunnelling
authorMartin Varghese <martin.varghese@nokia.com>
Sat, 21 Dec 2019 03:20:46 +0000 (08:50 +0530)
committerDavid S. Miller <davem@davemloft.net>
Wed, 25 Dec 2019 06:24:45 +0000 (22:24 -0800)
commitf66b53fdbb22ced1a323b22b9de84a61aacd8d18
treebb0d67371aaf2e2fcdb80ef8ee59b82d7b6ff83a
parent76f99f987f2b7f95d43857b6e0362bd8dec9890c
openvswitch: New MPLS actions for layer 2 tunnelling

The existing PUSH MPLS action inserts MPLS header between ethernet header
and the IP header. Though this behaviour is fine for L3 VPN where an IP
packet is encapsulated inside a MPLS tunnel, it does not suffice the L2
VPN (l2 tunnelling) requirements. In L2 VPN the MPLS header should
encapsulate the ethernet packet.

The new mpls action ADD_MPLS inserts MPLS header at the start of the
packet or at the start of the l3 header depending on the value of l3 tunnel
flag in the ADD_MPLS arguments.

POP_MPLS action is extended to support ethertype 0x6558.

Signed-off-by: Martin Varghese <martin.varghese@nokia.com>
Acked-by: Pravin B Shelar <pshelar@ovn.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/uapi/linux/openvswitch.h
net/openvswitch/actions.c
net/openvswitch/flow_netlink.c