[ovs-dev] [PATCH branch-2.13] netdev-offload-dpdk: Support vxlan encap offload with load actions
Eli Britstein
elibr at nvidia.com
Sun Oct 18 07:10:51 UTC 2020
Struct match has the tunnel values/masks in
match->flow.tunnel/match->wc.masks.tunnel.
Load actions such as load:0xa566c10->NXM_NX_TUN_IPV4_DST[],
load:0xbba->NXM_NX_TUN_ID[] are utilizing the tunnel masks fields, but
those should not be used for matching.
Offloading fails if masks is not clear. Fix it by checking if tunnel is
present.
Signed-off-by: Eli Britstein <elibr at nvidia.com>
---
lib/netdev-offload-dpdk.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/lib/netdev-offload-dpdk.c b/lib/netdev-offload-dpdk.c
index 4538baf5e..c68d539ea 100644
--- a/lib/netdev-offload-dpdk.c
+++ b/lib/netdev-offload-dpdk.c
@@ -1092,7 +1092,8 @@ netdev_offload_dpdk_validate_flow(const struct match *match)
/* Create a wc-zeroed version of flow. */
match_init(&match_zero_wc, &match->flow, &match->wc);
- if (!is_all_zeros(&match_zero_wc.flow.tunnel,
+ if (flow_tnl_dst_is_set(&match->flow.tunnel) &&
+ !is_all_zeros(&match_zero_wc.flow.tunnel,
sizeof match_zero_wc.flow.tunnel)) {
goto err;
}
--
2.26.2.1730.g385c171
More information about the dev
mailing list