<html>
  <head>

    <meta http-equiv="content-type" content="text/html; charset=utf-8">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <p>Hello,<br>
      <br>
      I have a strange problem with VXLAN encapsulation of MPLS flows.<br>
      <br>
      VXLAN encapsulation is working fine for MPLS flows if the flows
      are produced at the same switch as the vxlan port, but it is not
      working if the MPLS flows arrive from neighboring switch.<br>
      The encapsulation works fine for IP flows in every case through.<br>
      <br>
      For example, <br>
    </p>
    <p>Adding a vxlan port on the firsst switch through command-<br>
      ovs-vsctl add-port <b>s1</b> vxlan1 -- set interface vxlan1
      type=vxlan options:remote_ip=192.168.1.115 options:key=flow <b>ofport_request=15</b></p>
    <p>And directing the incoming mpls flow to this port through
      openflow-<br>
      <i><b>F1:</b></i> ovs-ofctl add-flow -OOpenFlow13 <b>s1</b>
      eth_type=0x8847,mpls_label=11,actions=<b>output:15</b></p>
    <p>MPLS flow routed from a neighboring switch produced from IP
      through openflow-<br>
      <i><b>F2: </b></i>ovs-ofctl add-flow -OOpenFlow13 <b>s2</b>
      eth_type=0x800,nw_dst=20.0.0.11,actions=<b>push_mpls=0x8847,set_field:11-\&gt;mpls_label</b>,output:{to
      switch s1}</p>
    <p>The above configuration is producing following 2 warning messages
      at the logs for every flow matching at F1:<br>
    </p>
    <p>dpif(handler897)|WARN|system@ovs-system: failed to put[create]
      (Invalid argument) ufid:f313c154-53b0-45da-9925-84ce6a940b19
recirc_id(0),dp_hash(0/0),skb_priority(0/0),in_port(3),skb_mark(0/0),ct_state(0/0),ct_zone(0/0),ct_mark(0/0),ct_label(0/0),eth(src=66:b3:05:15:8e:8e/00:00:00:00:00:00,dst=0a:5a:ea:03:c1:4b/00:00:00:00:00:00),eth_type(0x8847),mpls(label=11/0xfffff,tc=0/0,ttl=64/0x0,bos=1/0),
actions:set(tunnel(tun_id=0x0,dst=192.168.1.119,ttl=64,flags(df|key))),31</p>
    <p>dpif(handler897)|WARN|system@ovs-system: execute
      set(tunnel(tun_id=0x0,dst=192.168.1.119,ttl=64,flags(df|key))),31
      failed (Invalid argument) on packet
mpls,vlan_tci=0x0000,dl_src=66:b3:05:15:8e:8e,dl_dst=0a:5a:ea:03:c1:4b,mpls_label=11,mpls_tc=0,mpls_ttl=64,mpls_bos=1<br>
       mtu 0<br>
    </p>
    <p>I have been struggling through this for quite a while now, any
      help on interpretation of error message or any possible cause of
      error would be really helpful.<br>
      I am using Ubuntu16, linux kernel 4.4.21 and ovs 2.5.2<br>
      I have also tried ovs 2.7 but vxlan port creation dows not work on
      it giving error "address family not supported" while creating
      port.<br>
      <br>
      Thanks and Regards,<br>
      Sidhant Hasija<br>
    </p>
    <p><br>
    </p>
  </body>
</html>