net/octeontx2: add ipv6 ext parsing support

Message ID 20190719031841.10526-1-kirankumark@marvell.com
State Accepted, archived
Delegated to: Jerin Jacob
Headers show
Series
  • net/octeontx2: add ipv6 ext parsing support
Related show

Checks

Context Check Description
ci/mellanox-Performance-Testing success Performance Testing PASS
ci/intel-Performance-Testing success Performance Testing PASS
ci/Intel-compilation success Compilation OK
ci/checkpatch success coding style OK

Commit Message

Kiran Kumar Kokkilagadda July 19, 2019, 3:18 a.m.
From: Kiran Kumar K <kirankumark@marvell.com>

Adding support for ipv6_ext header parsing in the octeontx2 flow.

Signed-off-by: Kiran Kumar K <kirankumark@marvell.com>
---
 doc/guides/nics/octeontx2.rst           | 6 ++++--
 drivers/net/octeontx2/otx2_flow_parse.c | 7 +++++++
 2 files changed, 11 insertions(+), 2 deletions(-)

Comments

Jerin Jacob Kollanukkaran July 22, 2019, 8:08 a.m. | #1
> -----Original Message-----
> From: dev <dev-bounces@dpdk.org> On Behalf Of
> kirankumark@marvell.com
> Sent: Friday, July 19, 2019 8:49 AM
> To: dev@dpdk.org
> Cc: Kiran Kumar Kokkilagadda <kirankumark@marvell.com>
> Subject: [dpdk-dev] [PATCH] net/octeontx2: add ipv6 ext parsing support
> 
> From: Kiran Kumar K <kirankumark@marvell.com>
> 
> Adding support for ipv6_ext header parsing in the octeontx2 flow.
> 
> Signed-off-by: Kiran Kumar K <kirankumark@marvell.com>

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

Patch

diff --git a/doc/guides/nics/octeontx2.rst b/doc/guides/nics/octeontx2.rst
index fbf4c4726..5f511feb7 100644
--- a/doc/guides/nics/octeontx2.rst
+++ b/doc/guides/nics/octeontx2.rst
@@ -262,9 +262,11 @@  Patterns:
    +----+--------------------------------+
    | 19 | RTE_FLOW_ITEM_TYPE_VXLAN_GPE   |
    +----+--------------------------------+
-   | 20 | RTE_FLOW_ITEM_TYPE_VOID        |
+   | 20 | RTE_FLOW_ITEM_TYPE_IPV6_EXT    |
    +----+--------------------------------+
-   | 21 | RTE_FLOW_ITEM_TYPE_ANY         |
+   | 21 | RTE_FLOW_ITEM_TYPE_VOID        |
+   +----+--------------------------------+
+   | 22 | RTE_FLOW_ITEM_TYPE_ANY         |
    +----+--------------------------------+
 
 Actions:
diff --git a/drivers/net/octeontx2/otx2_flow_parse.c b/drivers/net/octeontx2/otx2_flow_parse.c
index 3e6f5b8df..6e65db8e4 100644
--- a/drivers/net/octeontx2/otx2_flow_parse.c
+++ b/drivers/net/octeontx2/otx2_flow_parse.c
@@ -517,6 +517,13 @@  otx2_flow_parse_lc(struct otx2_parse_state *pst)
 		info.def_mask = &rte_flow_item_arp_eth_ipv4_mask;
 		info.len = sizeof(struct rte_flow_item_arp_eth_ipv4);
 		break;
+	case RTE_FLOW_ITEM_TYPE_IPV6_EXT:
+		lid = NPC_LID_LC;
+		lt = NPC_LT_LC_IP6_EXT;
+		info.def_mask = &rte_flow_item_ipv6_ext_mask;
+		info.len = sizeof(struct rte_flow_item_ipv6_ext);
+		info.hw_hdr_len = 40;
+		break;
 	default:
 		/* No match at this layer */
 		return 0;