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