> -----Original Message-----
> From: Yang, Qiming <qiming.y...@intel.com>
> Sent: Monday, May 16, 2022 10:03 AM
> To: dev@dpdk.org; Zhang, Qi Z <qi.z.zh...@intel.com>
> Cc: Yang, Qiming <qiming.y...@intel.com>; sta...@dpdk.org
> 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: sta...@dpdk.org
>
> Signed-off-by: Qiming Yang <qiming.y...@intel.com>
> ---
> 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?