<div dir="ltr">Hello again,<div><br></div><div>Thanks Ahmed and Tonghao for your replies.</div><div><br></div><div><br></div>Tonghao : IP packets are encapsulated By the MPLS protocol. After popping the inner mpls header we will find the IP header. That&#39;s why i used pop_mpls:0x800 to change the type of the ethernet frame.<div><br></div><div>Ahmed : Yes. I&#39;m working with the kernel datapath. Normally since it supports multiple pushing it should also support multiple popping. With double popping the kernel datapath forward the packet to the ovs-vswitchd but this latter could not handle it properly (may be because of a bug).</div><div><br></div><div><br></div><div>Best regards,</div><div>Adele<br class="gmail-Apple-interchange-newline"><br><table cellpadding="0" class="gmail-cf gmail-gJ" style="border-collapse:collapse;margin-top:0px;width:auto;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:14px;letter-spacing:0.2px;display:block;color:rgb(119,119,119)"></table></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">Le jeu. 14 nov. 2019 à 04:14, Ahmed Medhat &lt;<a href="mailto:a.medhat.h@gmail.com">a.medhat.h@gmail.com</a>&gt; a écrit :<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hi Adel,<br>
<br>
I expect you are using the kernel datapath type which has basic<br>
support to mpls. You can use the userspace datapath typeif you need<br>
multiple mpls pushing/popping.<br>
<br>
ovs-vsctl add-br br0 -- set bridge &lt;bridge name&gt; datapath_type=netdev<br>
<br>
Best regards,<br>
Ahmed<br>
<br>
On Wed, Nov 13, 2019 at 6:46 PM Adel Belkhiri &lt;<a href="mailto:adel.belkhiri@gmail.com" target="_blank">adel.belkhiri@gmail.com</a>&gt; wrote:<br>
&gt;<br>
&gt; Hi All,<br>
&gt;<br>
&gt; I have an issue with popping multiple mpls headers with ovs. The pushing via push_mpls works fine but the popping via pop_mpls triggers a warning in the log and the operation is not accomplished.<br>
&gt;<br>
&gt; |WARN|system@ovs-system: execute pop_mpls(eth_type=0x8847),pop_mpls (eth_type=0x800),2 failed (Invalid argument) on packet mpls,vlan_tci=0x0000, dl_src=ba:bd:0d:9d:c5:ee,dl_dst=ea:f5:19:d4:e2:4f,mpls_label=15,mpls_tc=0,mpls_ttl=64,mpls_bos=0,mpls_lse1=45376 with metadata skb_priority(0),skb_mark(0), in_port(1) mtu 0<br>
&gt;<br>
&gt; I&#39;m using the last version of OVS : 2.12.90. My OpenFlow rules are the following :<br>
&gt;<br>
&gt; sudo ovs-ofctl add-flow $S1 &quot;table=0,in_port=$S1_ETH2,eth_type=0x8847,mpls_bos=1,actions=pop_mpls:0x8847,resubmit(,0)&quot;<br>
&gt; sudo ovs-ofctl add-flow $S1 &quot;table=0,in_port=$S1_ETH2,eth_type=0x8847,mpls_bos=0,actions=pop_mpls:0x800,output:$S1_ETH1&quot;<br>
&gt;<br>
&gt;<br>
&gt; Any hint how to solve this?<br>
&gt;<br>
&gt; Many thanks.<br>
&gt; Adele.<br>
&gt; _______________________________________________<br>
&gt; discuss mailing list<br>
&gt; <a href="mailto:discuss@openvswitch.org" target="_blank">discuss@openvswitch.org</a><br>
&gt; <a href="https://mail.openvswitch.org/mailman/listinfo/ovs-discuss" rel="noreferrer" target="_blank">https://mail.openvswitch.org/mailman/listinfo/ovs-discuss</a><br>
</blockquote></div>