> -----Original Message-----
> From: Yang, Qiming <[email protected]>
> Sent: Monday, May 16, 2022 10:03 AM
> To: [email protected]; Zhang, Qi Z <[email protected]>
> Cc: Yang, Qiming <[email protected]>; [email protected]
> Subject: [PATCH] net/iavf: fix mask not allowed issue
>
How about "fix invalid flow mask handling"
> Only zero-mask and full-mask for IPv4/UDP/TCP/SCTP addr/port are supported
> in current code. Otherwise will return failure when parse pattern.
>
> Fixes: d5eb3e600d9e ("net/iavf: support flow director basic rule")
> Cc: [email protected]
>
> Signed-off-by: Qiming Yang <[email protected]>
> ---
> drivers/net/iavf/iavf_fdir.c | 150 +++++++++++++++++++++--------------
> 1 file changed, 89 insertions(+), 61 deletions(-)
>
> diff --git a/drivers/net/iavf/iavf_fdir.c b/drivers/net/iavf/iavf_fdir.c index
> b63aaca91d..356bca8d41 100644
> --- a/drivers/net/iavf/iavf_fdir.c
> +++ b/drivers/net/iavf/iavf_fdir.c
> @@ -802,6 +802,14 @@ iavf_fdir_parse_pattern(__rte_unused struct
> iavf_adapter *ad,
> return -rte_errno;
> }
>
> + /* Mask for IPv4 src/dst addrs not supported */
> + if (ipv4_mask->hdr.src_addr &&
> + ipv4_mask->hdr.src_addr != UINT32_MAX)
> + return -rte_errno;
> + if (ipv4_mask->hdr.dst_addr &&
> + ipv4_mask->hdr.dst_addr != UINT32_MAX)
> + return -rte_errno;
Do we need to call rte_flow_error_set before return -rte_errno?