dpif-netlink: ovs flow put failed (File exist) to datapath
BigCousin-z opened this issue · 2 comments
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.
Hi, @zhangtongjian2020 . See my reply on the list: https://mail.openvswitch.org/pipermail/ovs-discuss/2024-January/052882.html
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