net/bnxt: fix ulp parser to ignore segment offset
Checks
Commit Message
From: Shuanglin Wang <shuanglin.wang@broadcom.com>
Fix ulp parser to ignore segment_offset of IPV4 header.
Currently the IPV4 handler is assuming default setting,
which causes the flow table to be updated incorrectly.
Fixes: 741172be52de ("net/bnxt: refactor flow parser in ULP")
Cc: stable@dpdk.org
Signed-off-by: Shuanglin Wang <shuanglin.wang@broadcom.com>
Reviewed-by: Randy Schacher <stuart.schacher@broadcom.com>
Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
---
drivers/net/bnxt/tf_ulp/ulp_rte_parser.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Comments
On Mon, Mar 14, 2022 at 2:23 PM Ajit Khaparde
<ajit.khaparde@broadcom.com> wrote:
>
> From: Shuanglin Wang <shuanglin.wang@broadcom.com>
>
> Fix ulp parser to ignore segment_offset of IPV4 header.
> Currently the IPV4 handler is assuming default setting,
> which causes the flow table to be updated incorrectly.
>
> Fixes: 741172be52de ("net/bnxt: refactor flow parser in ULP")
> Cc: stable@dpdk.org
>
> Signed-off-by: Shuanglin Wang <shuanglin.wang@broadcom.com>
> Reviewed-by: Randy Schacher <stuart.schacher@broadcom.com>
> Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
Patch applied dpdk-next-net-brcm.
> ---
> drivers/net/bnxt/tf_ulp/ulp_rte_parser.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/net/bnxt/tf_ulp/ulp_rte_parser.c b/drivers/net/bnxt/tf_ulp/ulp_rte_parser.c
> index f4274dd634..9edf3e8799 100644
> --- a/drivers/net/bnxt/tf_ulp/ulp_rte_parser.c
> +++ b/drivers/net/bnxt/tf_ulp/ulp_rte_parser.c
> @@ -1096,7 +1096,7 @@ ulp_rte_ipv4_hdr_handler(const struct rte_flow_item *item,
> hdr.fragment_offset),
> ulp_deference_struct(ipv4_mask,
> hdr.fragment_offset),
> - ULP_PRSR_ACT_DEFAULT);
> + ULP_PRSR_ACT_MASK_IGNORE);
>
> size = sizeof(((struct rte_flow_item_ipv4 *)NULL)->hdr.time_to_live);
> ulp_rte_prsr_fld_mask(params, &idx, size,
> --
> 2.32.0 (Apple Git-132)
>
@@ -1096,7 +1096,7 @@ ulp_rte_ipv4_hdr_handler(const struct rte_flow_item *item,
hdr.fragment_offset),
ulp_deference_struct(ipv4_mask,
hdr.fragment_offset),
- ULP_PRSR_ACT_DEFAULT);
+ ULP_PRSR_ACT_MASK_IGNORE);
size = sizeof(((struct rte_flow_item_ipv4 *)NULL)->hdr.time_to_live);
ulp_rte_prsr_fld_mask(params, &idx, size,