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
