Bluefield dpu 3 ovs offload failed with some matches of ufid 66279714-8e7d-44a4-b0af-4de1c1744599 are not supported: ct_state=+new-est-rel-rpl+trk

Hi, experts, I want to confirm a problem about ovs hardware offloading. Is it because I configured it incorrectly?

The component currently used is doca-2.9.3LTS, and the hardware platform is bluefiled-dpu3.

Some information is as follows:


$ ovs-vsctl list open-vswitch
_uuid               : 2d0691f8-e869-4625-abfb-5b64202c0970
bridges             : [04a8067a-a06b-4f5d-bdeb-4038a5f4d41e, 51c01dd8-782b-473f-9e83-861cfb188327]
cur_cfg             : 704
datapath_types      : [netdev, system]
datapaths           : {netdev=b0bc132b-5ca9-4de4-a130-6becd84bcfdb, system=0ed7f821-ea89-4f06-84d4-404e5d7187ef}
db_version          : "8.5.1"
doca_initialized    : true
doca_version        : "2.9.3008"
dpdk_initialized    : true
dpdk_version        : "MLNX_DPDK 22.11.2410.4.2"
external_ids        : {hostname=host-172-31-16-58, ovn-bridge-datapath-type=netdev, ovn-encap-ip="172.31.16.58", ovn-encap-type=geneve, ovn-openflow-probe-interval="180", ovn-remote="tcp:[172.31.16.19]:16642,tcp:[172.31.16.20]:16642,tcp:[172.31.16.21]:16642", ovn-remote-probe-interval="10000", rundir="/var/run/openvswitch", system-id="23f64e0e-1fa3-4c24-b4a1-9158b24ba406"}
iface_types         : [bareudp, dpdk, dpdkvdpa, dpdkvhostuser, dpdkvhostuserclient, erspan, geneve, gre, gtpu, internal, ip6erspan, ip6gre, lisp, patch, srv6, stt, system, tap, vxlan]
manager_options     : []
next_cfg            : 704
other_config        : {doca-init="true", dpdk-init="true", dpdk-lcore-mask="0xf000", dpdk-offload-trace="true", dpdk-socket-limit="4096", dpdk-socket-mem="4096", flow-restore-wait="false", hw-offload="true", max-idle="30000", ovn-chassis-idx-23f64e0e-1fa3-4c24-b4a1-9158b24ba406="", pmd-cpu-mask="0xf000", pmd-perf-metrics="true", tc-policy=none, vlan-limit="0"}
ovs_version         : "2.9.3-0016-25.06-based-3.3.3"
ssl                 : []
statistics          : {}
system_type         : ubuntu
system_version      : "22.04"

$ ovs-appctl dpctl/dump-flows -m 

...
flow-dump from pmd on cpu core: 12
ufid:cb471bab-b48d-4893-b985-1f32595ae49d, recirc_id(0),dp_hash(0/0),skb_priority(0/0),tunnel(tun_id=0x9,src=172.31.17.3,dst=172.31.16.58,ttl=60/0,tp_src=61109/0,tp_dst=6081/0,geneve({class=0x102,type=0x80,len=4,0xb700b4/0x7fffffff}),eth_src=00:31:00:16:01:29/00:00:00:00:00:00,eth_dst=5c:25:73:fb:3d:28/00:00:00:00:00:00,type=geneve/none,flags(-df+key)),in_port(genev_sys_6081),skb_mark(0/0),ct_state(0/0),ct_zone(0/0),ct_mark(0/0),ct_label(0/0),packet_type(ns=0,id=0),eth(src=c2:a2:2a:a8:8a:80,dst=5c:25:73:fb:3d:18/ff:ff:00:00:00:00),eth_type(0x0800),ipv4(src=10.119.0.22/0.0.0.0,dst=10.119.10.124/0.0.0.0,proto=6,tos=0/0,ttl=64/0,frag=no),tcp(src=54321/0,dst=12345/0),tcp_flags(0/0), packets:99, bytes:18018, used:21.286s, flags:S, offloaded:yes, dp:doca, actions:ct(zone=3,nat),recirc(0x33), dp-extra-info:miniflow_bits(11,1)
ufid:7aa43bee-34b2-44af-b043-4b050d64831f, recirc_id(0x33),dp_hash(0/0),skb_priority(0/0),tunnel(tun_id=0x9,src=172.31.17.3,dst=172.31.16.58,ttl=60/0,tp_src=61109/0,tp_dst=6081/0,geneve({class=0x102/0,type=0x80/0,len=4/0,0xb700b4/0}),eth_src=00:31:00:16:01:29/00:00:00:00:00:00,eth_dst=5c:25:73:fb:3d:28/00:00:00:00:00:00,type=geneve/none,flags(-df+key)),in_port(genev_sys_6081),skb_mark(0/0),ct_state(0x21/0x2f),ct_zone(0x3/0),ct_mark(0/0x1),ct_label(0/0),ct_tuple4(src=10.119.0.22/0.0.0.0,dst=10.119.10.124/0.0.0.0,proto=6/0,tp_src=54321/0,tp_dst=12345/0),packet_type(ns=0,id=0),eth(src=c2:a2:2a:a8:8a:80,dst=5c:25:73:fb:3d:18/ff:ff:00:00:00:00),eth_type(0x0800),ipv4(src=10.119.0.22/0.0.0.0,dst=10.119.10.124/0.0.0.0,proto=6/0,tos=0/0,ttl=64/0,frag=no),tcp(src=54321/0,dst=12345/0),tcp_flags(0/0), packets:99, bytes:18018, used:21.287s, flags:S, dp:ovs, actions:ct(commit,zone=3,mark=0/0x1,nat(src)),pf0hpf, dp-extra-info:miniflow_bits(10,1)
...

As shown above, when I tried to uninstall the flow table, I found some problems. The flow with recirc_id (0x33) could not be completely uninstalled. Then I checked the ovs operation log and found the following error:


2025-09-03T06:23:01.937Z|00247|dpif_netdev_lookup(pmd-c12/id:11)|DBG|Subtable lookup function 'generic' with units (10,1), priority 1
2025-09-03T06:23:01.937Z|00248|dpif_netdev(pmd-c12/id:11)|DBG|Creating 2. subtable 0xffff64023c10 for in_port 4
2025-09-03T06:23:01.938Z|10564|poll_loop|DBG|wakeup due to [POLLIN] on fd 2123 (character device /dev/net/tun) at ../lib/netdev-linux.c:1594 (0% CPU usage)
2025-09-03T06:23:01.938Z|00249|dpif_netdev(pmd-c12/id:11)|DBG|flow_add: ufid:7aa43bee-34b2-44af-b043-4b050d64831f mega_ufid:66279714-8e7d-44a4-b0af-4de1c1744599 recirc_id=0x33,ct_state=new|trk,ct_zone=3,ct_nw_src=10.119.0.22,ct_nw_dst=10.119.10.124,ct_nw_proto=6,ct_tp_src=54321,ct_tp_dst=12345,eth,tcp,tun_id=0x9,tun_src=172.31.17.3,tun_dst=172.31.16.58,tun_ipv6_src=::,tun_ipv6_dst=::,tun_gbp_id=0,tun_gbp_flags=0,tun_tos=0,tun_ttl=60,tun_erspan_ver=0,gtpu_flags=0,gtpu_msgtype=0,tun_flags=csum|key,in_port=4,vlan_tci=0x0000,dl_src=c2:a2:2a:a8:8a:80,dl_dst=5c:25:73:fb:3d:18,nw_src=10.119.0.22,nw_dst=10.119.10.124,nw_tos=0,nw_ecn=0,nw_ttl=64,nw_frag=no,tp_src=54321,tp_dst=12345,tcp_flags=syn, actions:ct(commit,zone=3,mark=0/0x1,nat(src)),5
2025-09-03T06:23:01.938Z|00250|dpif_netdev(pmd-c12/id:11)|DBG|Transient flow: recirc_id(0x33),tunnel(tun_id=0x9,src=172.31.17.3,dst=172.31.16.58,geneve({}),flags(-df+key)),in_port(4),ct_state(+new-est-rel-rpl+trk),ct_mark(0/0x1),packet_type(ns=0,id=0),eth(src=c2:a2:2a:a8:8a:80,dst=5c:25:73:fb:3d:18/ff:ff:00:00:00:00),eth_type(0x0800),ipv4(frag=no), actions:ct(commit,zone=3,mark=0/0x1,nat(src)),5

---

2025-09-03T06:23:02.034Z|00854|netdev_offload_dpdk(hw_offload4)|DBG|genev_sys_6081/bond0: installed flow 0x225d5aeec0/0x225d19fb80 by ufid 2cfa16f0-bac0-4bfa-9706-fa5ccab6fc23
2025-09-03T06:23:02.034Z|00855|dpif_netdev(hw_offload4)|DBG|succeed to add netdev flow 2cfa16f0-bac0-4bfa-9706-fa5ccab6fc23
2025-09-03T06:23:02.034Z|00856|dpif_netdev(hw_offload4)|DBG|Mark id for ufid 66279714-8e7d-44a4-b0af-4de1c1744599 was not found
2025-09-03T06:23:02.034Z|00857|dpif_netdev(hw_offload4)|DBG|Associated dp_netdev flow 0xffff6406abf0 with mark 178 mega_ufid 66279714-8e7d-44a4-b0af-4de1c1744599
2025-09-03T06:23:02.035Z|00858|id_refmap(hw_offload4)|DBG|tunnel: 0xffff70768500 ref, refcnt=3 id=1, '172.31.17.3 -> 172.31.16.58, tun_id=9'
2025-09-03T06:23:02.035Z|00859|refmap(hw_offload4)|DBG|table-id: 0xffff7038f410 ref, refcnt=2, '(null), vport=4, recirc_id=51'
2025-09-03T06:23:02.035Z|00860|netdev_offload_dpdk(hw_offload4)|DBG|genev_sys_6081: some matches of ufid 66279714-8e7d-44a4-b0af-4de1c1744599 are not supported: ct_state=+new-est-rel-rpl+trk
2025-09-03T06:23:02.035Z|00861|refmap(hw_offload4)|DBG|table-id: 0xffff7038f410 deref, refcnt=2
2025-09-03T06:23:02.035Z|00862|netdev_offload_ext(hw_offload4)|DBG|mark_delayed_release: mark=178, timestamp=227862228
2025-09-03T06:23:02.035Z|00863|dpif_netdev(hw_offload4)|DBG|Freed flow mark 178 mega_ufid 66279714-8e7d-44a4-b0af-4de1c1744599
2025-09-03T06:23:02.035Z|00864|dpif_netdev(hw_offload4)|DBG|failed to add netdev flow 66279714-8e7d-44a4-b0af-4de1c1744599

In other words, the uninstallation of the mega_ufid rule failed, and the message “are not supported: ct_state=+new-est-rel-rpl+trk” was displayed. I would like to ask if this is not supported.