From: Satheesh Paul <psathe...@marvell.com>

Added support for RTE_FLOW_ITEM_TYPE_MARK. This item type
can be used to create ingress flow rules to match packets
from CPT(second pass packets).

Signed-off-by: Satheesh Paul <psathe...@marvell.com>
---
 doc/guides/nics/cnxk.rst              | 7 +++++++
 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          | 4 +++-
 5 files changed, 13 insertions(+), 1 deletion(-)

diff --git a/doc/guides/nics/cnxk.rst b/doc/guides/nics/cnxk.rst
index 31c801fa04..34f6e4d8ee 100644
--- a/doc/guides/nics/cnxk.rst
+++ b/doc/guides/nics/cnxk.rst
@@ -406,6 +406,13 @@ Example usage in testpmd::
    testpmd> flow create 0 ingress pattern eth / raw relative is 0 pattern \
           spec ab pattern mask ab offset is 4 / end actions queue index 1 / end
 
+RTE Flow mark item support
+~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+- ``RTE_FLOW_ITEM_TYPE_MARK`` can be used to create ingress flow rules to match
+  packets from CPT(second pass packets). When mark item type is used, it should
+  be the first item in the patterns specification.
+
 Inline device support for CN10K
 -------------------------------
 
diff --git a/doc/guides/nics/features/cnxk.ini 
b/doc/guides/nics/features/cnxk.ini
index 0eba334eb4..7cac8beb61 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
+mark                 = Y
 mpls                 = Y
 nvgre                = Y
 raw                  = Y
diff --git a/doc/guides/nics/features/cnxk_vec.ini 
b/doc/guides/nics/features/cnxk_vec.ini
index df5f358a3e..0803bb3c29 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
+mark                 = Y
 mpls                 = Y
 nvgre                = Y
 raw                  = Y
diff --git a/doc/guides/nics/features/cnxk_vf.ini 
b/doc/guides/nics/features/cnxk_vf.ini
index a78fbcada0..ed3e231c5f 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
+mark                 = Y
 mpls                 = Y
 nvgre                = Y
 raw                  = Y
diff --git a/drivers/net/cnxk/cnxk_flow.c b/drivers/net/cnxk/cnxk_flow.c
index 8763ca63d6..ff962c141d 100644
--- a/drivers/net/cnxk/cnxk_flow.c
+++ b/drivers/net/cnxk/cnxk_flow.c
@@ -53,7 +53,9 @@ const struct cnxk_rte_flow_term_info term[] = {
        [RTE_FLOW_ITEM_TYPE_HIGIG2] = {ROC_NPC_ITEM_TYPE_HIGIG2,
                                       sizeof(struct rte_flow_item_higig2_hdr)},
        [RTE_FLOW_ITEM_TYPE_RAW] = {ROC_NPC_ITEM_TYPE_RAW,
-                                   sizeof(struct rte_flow_item_raw)}};
+                                   sizeof(struct rte_flow_item_raw)},
+       [RTE_FLOW_ITEM_TYPE_MARK] = {ROC_NPC_ITEM_TYPE_MARK,
+                                    sizeof(struct rte_flow_item_mark)}};
 
 static int
 npc_rss_action_validate(struct rte_eth_dev *eth_dev,
-- 
2.25.4

Reply via email to