[dpdk-dev] [PATCH] common/cnxk: fix issue with IPv6 ext matching
Jerin Jacob
jerinjacobk at gmail.com
Thu Jan 12 14:32:19 CET 2023
On Thu, Jan 12, 2023 at 12:06 PM <psatheesh at marvell.com> wrote:
>
> From: Kiran Kumar K <kirankumark at marvell.com>
>
> While configuring ipv6 flow, ipv6 ext ltype should be
> matched along with ipv6. Adding changes to fix this issue.
>
> Fixes: 474e275b1bc6 ("common/cnxk: support extensions attributes in IPv6 item")
> Cc: stable at dpdk.org
>
> Signed-off-by: Kiran Kumar K <kirankumark at marvell.com>
> Reviewed-by: Satheesh Paul <psatheesh at marvell.com>
Updated the git commit as follows and applied to
dpdk-next-net-mrvl/for-next-net. Thanks
common/cnxk: fix issue with IPv6 ext matching
While configuring IPv6 flow, IPv6 ext ltype should be
matched along with IPv6. Adding changes to fix this issue.
Fixes: 474e275b1bc6 ("common/cnxk: support extensions attributes
in IPv6 item")
Cc: stable at dpdk.org
Signed-off-by: Kiran Kumar K <kirankumark at marvell.com>
Reviewed-by: Satheesh Paul <psatheesh at marvell.com>
> ---
> drivers/common/cnxk/roc_npc_mcam.c | 19 ++++++++++---------
> 1 file changed, 10 insertions(+), 9 deletions(-)
>
> diff --git a/drivers/common/cnxk/roc_npc_mcam.c b/drivers/common/cnxk/roc_npc_mcam.c
> index c419ce3a4c..0abd8872b1 100644
> --- a/drivers/common/cnxk/roc_npc_mcam.c
> +++ b/drivers/common/cnxk/roc_npc_mcam.c
> @@ -727,15 +727,16 @@ npc_set_ipv6ext_ltype_mask(struct npc_parse_state *pst)
> * because for AH and ESP, LC LFLAG is zero and we don't want to match
> * zero in LFLAG.
> */
> - lcflag_offset =
> - __builtin_popcount(pst->npc->keyx_supp_nmask[pst->nix_intf] &
> - ((1ULL << NPC_LFLAG_LC_OFFSET) - 1));
> - lcflag_offset *= 4;
> -
> - mask = (0xfULL << lcflag_offset);
> - val = pst->flow->mcam_data[0] & mask;
> - if (val)
> - pst->flow->mcam_mask[0] |= mask;
> + if (pst->npc->keyx_supp_nmask[pst->nix_intf] & (1ULL << NPC_LFLAG_LC_OFFSET)) {
> + lcflag_offset = __builtin_popcount(pst->npc->keyx_supp_nmask[pst->nix_intf] &
> + ((1ULL << NPC_LFLAG_LC_OFFSET) - 1));
> + lcflag_offset *= 4;
> +
> + mask = (0xfULL << lcflag_offset);
> + val = pst->flow->mcam_data[0] & mask;
> + if (val)
> + pst->flow->mcam_mask[0] |= mask;
> + }
> }
>
> int
> --
> 2.35.3
>
More information about the stable
mailing list