This patch introduces the GTP PSC QFI modify field support and adds
the testpmd CLI command support.

An example for copying GTP QFI field using modify_field action:

        modify_field op set
                     dst_type meta
                     src_type gtp_psc_qfi
                     width 8

An example of setting GTP QFI field value to 0x1f using modify_field
action:

        modify_field op set
                     dst_type gtp_psc_qfi
                     src_type value src_value 1f
                     width 8

Signed-off-by: Dariusz Sosnowski <dsosnow...@nvidia.com>
Acked-by: Ori Kam <or...@nvidia.com>
---

v2:

* Squashed ethdev and testpmd commits.

 app/test-pmd/cmdline_flow.c | 2 +-
 lib/ethdev/rte_flow.h       | 1 +
 2 files changed, 2 insertions(+), 1 deletion(-)

diff --git a/app/test-pmd/cmdline_flow.c b/app/test-pmd/cmdline_flow.c
index 7f50028eb7..b9673314b1 100644
--- a/app/test-pmd/cmdline_flow.c
+++ b/app/test-pmd/cmdline_flow.c
@@ -796,7 +796,7 @@ static const char *const modify_field_ids[] = {
        "udp_port_src", "udp_port_dst",
        "vxlan_vni", "geneve_vni", "gtp_teid",
        "tag", "mark", "meta", "pointer", "value",
-       "ipv4_ecn", "ipv6_ecn", NULL
+       "ipv4_ecn", "ipv6_ecn", "gtp_psc_qfi", NULL
 };
 
 /** Maximum number of subsequent tokens and arguments on the stack. */
diff --git a/lib/ethdev/rte_flow.h b/lib/ethdev/rte_flow.h
index a79f1e7ef0..e64831f8f1 100644
--- a/lib/ethdev/rte_flow.h
+++ b/lib/ethdev/rte_flow.h
@@ -3689,6 +3689,7 @@ enum rte_flow_field_id {
        RTE_FLOW_FIELD_VALUE,           /**< Immediate value. */
        RTE_FLOW_FIELD_IPV4_ECN,        /**< IPv4 ECN. */
        RTE_FLOW_FIELD_IPV6_ECN,        /**< IPv6 ECN. */
+       RTE_FLOW_FIELD_GTP_PSC_QFI,     /**< GTP QFI. */
 };
 
 /**
-- 
2.25.1

Reply via email to