On 7 Oct 2026, at 17:59, Eli Britstein via dev wrote:

> Introduce basic doca offloads (forward and drop).

Hi Eli,

My plan is to review this series, but I'll be on PTO for a week
starting this Friday.

I did a quick test to check whether the DOCA test framework was
working. However, some changes to the flow dpctl command are missing.
After applying the diff below, I was able to run the full test suite
without any issues.

Cheers,

Eelco

---- <DIFF> ----

diff --git a/lib/dpctl.c b/lib/dpctl.c
index d6ff348e5..b757f4d44 100644
--- a/lib/dpctl.c
+++ b/lib/dpctl.c
@@ -903,6 +903,7 @@ struct dump_types {
     bool ovs;
     bool tc;
     bool dpdk;
+    bool doca;
     bool offloaded;
     bool non_offloaded;
     bool partially_offloaded;
@@ -914,6 +915,7 @@ enable_all_dump_types(struct dump_types *dump_types)
     dump_types->ovs = true;
     dump_types->tc = true;
     dump_types->dpdk = true;
+    dump_types->doca = true;
     dump_types->offloaded = true;
     dump_types->non_offloaded = true;
     dump_types->partially_offloaded = true;
@@ -941,6 +943,8 @@ populate_dump_types(char *types_list, struct dump_types 
*dump_types,
             dump_types->ovs = true;
         } else if (!strcmp(current_type, "tc")) {
             dump_types->tc = true;
+        } else if (!strcmp(current_type, "doca")) {
+            dump_types->doca = true;
         } else if (!strcmp(current_type, "dpdk")) {
             dump_types->dpdk = true;
         } else if (!strcmp(current_type, "offloaded")) {
@@ -967,6 +971,7 @@ determine_dpif_flow_dump_types(struct dump_types 
*dump_types,
     dpif_dump_types->ovs_flows = dump_types->ovs || dump_types->non_offloaded;
     dpif_dump_types->offloaded_flows = dump_types->tc || dump_types->offloaded
                                        || dump_types->non_offloaded
+                                       || dump_types->doca
                                        || dump_types->dpdk
                                        || dump_types->partially_offloaded;
 }
@@ -981,6 +986,9 @@ flow_passes_type_filter(const struct dpif_flow *f,
     if (dump_types->tc && !strcmp(f->attrs.dp_layer, "tc")) {
         return true;
     }
+    if (dump_types->doca && !strcmp(f->attrs.dp_layer, "doca")) {
+        return true;
+    }
     if (dump_types->dpdk && !strcmp(f->attrs.dp_layer, "dpdk")) {
         return true;
     }
diff --git a/tests/system-doca-offloads.at b/tests/system-doca-offloads.at
index 9de982e59..47a610f06 100644
--- a/tests/system-doca-offloads.at
+++ b/tests/system-doca-offloads.at
@@ -29,10 +29,8 @@ NS_CHECK_EXEC([at_ns0], [ping -q -c 3 -i 0.3 -W 2 10.1.1.2 \
 3 packets transmitted, 3 received, 0% packet loss, time 0ms
 ])

-# Once actual hardware offload is supported, type should be changed from 'ovs'
-# to 'doca,offloaded'.
 OVS_WAIT_UNTIL_EQUAL(
-  [ovs-appctl dpctl/dump-flows --names type=ovs \
+  [ovs-appctl dpctl/dump-flows --names type=doca,offloaded \
    | DUMP_DP_IP_CLEAN_SORTED], [dnl
 in_port(ovs-p0),eth(macs),eth_type(0x0800),ipv4(frag=no), packets:2, 
bytes:196, used:0.0s, actions:ovs-p1
 in_port(ovs-p1),eth(macs),eth_type(0x0800),ipv4(frag=no), packets:2, 
bytes:196, used:0.0s, actions:ovs-p0])
@@ -64,10 +62,8 @@ for NS in $(seq 0 5); do
     done
 done

-# Once actual hardware offload is supported, type should be changed from 'ovs'
-# to 'doca,offloaded'.
 OVS_WAIT_UNTIL_EQUAL(
-  [ovs-appctl dpctl/dump-flows --names type=ovs \
+  [ovs-appctl dpctl/dump-flows --names type=doca,offloaded \
    | DUMP_DP_IP_CLEAN_SORTED], [dnl
 in_port(ovs-p0),eth(macs),eth_type(0x0800),ipv4(frag=no), packets:2, 
bytes:196, used:0.0s, actions:ovs-p1
 in_port(ovs-p0),eth(macs),eth_type(0x0800),ipv4(frag=no), packets:2, 
bytes:196, used:0.0s, actions:ovs-p2
_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to