Thanks for the explanation!

I think I might have a workaround using decap instead of pop_mpls, e.g.:

pop_vlan,decap(),decap(packet_type(ns=1,type=0x800)),encap(ethernet)

The first decap gets rid of the ethernet header and the second takes care of 
mpls. Then at the end you just have to add an ethernet header again (and 
restore mac addrs which I ommitted here).

Hope that might help somebody else.
________________________________
From: Ilya Maximets <[email protected]>
Sent: Tuesday, April 25, 2023 1:51 PM
To: Gerrie Roos <[email protected]>; Gerrie Roos via discuss 
<[email protected]>
Cc: [email protected] <[email protected]>
Subject: Re: [ovs-discuss] Decapsulating MPLS VLAN packets

On 4/25/23 19:06, Gerrie Roos via discuss wrote:
> Hi all
>
> I'm running into a known issue when decapsulating MPLS VLAN packets on OVS 
> 2.17.3. It looks like [ovs-discuss] Error when popping mpls tag from vlan 
> tagged packet (openvswitch.org) 
> <https://mail.openvswitch.org/pipermail/ovs-discuss/2016-April/040813.html>. 
> Is this perhaps solved in later versions? Is there any way to work around 
> this?

The restriction is imposed by the kernel module and the code is still
in the latest kernel.

AFAIU, MPLS actions should always go before VLAN actions, otherwise
the kernel will reject the flow.  So, you have to push VLAN after
pushing MPLS and pop VLAN after popping MPLS.  And that doesn't really
allow you to use VLAN and MPLS together.

I suppose, the original explanation from Jesse still applies.

Best regards, Ilya Maximets.
_______________________________________________
discuss mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-discuss

Reply via email to