[ovs-dev] [PATCH v2] Encap & Decap actions for MPLS Packet Type

Ilya Maximets i.maximets at ovn.org
Fri Apr 17 20:23:53 UTC 2020


On 12/10/19 9:17 AM, Martin Varghese wrote:
> From: Martin Varghese <martin.varghese at nokia.com>
> 
> The existing PUSH MPLS & POP MPLS actions inserts & removes 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 requirements. In L2 VPN the ethernet packets
> must be encapsulated inside MPLS tunnel
> 
> In this change the encap & decap actions are extended to support MPLS
> packet type. The encap & decap adds and removes MPLS header at the start
> of packet as depicted below.
> 
> Encapsulation:
> 
> Actions - encap(mpls(ether_type=0x8847)),encap(ethernet)
> 
> Incoming packet -> | ETH | IP | Payload |
> 
> 1 Actions -  encap(mpls(ether_type=0x8847)) [Kernel action -
> ptap_push_mpls:0x8847]
> 
>         Outgoing packet -> | MPLS | ETH | Payload|
> 
> 2 Actions - encap(ethernet) [ Kernel action - push_eth ]
> 
>         Outgoing packet -> | ETH | MPLS | ETH | Payload|
> 
> Decapsulation:
> 
> Incoming packet -> | ETH | MPLS | ETH | IP | Payload |
> 
> Actions - decap(),decap(packet_type(ns=0,type=0)
> 
> 1 Actions -  decap() [Kernel action - pop_eth)
> 
>         Outgoing packet -> | MPLS | ETH | IP | Payload|
> 
> 2 Actions - decap(packet_type(ns=0,type=0) [Kernel action -
> ptap_pop_mpls:0]
> 
>         Outgoing packet -> | ETH  | IP | Payload
> 
> Signed-off-by: Martin Varghese <martin.varghese at nokia.com>
> ---

Hi, Martin.

This change is in kernel already for some time, I'm wondering if you are going
to update this patch according to changes made while pushing this feature to
kernel and re-send new version so we could actually use this action in OVS?

Best regards, Ilya Maximets.


More information about the dev mailing list