<div dir="ltr"><div class="gmail_default" style="font-family:monospace,monospace">Ben,</div><div class="gmail_default" style="font-family:monospace,monospace">  Thank you for your response.  I did some more digging and simplified what I am doing.  I can get it working fine with ovs 2.6.0 but with 2.11.0 I still get the error</div><div class="gmail_default" style="font-family:monospace,monospace"> &quot;<span style="font-family:Arial,Helvetica,sans-serif">2019-03-21T12:00:50.563Z|</span><span style="font-family:Arial,Helvetica,sans-serif">00076|odp_util(handler49)|ERR|</span><span style="font-family:Arial,Helvetica,sans-serif">invalid Ethertype 0 in flow key</span>&quot;  </div><div class="gmail_default" style="font-family:monospace,monospace">now I am getting it when I try to send a packet to the controller with the following rule </div><div class="gmail_default" style="font-family:monospace,monospace"><span style="font-family:Arial,Helvetica,sans-serif">&quot;cookie=0xb90000b3443b96, duration=891.881s, table=0, n_packets=2073, n_bytes=245802, priority=1333,in_port=input actions=CONTROLLER:65535&quot;</span><br></div><div class="gmail_default" style="">If I write a rule to just pass all of the traffic to another port it works fine.  I thought maybe it has something to do with a miss match between the kernel module and the ovs version I am using.  I am using debian, &quot;SMP Debian 4.9.144-3.1&quot;, and I can not get the kernel module to compile I get &quot;error: too few arguments to function &#39;inet_fraq_find&#39; ....</div><div class="gmail_default" style="">Any ideas on what to try next?</div><div class="gmail_default" style=""><br></div><div class="gmail_default" style="">Thank you,</div><div class="gmail_default" style="">Tom</div><div class="gmail_default" style="font-family:monospace,monospace"><br></div><div class="gmail_default" style="font-family:monospace,monospace"><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Mar 15, 2019 at 7:28 PM Ben Pfaff &lt;<a href="mailto:blp@ovn.org" target="_blank">blp@ovn.org</a>&gt; wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">You should not need to match on both labels to pop a single label.<br>
<br>
If you use ofproto/trace for this packet (see ovs-vswitchd(8)), what<br>
does it say?<br>
<br>
On Tue, Mar 12, 2019 at 08:34:38AM -0400, Thomas Crowley wrote:<br>
&gt; I am attempting to pop the outer MPLS label on a packet that has two MPLS<br>
&gt; labels and send the result to a patch port that then sends the packet back<br>
&gt; to the same bridge.  I am using a combination of ONOS and scapy(see bottom<br>
&gt; of email for script) to do my test.  I do not get the packet back to my<br>
&gt; bridge via the patch port.  I do get the following error:<br>
&gt; <br>
&gt; 2019-03-12T12:00:51.460Z|00019|odp_util(handler7)|ERR|invalid Ethertype 0<br>
&gt; in flow key<br>
&gt; <br>
&gt; when I dump the flow OVS tells me that it is:<br>
&gt; <br>
&gt; cookie=0xba00008259b570, duration=30.601s, table=0, n_packets=27,<br>
&gt; n_bytes=1350, priority=60001,mpls,in_port=input,mpls_label=164,mpls_bos=0<br>
&gt; actions=pop_mpls:0x8847,output:&quot;4PatchIn&quot;<br>
&gt; <br>
&gt; If I run the same test but with a packet with only a single MPLS label it<br>
&gt; works fine.  Do I have to match both labels in order to pop a single label?<br>
&gt; <br>
&gt; Thank you,<br>
&gt; Tom<br>
&gt; <br>
&gt; Scapy script:<br>
&gt; #!/usr/bin/env python<br>
&gt; <br>
&gt; import sys<br>
&gt; from scapy.all import *<br>
&gt; <br>
&gt; load_contrib(&quot;mpls&quot;)<br>
&gt; mpls_eth = Ether(src=&quot;ca:09:11:11:11:1b&quot;, dst=&quot;ca:01:07:fc:00:1c&quot;,<br>
&gt; type=0x8847)<br>
&gt; mpls_lables=MPLS(label=164, s=0, ttl=255)/MPLS(label=182, s=1, ttl=255)<br>
&gt; mpls_ip = IP(src=&#39;10.0.255.2&#39;, dst=&#39;10.0.255.4&#39;)<br>
&gt; mpls_icmp = ICMP(type=&quot;echo-request&quot;)<br>
&gt; mpls_raw = Raw(load=&quot;Foooooooooooooooook!&quot;)<br>
&gt; mpls_frame=mpls_eth/mpls_lables/mpls_ip/ICMP()<br>
&gt; #mpls_icmp/mpls_raw<br>
&gt; <br>
&gt; #&gt;&gt;&gt; Ether(str(mpls_frame))<br>
&gt; #&lt;Ether dst=ca:01:07:fc:00:1c src=11:11:11:11:11:11 type=0x8847 |&lt;MPLS<br>
&gt; label=16 cos=0 s=0 ttl=255 |&lt;MPLS label=18 cos=0 s=0 ttl=255 |&lt;MPLS<br>
&gt; label=18 cos=0 s=0 ttl=255 |&lt;MPLS label=16 c<br>
&gt; os=0 s=1 ttl=255 |&lt;IP version=4 ihl=5 tos=0x0 len=48 id=1 flags= frag=0<br>
&gt; ttl=64 proto=icmp chksum=0x68c7 src=10.0.255.2 dst=10.0.255.2 options=[]<br>
&gt; |&lt;ICMP type=echo-request code=0 chksum<br>
&gt; =0xcaf3 id=0x0 seq=0x0 |&lt;Raw load=&#39;Foooooooooooooooook!&#39; |&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt; <br>
&gt; sendp(mpls_frame, iface=&quot;input&quot;)<br>
&gt; <br>
&gt; sendp(mpls_frame, iface=&quot;input&quot;, loop=1, inter=1.1)<br>
<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>
<br>
</blockquote></div>