On 10/18/20 9:10 AM, Eli Britstein wrote:
> 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 <[email protected]>
> ---
Thanks, Eli.
Harsha, Emma, could you, please, review/test this version?
Best regards, Ilya Maximets.
> 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;
> }
>
_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev