DPDK patches and discussions
 help / color / mirror / Atom feed
* [dpdk-dev] [PATCH] common/cnxk: fix issue with IPv6 ext matching
@ 2023-01-12  6:36 psatheesh
  2023-01-12 13:32 ` Jerin Jacob
  0 siblings, 1 reply; 2+ messages in thread
From: psatheesh @ 2023-01-12  6:36 UTC (permalink / raw)
  To: Nithin Dabilpuram, Kiran Kumar K, Sunil Kumar Kori, Satha Rao
  Cc: dev, stable, Satheesh Paul

From: Kiran Kumar K <kirankumark@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@dpdk.org

Signed-off-by: Kiran Kumar K <kirankumark@marvell.com>
Reviewed-by: Satheesh Paul <psatheesh@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


^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [dpdk-dev] [PATCH] common/cnxk: fix issue with IPv6 ext matching
  2023-01-12  6:36 [dpdk-dev] [PATCH] common/cnxk: fix issue with IPv6 ext matching psatheesh
@ 2023-01-12 13:32 ` Jerin Jacob
  0 siblings, 0 replies; 2+ messages in thread
From: Jerin Jacob @ 2023-01-12 13:32 UTC (permalink / raw)
  To: psatheesh
  Cc: Nithin Dabilpuram, Kiran Kumar K, Sunil Kumar Kori, Satha Rao,
	dev, stable

On Thu, Jan 12, 2023 at 12:06 PM <psatheesh@marvell.com> wrote:
>
> From: Kiran Kumar K <kirankumark@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@dpdk.org
>
> Signed-off-by: Kiran Kumar K <kirankumark@marvell.com>
> Reviewed-by: Satheesh Paul <psatheesh@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@dpdk.org

    Signed-off-by: Kiran Kumar K <kirankumark@marvell.com>
    Reviewed-by: Satheesh Paul <psatheesh@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
>

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2023-01-12 13:32 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-01-12  6:36 [dpdk-dev] [PATCH] common/cnxk: fix issue with IPv6 ext matching psatheesh
2023-01-12 13:32 ` Jerin Jacob

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).