[2/2] net/cnxk: support IPv6 fragment flow pattern item

Message ID 20220427062320.424570-2-psatheesh@marvell.com (mailing list archive)
State Accepted, archived
Delegated to: Jerin Jacob
Headers
Series [1/2] common/cnxk: support IPv6 fragment flow pattern item |

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/Intel-compilation success Compilation OK
ci/intel-Testing fail Testing issues

Commit Message

Satheesh Paul Antonysamy April 27, 2022, 6:23 a.m. UTC
  From: Satheesh Paul <psatheesh@marvell.com>

Support matching IPv6 fragment extension header
with RTE_FLOW_ITEM_TYPE_IPV6_FRAG_EXT flow pattern item.

Signed-off-by: Satheesh Paul <psatheesh@marvell.com>
---
 doc/guides/nics/features/cnxk.ini     | 1 +
 doc/guides/nics/features/cnxk_vec.ini | 1 +
 doc/guides/nics/features/cnxk_vf.ini  | 1 +
 drivers/net/cnxk/cnxk_flow.c          | 3 +++
 4 files changed, 6 insertions(+)
  

Comments

Jerin Jacob May 9, 2022, 12:37 p.m. UTC | #1
On Wed, Apr 27, 2022 at 11:53 AM <psatheesh@marvell.com> wrote:
>
> From: Satheesh Paul <psatheesh@marvell.com>
>
> Support matching IPv6 fragment extension header
> with RTE_FLOW_ITEM_TYPE_IPV6_FRAG_EXT flow pattern item.
>
> Signed-off-by: Satheesh Paul <psatheesh@marvell.com>

Acked-by: Jerin Jacob <jerinj@marvell.com>
Series applied to dpdk-next-net-mrvl/for-next-net. Thanks

> ---
>  doc/guides/nics/features/cnxk.ini     | 1 +
>  doc/guides/nics/features/cnxk_vec.ini | 1 +
>  doc/guides/nics/features/cnxk_vf.ini  | 1 +
>  drivers/net/cnxk/cnxk_flow.c          | 3 +++
>  4 files changed, 6 insertions(+)
>
> diff --git a/doc/guides/nics/features/cnxk.ini b/doc/guides/nics/features/cnxk.ini
> index 7cac8beb61..1876fe86c7 100644
> --- a/doc/guides/nics/features/cnxk.ini
> +++ b/doc/guides/nics/features/cnxk.ini
> @@ -65,6 +65,7 @@ icmp                 = Y
>  ipv4                 = Y
>  ipv6                 = Y
>  ipv6_ext             = Y
> +ipv6_frag_ext        = Y
>  mark                 = Y
>  mpls                 = Y
>  nvgre                = Y
> diff --git a/doc/guides/nics/features/cnxk_vec.ini b/doc/guides/nics/features/cnxk_vec.ini
> index 0803bb3c29..5d0976e6ce 100644
> --- a/doc/guides/nics/features/cnxk_vec.ini
> +++ b/doc/guides/nics/features/cnxk_vec.ini
> @@ -61,6 +61,7 @@ icmp                 = Y
>  ipv4                 = Y
>  ipv6                 = Y
>  ipv6_ext             = Y
> +ipv6_frag_ext        = Y
>  mark                 = Y
>  mpls                 = Y
>  nvgre                = Y
> diff --git a/doc/guides/nics/features/cnxk_vf.ini b/doc/guides/nics/features/cnxk_vf.ini
> index ed3e231c5f..c4ee32a9ad 100644
> --- a/doc/guides/nics/features/cnxk_vf.ini
> +++ b/doc/guides/nics/features/cnxk_vf.ini
> @@ -57,6 +57,7 @@ icmp                 = Y
>  ipv4                 = Y
>  ipv6                 = Y
>  ipv6_ext             = Y
> +ipv6_frag_ext        = Y
>  mark                 = Y
>  mpls                 = Y
>  nvgre                = Y
> diff --git a/drivers/net/cnxk/cnxk_flow.c b/drivers/net/cnxk/cnxk_flow.c
> index ff962c141d..34f5d54f28 100644
> --- a/drivers/net/cnxk/cnxk_flow.c
> +++ b/drivers/net/cnxk/cnxk_flow.c
> @@ -14,6 +14,9 @@ const struct cnxk_rte_flow_term_info term[] = {
>                                      sizeof(struct rte_flow_item_ipv4)},
>         [RTE_FLOW_ITEM_TYPE_IPV6] = {ROC_NPC_ITEM_TYPE_IPV6,
>                                      sizeof(struct rte_flow_item_ipv6)},
> +       [RTE_FLOW_ITEM_TYPE_IPV6_FRAG_EXT] = {
> +                       ROC_NPC_ITEM_TYPE_IPV6_FRAG_EXT,
> +                       sizeof(struct rte_flow_item_ipv6_frag_ext)},
>         [RTE_FLOW_ITEM_TYPE_ARP_ETH_IPV4] = {
>                         ROC_NPC_ITEM_TYPE_ARP_ETH_IPV4,
>                         sizeof(struct rte_flow_item_arp_eth_ipv4)},
> --
> 2.25.4
>
  

Patch

diff --git a/doc/guides/nics/features/cnxk.ini b/doc/guides/nics/features/cnxk.ini
index 7cac8beb61..1876fe86c7 100644
--- a/doc/guides/nics/features/cnxk.ini
+++ b/doc/guides/nics/features/cnxk.ini
@@ -65,6 +65,7 @@  icmp                 = Y
 ipv4                 = Y
 ipv6                 = Y
 ipv6_ext             = Y
+ipv6_frag_ext        = Y
 mark                 = Y
 mpls                 = Y
 nvgre                = Y
diff --git a/doc/guides/nics/features/cnxk_vec.ini b/doc/guides/nics/features/cnxk_vec.ini
index 0803bb3c29..5d0976e6ce 100644
--- a/doc/guides/nics/features/cnxk_vec.ini
+++ b/doc/guides/nics/features/cnxk_vec.ini
@@ -61,6 +61,7 @@  icmp                 = Y
 ipv4                 = Y
 ipv6                 = Y
 ipv6_ext             = Y
+ipv6_frag_ext        = Y
 mark                 = Y
 mpls                 = Y
 nvgre                = Y
diff --git a/doc/guides/nics/features/cnxk_vf.ini b/doc/guides/nics/features/cnxk_vf.ini
index ed3e231c5f..c4ee32a9ad 100644
--- a/doc/guides/nics/features/cnxk_vf.ini
+++ b/doc/guides/nics/features/cnxk_vf.ini
@@ -57,6 +57,7 @@  icmp                 = Y
 ipv4                 = Y
 ipv6                 = Y
 ipv6_ext             = Y
+ipv6_frag_ext        = Y
 mark                 = Y
 mpls                 = Y
 nvgre                = Y
diff --git a/drivers/net/cnxk/cnxk_flow.c b/drivers/net/cnxk/cnxk_flow.c
index ff962c141d..34f5d54f28 100644
--- a/drivers/net/cnxk/cnxk_flow.c
+++ b/drivers/net/cnxk/cnxk_flow.c
@@ -14,6 +14,9 @@  const struct cnxk_rte_flow_term_info term[] = {
 				     sizeof(struct rte_flow_item_ipv4)},
 	[RTE_FLOW_ITEM_TYPE_IPV6] = {ROC_NPC_ITEM_TYPE_IPV6,
 				     sizeof(struct rte_flow_item_ipv6)},
+	[RTE_FLOW_ITEM_TYPE_IPV6_FRAG_EXT] = {
+			ROC_NPC_ITEM_TYPE_IPV6_FRAG_EXT,
+			sizeof(struct rte_flow_item_ipv6_frag_ext)},
 	[RTE_FLOW_ITEM_TYPE_ARP_ETH_IPV4] = {
 			ROC_NPC_ITEM_TYPE_ARP_ETH_IPV4,
 			sizeof(struct rte_flow_item_arp_eth_ipv4)},