openvswitch / ovs-issues

Issue tracker repo for Open vSwitch
10 stars 3 forks source link

dpif-netlink: ovs flow put failed (File exist) to datapath #317

Open BigCousin-z opened 8 months ago

BigCousin-z commented 8 months ago

Hi:

ovs flows fail to create, with file exists error, Have you met this one?

The user state flow table cannot be correctly distributed to the datapath, resulting in the rule datapath flow table not matching correctly. Upcall is required.

OVS LOG:

2024-01-12T07:12:51.657Z|00080|dpif(handler51)|DBG|system at ovs-system: failed to put[create] (File exists) ufid:5df6220d-e2d2-48f8-a6a4-5c47ccc869c4 recirc_id(0),dp_hash(0/0),skb_priority(0/0),in_port(3),skb_mark(0/0),ct_stat e(0/0x3f),ct_zone(0/0),ct_mark(0/0),ct_label(0/0x1),eth(src=c4:e2:87:01:84:0 0,dst=fa:16:3e:25:b1:3b),eth_type(0x8100),vlan(vid=80,pcp=0),encap(eth_type( 0x0800),

ipv4(src=172.20.226.17/255.248.0.0,dst=172.30.48.48,proto=6,tos=0/0,ttl=63,f rag=no),tcp(src=5201/0,dst=57674/0),tcp_flags(0/0)), actions:ct_clear,ct_clear,set(eth(src=fa:16:3e:8f:73:57,dst=fa:16:3e:59:e8:4 9)),set(ipv4(dst=10.147.7.12,ttl=62)),pop_vlan,ct(zone=1),recirc(0x13b6c8)

Datapath Flow :

recirc_id(0),in_port(3),ct_state(-new-est-rel-rpl-inv-trk),ct_label(0/0x1),e th(src=5c:e7:47:05:34:00,dst=fa:16:3e:25:b1:3b),eth_type(0x8100),vlan(vid=80 ,pcp=0),encap(eth_type(0x0800),

ipv4(src=172.16.0.0/255.252.0.0,dst=172.30.48.48,proto=6,ttl=63,frag=no)), packets:2355652448, bytes:11500879337271, used:0.220s, flags:SFPR., actions:ct_clear,ct_clear,set(eth(src=fa:16:3e:8f:73:57,dst=fa:16:3e:59:e8:4 9)),set(ipv4(dst=10.147.7.12,ttl=62)),pop_vlan,ct(zone=1),recirc(0x13b6c8)

ovs version: 2.15.2

send traffic : sip: 172.20.226.17, dip: 172.30.48.48.

igsilya commented 8 months ago

Hi, @zhangtongjian2020 . See my reply on the list: https://mail.openvswitch.org/pipermail/ovs-discuss/2024-January/052882.html

BigCousin-z commented 8 months ago

Hi, @zhangtongjian2020 . See my reply on the list: https://mail.openvswitch.org/pipermail/ovs-discuss/2024-January/052882.html

Hi igsilya, I have merged the path fixed by this kernel and tested my bug. The steps are as follows, but the problem still persists. Adding a flow table failed. step 1 : ovs-appctl dpctl/add-dp system@test step 2: ovs-appctl dpctl/add-flow system@test "in_port(1),eth_type(0x0800),ipv4(src=172.16.0.0/255.252,0,0,dst=172.30.48.48,frag=no)" 2 step 3: ovs-appctl dpctl/add-flow system@test "in_port(1),eth_type(0x0800),ipv4(src=172.16.0.0/255.248,0,0,dst=172.30.48.48,frag=no)" 2 out err info : ovs-vswitchd: updating flow table (File exists) ovs-appctl: ovs-vswitchd:server returned an error