On 13 April 2017 at 08:58, f 62 <[email protected]> wrote: > Hi , > > OVS is dropping packet when packet is output to multiple VXLAN tunnel. I > see following error: > > 2017-04-13T15:49:30.112Z|03577|dpif(handler15)|WARN|system@ovs-system: > failed to put[create] (Invalid argument) > ufid:7e404481-148c-4cee-9495-237bdc62383d > recirc_id(0),dp_hash(0/0),skb_priority(0/0),in_port(10),skb_mark(0/0),ct_state(0/0),ct_zone(0/0),ct_mark(0/0),ct_label(0/0),eth(src=fa:16:3e:c0:5a:48,dst=fa:16:3e:4c:54:07),eth_type(0x0800),ipv4(src=51.0.0.8,dst=51.0.0.5,proto=6,tos=0/0xfc,ttl=64,frag=no),tcp(src=41564,dst=80),tcp_flags(0/0), > actions:set(eth(src=fa:16:3e:c0:5a:48,dst=fa:16:3e:db:81:44)),set(tunnel(tun_id=0x2,src=192.168.2.91,dst=192.168.2.177,ttl=64,flags(df|key))),push_mpls(label=511,tc=0,ttl=255,bos=1,eth_type=0x8847),8,set(tunnel(tun_id=0x2,src=192.168.2.91,dst=192.168.2.141,ttl=64,flags(df|key))),8,pop_mpls(eth_type=0x800),recirc(0x7) > 2017-04-13T15:49:30.112Z|03578|dpif(handler15)|WARN|system@ovs-system: > execute > set(eth(src=fa:16:3e:c0:5a:48,dst=fa:16:3e:db:81:44)),set(tunnel(tun_id=0x2,src=192.168.2.91,dst=192.168.2.177,ttl=64,flags(df|key))),push_mpls(label=511,tc=0,ttl=255,bos=1,eth_type=0x8847),8,set(tunnel(tun_id=0x2,src=192.168.2.91,dst=192.168.2.141,ttl=64,flags(df|key))),8,pop_mpls(eth_type=0x800),recirc(0x7) > failed (Invalid argument) on packet
Hmm, once the push_mpls() happens, you should be able to output fine but I'm not sure if the subsequent set(tunnel(...)) would know how to change the tunnel attributes since it's now an MPLS packet. Maybe the userspace translation code needs to be taught to be a bit smarter to generate better actions for this case, eg something more like: set(eth(...)),set(tunnel(...)),push_mpls(...),output(...),pop_mpls(...),set(tunnel(...)),push_mpls(...),output(...),... _______________________________________________ discuss mailing list [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-discuss
