[dpdk-dev] [PATCH 2/5] net/enic: flow manager API update

John Daley johndale at cisco.com
Wed Apr 15 03:06:38 CEST 2020


Update the VIC Flow Manager API. The extentions will allow support for:
  - Decap and strip VLAN
  - Remove outer VLAN
  - Set Egress port
  - Set VLAN when replicating encapped packets
  - RSS queue ranges on outer header

Signed-off-by: John Daley <johndale at cisco.com>
Reviewed-by: Hyong Youb Kim <hyonkim at cisco.com>
---
 drivers/net/enic/base/vnic_flowman.h | 23 ++++++++++++++++++++++-
 1 file changed, 22 insertions(+), 1 deletion(-)

diff --git a/drivers/net/enic/base/vnic_flowman.h b/drivers/net/enic/base/vnic_flowman.h
index 49f743f5fb..81e2cff1b0 100644
--- a/drivers/net/enic/base/vnic_flowman.h
+++ b/drivers/net/enic/base/vnic_flowman.h
@@ -236,6 +236,20 @@ enum {
 	FMOP_SET_OVLAN,
 	/* Decap when vlan_strip is off */
 	FMOP_DECAP_NOSTRIP,
+	/* Decap and strip VLAN */
+	FMOP_DECAP_STRIP,
+	/* Remove outer VLAN */
+	FMOP_POP_VLAN,
+	/* Set Egress port */
+	FMOP_SET_EGPORT,
+	/* Steer to an RQ without entering EMIT state */
+	FMOP_RQ_STEER_ONLY,
+	/* Set VLAN when replicating encapped packets */
+	FMOP_SET_ENCAP_VLAN,
+	/* Enter EMIT state */
+	FMOP_EMIT,
+	/* Enter MODIFY state */
+	FMOP_MODIFY,
 	FMOP_OP_MAX,
 };
 
@@ -260,12 +274,16 @@ struct fm_action_op {
 			uint8_t template_len;
 		} __rte_packed encap;
 		struct {
-			uint32_t rq_index;
+			uint16_t rq_index;
+			uint16_t rq_count;
 			uint64_t vnic_handle;
 		} __rte_packed rq_steer;
 		struct {
 			uint16_t vlan;
 		} __rte_packed ovlan;
+		struct {
+			uint16_t vlan;
+		} __rte_packed set_encap_vlan;
 		struct {
 			uint16_t mark;
 		} __rte_packed mark;
@@ -278,6 +296,9 @@ struct fm_action_op {
 		struct {
 			uint64_t handle;
 		} __rte_packed exact;
+		struct {
+			uint32_t egport;
+		} __rte_packed set_egport;
 	} __rte_packed;
 } __rte_packed;
 
-- 
2.22.0



More information about the dev mailing list