DPDK patches and discussions
 help / color / mirror / Atom feed
From: Junlong Wang <wang.junlong1@zte.com.cn>
To: stephen@networkplumber.org
Cc: dev@dpdk.org, Junlong Wang <wang.junlong1@zte.com.cn>
Subject: [PATCH v1 08/16] net/zxdh: optimize vlan filter/offload ops
Date: Thu, 13 Feb 2025 14:41:24 +0800	[thread overview]
Message-ID: <20250213064134.88166-9-wang.junlong1@zte.com.cn> (raw)
In-Reply-To: <20250213064134.88166-1-wang.junlong1@zte.com.cn>


[-- Attachment #1.1.1: Type: text/plain, Size: 21049 bytes --]

optimize vlan filter/offload ops.

Signed-off-by: Junlong Wang <wang.junlong1@zte.com.cn>
---
 drivers/net/zxdh/zxdh_ethdev_ops.c |  42 +++------
 drivers/net/zxdh/zxdh_msg.c        |  81 +++++++++++++++++
 drivers/net/zxdh/zxdh_msg.h        |   5 +-
 drivers/net/zxdh/zxdh_tables.c     | 139 +++++++++++++++++++++++++++++
 drivers/net/zxdh/zxdh_tables.h     | 112 +++++++++++++++--------
 5 files changed, 312 insertions(+), 67 deletions(-)

diff --git a/drivers/net/zxdh/zxdh_ethdev_ops.c b/drivers/net/zxdh/zxdh_ethdev_ops.c
index 25a33ed493..fdae0a4ef6 100644
--- a/drivers/net/zxdh/zxdh_ethdev_ops.c
+++ b/drivers/net/zxdh/zxdh_ethdev_ops.c
@@ -678,11 +678,6 @@ zxdh_dev_vlan_filter_set(struct rte_eth_dev *dev, uint16_t vlan_id, int on)
 		return -EINVAL;
 	}
 
-	if (dev->data->dev_started == 0) {
-		PMD_DRV_LOG(ERR, "vlan_filter dev not start");
-		return -1;
-	}
-
 	idx = vlan_id / ZXDH_VLAN_FILTER_GROUPS;
 	bit_idx = vlan_id % ZXDH_VLAN_FILTER_GROUPS;
 
@@ -732,16 +727,13 @@ zxdh_dev_vlan_offload_set(struct rte_eth_dev *dev, int mask)
 	struct zxdh_hw *hw = dev->data->dev_private;
 	struct rte_eth_rxmode *rxmode;
 	struct zxdh_msg_info msg = {0};
-	struct zxdh_port_attr_table port_attr = {0};
 	int ret = 0;
 
 	rxmode = &dev->data->dev_conf.rxmode;
 	if (mask & RTE_ETH_VLAN_FILTER_MASK) {
 		if (rxmode->offloads & RTE_ETH_RX_OFFLOAD_VLAN_FILTER) {
 			if (hw->is_pf) {
-				ret = zxdh_get_port_attr(hw, hw->vport.vport, &port_attr);
-				port_attr.vlan_filter_enable = true;
-				ret = zxdh_set_port_attr(hw, hw->vport.vport, &port_attr);
+				ret = zxdh_set_vlan_filter(hw, hw->vport.vport, true);
 				if (ret) {
 					PMD_DRV_LOG(ERR, "port %d vlan filter set failed",
 						hw->vport.vfid);
@@ -760,9 +752,7 @@ zxdh_dev_vlan_offload_set(struct rte_eth_dev *dev, int mask)
 			}
 		} else {
 			if (hw->is_pf) {
-				ret = zxdh_get_port_attr(hw, hw->vport.vport, &port_attr);
-				port_attr.vlan_filter_enable = false;
-				ret = zxdh_set_port_attr(hw, hw->vport.vport, &port_attr);
+				ret = zxdh_set_vlan_filter(hw, hw->vport.vport, false);
 				if (ret) {
 					PMD_DRV_LOG(ERR, "port %d vlan filter set failed",
 						hw->vport.vfid);
@@ -785,9 +775,8 @@ zxdh_dev_vlan_offload_set(struct rte_eth_dev *dev, int mask)
 	if (mask & RTE_ETH_VLAN_STRIP_MASK) {
 		if (rxmode->offloads & RTE_ETH_RX_OFFLOAD_VLAN_STRIP) {
 			if (hw->is_pf) {
-				ret = zxdh_get_port_attr(hw, hw->vport.vport, &port_attr);
-				port_attr.vlan_strip_offload = true;
-				ret = zxdh_set_port_attr(hw, hw->vport.vport, &port_attr);
+				ret = zxdh_set_vlan_offload(hw, hw->vport.vport,
+						ZXDH_VLAN_STRIP_TYPE, true);
 				if (ret) {
 					PMD_DRV_LOG(ERR, "port %d vlan strip set failed",
 						hw->vport.vfid);
@@ -795,7 +784,7 @@ zxdh_dev_vlan_offload_set(struct rte_eth_dev *dev, int mask)
 				}
 			} else {
 				msg.data.vlan_offload_msg.enable = true;
-				msg.data.vlan_offload_msg.type = ZXDH_VLAN_STRIP_MSG_TYPE;
+				msg.data.vlan_offload_msg.type = ZXDH_VLAN_STRIP_TYPE;
 				zxdh_msg_head_build(hw, ZXDH_VLAN_OFFLOAD, &msg);
 				ret = zxdh_vf_send_msg_to_pf(hw->eth_dev, &msg,
 						sizeof(struct zxdh_msg_info), NULL, 0);
@@ -807,9 +796,8 @@ zxdh_dev_vlan_offload_set(struct rte_eth_dev *dev, int mask)
 			}
 		} else {
 			if (hw->is_pf) {
-				ret = zxdh_get_port_attr(hw, hw->vport.vport, &port_attr);
-				port_attr.vlan_strip_offload = false;
-				ret = zxdh_set_port_attr(hw, hw->vport.vport, &port_attr);
+				ret = zxdh_set_vlan_offload(hw, hw->vport.vport,
+						ZXDH_VLAN_STRIP_TYPE, false);
 				if (ret) {
 					PMD_DRV_LOG(ERR, "port %d vlan strip set failed",
 						hw->vport.vfid);
@@ -817,7 +805,7 @@ zxdh_dev_vlan_offload_set(struct rte_eth_dev *dev, int mask)
 				}
 			} else {
 				msg.data.vlan_offload_msg.enable = false;
-				msg.data.vlan_offload_msg.type = ZXDH_VLAN_STRIP_MSG_TYPE;
+				msg.data.vlan_offload_msg.type = ZXDH_VLAN_STRIP_TYPE;
 				zxdh_msg_head_build(hw, ZXDH_VLAN_OFFLOAD, &msg);
 				ret = zxdh_vf_send_msg_to_pf(hw->eth_dev, &msg,
 						sizeof(struct zxdh_msg_info), NULL, 0);
@@ -834,9 +822,8 @@ zxdh_dev_vlan_offload_set(struct rte_eth_dev *dev, int mask)
 		memset(&msg, 0, sizeof(struct zxdh_msg_info));
 		if (rxmode->offloads & RTE_ETH_RX_OFFLOAD_QINQ_STRIP) {
 			if (hw->is_pf) {
-				ret = zxdh_get_port_attr(hw, hw->vport.vport, &port_attr);
-				port_attr.qinq_strip_offload = true;
-				ret = zxdh_set_port_attr(hw, hw->vport.vport, &port_attr);
+				ret = zxdh_set_vlan_offload(hw, hw->vport.vport,
+					ZXDH_QINQ_STRIP_TYPE, true);
 				if (ret) {
 					PMD_DRV_LOG(ERR, "port %d qinq offload set failed",
 						hw->vport.vfid);
@@ -844,7 +831,7 @@ zxdh_dev_vlan_offload_set(struct rte_eth_dev *dev, int mask)
 				}
 			} else {
 				msg.data.vlan_offload_msg.enable = true;
-				msg.data.vlan_offload_msg.type = ZXDH_QINQ_STRIP_MSG_TYPE;
+				msg.data.vlan_offload_msg.type = ZXDH_QINQ_STRIP_TYPE;
 				zxdh_msg_head_build(hw, ZXDH_VLAN_OFFLOAD, &msg);
 				ret = zxdh_vf_send_msg_to_pf(hw->eth_dev, &msg,
 						sizeof(struct zxdh_msg_info), NULL, 0);
@@ -856,9 +843,8 @@ zxdh_dev_vlan_offload_set(struct rte_eth_dev *dev, int mask)
 			}
 		} else {
 			if (hw->is_pf) {
-				ret = zxdh_get_port_attr(hw, hw->vport.vport, &port_attr);
-				port_attr.qinq_strip_offload = true;
-				ret = zxdh_set_port_attr(hw, hw->vport.vport, &port_attr);
+				ret = zxdh_set_vlan_offload(hw, hw->vport.vport,
+						ZXDH_QINQ_STRIP_TYPE, false);
 				if (ret) {
 					PMD_DRV_LOG(ERR, "port %d qinq offload set failed",
 						hw->vport.vfid);
@@ -866,7 +852,7 @@ zxdh_dev_vlan_offload_set(struct rte_eth_dev *dev, int mask)
 				}
 			} else {
 				msg.data.vlan_offload_msg.enable = false;
-				msg.data.vlan_offload_msg.type = ZXDH_QINQ_STRIP_MSG_TYPE;
+				msg.data.vlan_offload_msg.type = ZXDH_QINQ_STRIP_TYPE;
 				zxdh_msg_head_build(hw, ZXDH_VLAN_OFFLOAD, &msg);
 				ret = zxdh_vf_send_msg_to_pf(hw->eth_dev, &msg,
 						sizeof(struct zxdh_msg_info), NULL, 0);
diff --git a/drivers/net/zxdh/zxdh_msg.c b/drivers/net/zxdh/zxdh_msg.c
index e4a34f078a..dbe0a823bc 100644
--- a/drivers/net/zxdh/zxdh_msg.c
+++ b/drivers/net/zxdh/zxdh_msg.c
@@ -1447,12 +1447,93 @@ zxdh_del_vf_mac_table(struct zxdh_hw *hw, uint16_t vport, void *cfg_data,
 	return ret;
 }
 
+static int
+zxdh_vf_vlan_filter_table_process(struct zxdh_hw *hw, uint16_t vport, void *cfg_data,
+		struct zxdh_msg_reply_body *res_info, uint16_t *res_len, uint8_t enable)
+{
+	struct zxdh_vlan_filter *vlan_filter = cfg_data;
+	uint16_t vlan_id =  vlan_filter->vlan_id;
+	char str[ZXDH_MSG_REPLY_BODY_MAX_LEN] = "vlan filter table";
+	int ret = 0;
+
+	ret = zxdh_vlan_filter_table_set(hw, vport, vlan_id, enable);
+	if (ret)
+		sprintf(str, "vlan filter op-code[%d] vlan id:%d failed, code:%d\n",
+			enable, vlan_id, ret);
+
+	*res_len = strlen(str) + sizeof(enum zxdh_reps_flag);
+	rte_memcpy(&res_info->reply_data, str, strlen(str) + 1);
+	res_info->flag = (ret == 0) ? ZXDH_REPS_SUCC : ZXDH_REPS_FAIL;
+	return ret;
+}
+
+static int
+zxdh_vf_vlan_filter_table_add(struct zxdh_hw *hw, uint16_t vport, void *cfg_data,
+		struct zxdh_msg_reply_body *res_info, uint16_t *res_len)
+{
+	return zxdh_vf_vlan_filter_table_process(hw, vport, cfg_data, res_info, res_len, 1);
+}
+
+static int
+zxdh_vf_vlan_filter_table_del(struct zxdh_hw *hw, uint16_t vport, void *cfg_data,
+		struct zxdh_msg_reply_body *res_info, uint16_t *res_len)
+{
+	return zxdh_vf_vlan_filter_table_process(hw, vport, cfg_data, res_info, res_len, 0);
+}
+
+static int
+zxdh_vf_set_vlan_filter(struct zxdh_hw *hw, uint16_t vport, void *cfg_data,
+		struct zxdh_msg_reply_body *reply, uint16_t *res_len)
+{
+	struct zxdh_vlan_filter_set *vlan_filter = cfg_data;
+	union zxdh_virport_num port = (union zxdh_virport_num)vport;
+	char str[ZXDH_MSG_REPLY_BODY_MAX_LEN] = "vlan filter";
+	int ret = 0;
+	uint16_t vfid = port.vfid;
+
+	ret = zxdh_set_vlan_filter(hw, vport, vlan_filter->enable);
+	if (ret)
+		sprintf(str, "[vfid:%d] vlan filter. set failed, ret:%d\n", vfid, ret);
+
+	*res_len = strlen(str) + sizeof(enum zxdh_reps_flag);
+	reply->flag = (ret == 0) ? ZXDH_REPS_SUCC : ZXDH_REPS_FAIL;
+	rte_memcpy(&reply->reply_data, str, strlen(str) + 1);
+	return ret;
+}
+
+static int
+zxdh_vf_set_vlan_offload(struct zxdh_hw *hw, uint16_t vport, void *cfg_data,
+		struct zxdh_msg_reply_body *reply, uint16_t *res_len)
+{
+	struct zxdh_vlan_offload *vlan_offload = cfg_data;
+	union zxdh_virport_num port = (union zxdh_virport_num)vport;
+	char str[ZXDH_MSG_REPLY_BODY_MAX_LEN] = "vlan offload";
+	int ret = 0;
+	uint16_t vfid = port.vfid;
+
+	PMD_DRV_LOG(DEBUG, "vfid:%d, type:%s, enable:%d",
+		vfid, vlan_offload->type == ZXDH_VLAN_STRIP_TYPE ? "vlan-strip" : "qinq-strip",
+			vlan_offload->enable);
+	ret = zxdh_set_vlan_offload(hw, vport, vlan_offload->type, vlan_offload->enable);
+	if (ret)
+		sprintf(str, "[vfid:%d] vlan offload set failed, ret:%d\n", vfid, ret);
+
+	*res_len = strlen(str) + sizeof(enum zxdh_reps_flag);
+	reply->flag = (ret == 0) ? ZXDH_REPS_SUCC : ZXDH_REPS_FAIL;
+	rte_memcpy(&reply->reply_data, str, strlen(str) + 1);
+	return ret;
+}
+
 zxdh_msg_process_callback zxdh_proc_cb[] = {
 	[ZXDH_NULL] = NULL,
 	[ZXDH_VF_PORT_INIT] = zxdh_vf_port_init,
 	[ZXDH_VF_PORT_UNINIT] = zxdh_vf_port_uninit,
 	[ZXDH_MAC_ADD] = zxdh_add_vf_mac_table,
 	[ZXDH_MAC_DEL] = zxdh_del_vf_mac_table,
+	[ZXDH_VLAN_FILTER_SET] = zxdh_vf_set_vlan_filter,
+	[ZXDH_VLAN_FILTER_ADD] = zxdh_vf_vlan_filter_table_add,
+	[ZXDH_VLAN_FILTER_DEL] = zxdh_vf_vlan_filter_table_del,
+	[ZXDH_VLAN_OFFLOAD] = zxdh_vf_set_vlan_offload,
 };
 
 static inline int
diff --git a/drivers/net/zxdh/zxdh_msg.h b/drivers/net/zxdh/zxdh_msg.h
index 51b693bf86..c4a940a438 100644
--- a/drivers/net/zxdh/zxdh_msg.h
+++ b/drivers/net/zxdh/zxdh_msg.h
@@ -56,8 +56,9 @@
 #define ZXDH_MAC_UNFILTER          0xff
 #define ZXDH_PROMISC_MODE          1
 #define ZXDH_ALLMULTI_MODE         2
-#define ZXDH_VLAN_STRIP_MSG_TYPE   0
-#define ZXDH_QINQ_STRIP_MSG_TYPE   1
+#define ZXDH_VLAN_STRIP_TYPE       0
+#define ZXDH_QINQ_STRIP_TYPE       1
+#define ZXDH_VLAN_FILTER_TYPE      2
 
 #define ZXDH_EEXIST_MAC_FLAG       0xFD
 
diff --git a/drivers/net/zxdh/zxdh_tables.c b/drivers/net/zxdh/zxdh_tables.c
index 9838b8d103..253d9ce438 100644
--- a/drivers/net/zxdh/zxdh_tables.c
+++ b/drivers/net/zxdh/zxdh_tables.c
@@ -15,6 +15,7 @@
 #define ZXDH_SDT_BROCAST_ATT_TABLE        6
 #define ZXDH_SDT_UNICAST_ATT_TABLE        10
 #define ZXDH_SDT_MULTICAST_ATT_TABLE      11
+#define ZXDH_SDT_PORT_VLAN_ATT_TABLE      16
 
 #define ZXDH_MAC_HASH_INDEX_BASE          64
 #define ZXDH_MAC_HASH_INDEX(index)        (ZXDH_MAC_HASH_INDEX_BASE + (index))
@@ -26,6 +27,14 @@
 #define ZXDH_VLAN_GROUP_NUM               35
 #define ZXDH_VLAN_FILTER_VLANID_STEP      120
 
+static inline int32_t
+no_business_offload(struct zxdh_port_vlan_table *port_vlan)
+{
+	return (port_vlan->business_qinq_strip == 0 &&
+			port_vlan->business_vlan_filter == 0 &&
+			port_vlan->business_vlan_strip == 0);
+}
+
 int
 zxdh_set_port_attr(struct zxdh_hw *hw, uint16_t vport, struct zxdh_port_attr_table *port_attr)
 {
@@ -901,3 +910,133 @@ zxdh_dev_broadcast_set(struct zxdh_hw *hw, uint16_t vport, bool enable)
 	}
 	return 0;
 }
+
+static int
+zxdh_vlan_relate_vport(struct rte_eth_dev *dev, uint16_t vport,
+		struct zxdh_port_attr_table *vport_attr,
+		struct zxdh_port_vlan_table *port_vlan, uint8_t on)
+{
+	struct zxdh_hw *hw = dev->data->dev_private;
+	union zxdh_virport_num port = (union zxdh_virport_num)vport;
+	int ret = 0;
+
+	if (on) {
+		if (!vport_attr->business_vlan_enable) {
+			vport_attr->business_vlan_enable = 1;
+			ret = zxdh_set_port_attr(hw, vport, vport_attr);
+			if (ret) {
+				PMD_DRV_LOG(ERR, "[vfid:%d] vlan offload set failedd, set vport tbl ret:%d",
+						port.vfid, ret);
+				return ret;
+			}
+		}
+	} else {
+		if (no_business_offload(port_vlan))
+			if (vport_attr->business_vlan_enable) {
+				PMD_DRV_LOG(INFO, "port vlan no business offload, vport business_vlan_enable set 0");
+				vport_attr->business_vlan_enable = 0;
+				ret = zxdh_set_port_attr(hw, vport, vport_attr);
+				if (ret) {
+					PMD_DRV_LOG(ERR, "[vfid:%d] vlan offload set failedd, set vport tbl ret:%d",
+							port.vfid, ret);
+					return ret;
+				}
+			}
+	}
+
+	return 0;
+}
+
+static int
+zxdh_set_port_vlan_attr(struct zxdh_hw *hw, uint16_t vport,
+		struct zxdh_port_vlan_table *port_vlan)
+{
+	union zxdh_virport_num vport_num = (union zxdh_virport_num)vport;
+	int ret = 0;
+
+	ZXDH_DTB_ERAM_ENTRY_INFO_T port_entry = {
+		.index = vport_num.vfid,
+		.p_data = (uint32_t *)port_vlan
+	};
+	ZXDH_DTB_USER_ENTRY_T entry = {
+		.sdt_no = ZXDH_SDT_PORT_VLAN_ATT_TABLE,
+		.p_entry_data = (void *)&port_entry
+	};
+
+	ret = zxdh_np_dtb_table_entry_write(hw->slot_id, hw->dev_sd->dtb_sd.queueid, 1, &entry);
+	if (ret)
+		PMD_DRV_LOG(ERR, "write port_vlan tbl failed, ret:%d ", ret);
+	return ret;
+}
+
+static int
+zxdh_get_port_vlan_attr(struct zxdh_hw *hw, uint16_t vport,
+		struct zxdh_port_vlan_table *port_vlan)
+{
+	union zxdh_virport_num vport_num = (union zxdh_virport_num)vport;
+	int ret = 0;
+
+	ZXDH_DTB_ERAM_ENTRY_INFO_T port_entry = {
+		.index = vport_num.vfid,
+		.p_data = (uint32_t *)port_vlan
+	};
+	ZXDH_DTB_USER_ENTRY_T entry = {
+		.sdt_no = ZXDH_SDT_PORT_VLAN_ATT_TABLE,
+		.p_entry_data = (void *)&port_entry
+	};
+
+	ret = zxdh_np_dtb_table_entry_get(hw->slot_id, hw->dev_sd->dtb_sd.queueid,
+			&entry, 1);
+	if (ret)
+		PMD_DRV_LOG(ERR, "get port vlan tbl failed, ret:%d ", ret);
+
+	return ret;
+}
+
+static int
+set_vlan_config(struct zxdh_hw *hw, uint16_t vport, uint8_t type, uint8_t enable)
+{
+	struct zxdh_port_attr_table vport_attr = {0};
+	struct zxdh_port_vlan_table port_vlan_attr = {0};
+	union zxdh_virport_num port = (union zxdh_virport_num)vport;
+	uint16_t vfid = port.vfid;
+	int ret = 0;
+
+	ret = zxdh_get_port_vlan_attr(hw, vport, &port_vlan_attr);
+	if (ret) {
+		PMD_DRV_LOG(ERR, "[vfid:%d] get port vlan ret:%d", vfid, ret);
+		return ret;
+	}
+	ret = zxdh_get_port_attr(hw, vport, &vport_attr);
+	if (ret) {
+		PMD_DRV_LOG(ERR, "[vfid:%d] get port ret:%d", vfid, ret);
+		return ret;
+	}
+
+	if (type == ZXDH_VLAN_STRIP_TYPE)
+		port_vlan_attr.business_vlan_strip = !!enable;
+	else if (type == ZXDH_QINQ_STRIP_TYPE)
+		port_vlan_attr.business_qinq_strip = !!enable;
+	else if (type == ZXDH_VLAN_FILTER_TYPE)
+		port_vlan_attr.business_vlan_filter = !!enable;
+
+	port_vlan_attr.hit_flag = 1;
+
+	ret = zxdh_set_port_vlan_attr(hw, vport, &port_vlan_attr);
+	if (ret) {
+		PMD_DRV_LOG(ERR, "[vfid:%d] set port vlan ret:%d", vfid, ret);
+		return ret;
+	}
+
+	return zxdh_vlan_relate_vport(hw->eth_dev, vport, &vport_attr, &port_vlan_attr, enable);
+}
+
+int zxdh_set_vlan_filter(struct zxdh_hw *hw, uint16_t vport, uint8_t enable)
+{
+	return set_vlan_config(hw, vport, ZXDH_VLAN_FILTER_TYPE, enable);
+}
+
+int zxdh_set_vlan_offload(struct zxdh_hw *hw, uint16_t vport, uint8_t type, uint8_t enable)
+{
+	return set_vlan_config(hw, vport, type, enable);
+}
diff --git a/drivers/net/zxdh/zxdh_tables.h b/drivers/net/zxdh/zxdh_tables.h
index b4b65a5eb6..453e288f8d 100644
--- a/drivers/net/zxdh/zxdh_tables.h
+++ b/drivers/net/zxdh/zxdh_tables.h
@@ -19,22 +19,57 @@
 
 extern struct zxdh_dtb_shared_data g_dtb_data;
 
+struct zxdh_port_vlan_table {
+#if RTE_BYTE_ORDER == RTE_LITTLE_ENDIAN
+	uint16_t business_vlan_tpid:16;
+	/* byte[3,4] */
+	uint8_t rsv2:8;
+	/* byte[2] */
+	uint8_t rsv1: 4;
+	uint8_t business_vlan_strip: 1;
+	uint8_t business_qinq_strip: 1;
+	uint8_t business_vlan_filter: 1;
+	uint8_t hit_flag: 1;
+	/* byte[1] */
+	uint16_t sriov_vlan_tci:16;
+	/* byte[7:8] */
+	uint16_t sriov_vlan_tpid:16;
+	/* byte[5:6] */
+#else
+	uint8_t rsv1: 4;
+	uint8_t business_vlan_strip: 1;
+	uint8_t business_qinq_strip: 1;
+	uint8_t business_vlan_filter: 1;
+	uint8_t hit_flag: 1;
+	/* byte[1] */
+	uint8_t rsv2:8;
+	/* byte[2] */
+	uint16_t business_vlan_tpid:16;
+	/* byte[3:4] */
+	uint16_t sriov_vlan_tpid:16;
+	/* byte[5:6] */
+	uint16_t sriov_vlan_tci:16;
+	/* byte[7:8] */
+#endif
+};
+
 struct zxdh_port_attr_table {
 #if RTE_BYTE_ORDER == RTE_LITTLE_ENDIAN
-	uint8_t byte4_rsv1: 1;
-	uint8_t ingress_meter_enable: 1;
-	uint8_t egress_meter_enable: 1;
-	uint8_t byte4_rsv2: 2;
-	uint8_t fd_enable: 1;
-	uint8_t vepa_enable: 1;
+	uint8_t egress_meter_enable: 1; /* np view */
+	uint8_t ingress_meter_enable: 1; /* np view */
+	uint8_t egress_meter_mode: 1; /* np view */
+	uint8_t ingress_meter_mode: 1; /* np view */
+	uint8_t egress_tm_enable: 1; /* np view */
+	uint8_t ingress_tm_enable: 1; /* np view */
+	uint8_t rsv1: 1;
 	uint8_t spoof_check_enable: 1;
 
 	uint8_t inline_sec_offload: 1;
-	uint8_t ovs_enable: 1;
+	uint8_t fd_enable: 1;
 	uint8_t lag_enable: 1;
-	uint8_t is_passthrough: 1;
+	uint8_t vepa_enable: 1;
 	uint8_t is_vf: 1;
-	uint8_t virtion_version: 2;
+	uint8_t virtio_ver: 2;
 	uint8_t virtio_enable: 1;
 
 	uint8_t accelerator_offload_flag: 1;
@@ -44,13 +79,13 @@ struct zxdh_port_attr_table {
 	uint8_t ip_checksum_offload: 1;
 	uint8_t outer_ip_checksum_offload: 1;
 	uint8_t is_up: 1;
-	uint8_t rsv1: 1;
+	uint8_t business_enable: 1;
 
-	uint8_t promisc_enable : 1;
+	uint8_t hw_bond_enable : 1;
 	uint8_t rdma_offload_enable: 1;
-	uint8_t vlan_filter_enable: 1;
-	uint8_t vlan_strip_offload: 1;
-	uint8_t qinq_strip_offload: 1;
+	uint8_t promisc_enable: 1;
+	uint8_t sriov_vlan_enable: 1;
+	uint8_t business_vlan_enable: 1;
 	uint8_t rss_enable: 1;
 	uint8_t mtu_enable: 1;
 	uint8_t hit_flag: 1;
@@ -59,7 +94,7 @@ struct zxdh_port_attr_table {
 
 	uint16_t port_base_qid : 12;
 	uint16_t hash_search_index : 3;
-	uint16_t rsv: 1;
+	uint16_t hpm: 1;
 
 	uint8_t rss_hash_factor;
 
@@ -67,20 +102,20 @@ struct zxdh_port_attr_table {
 	uint8_t phy_port: 4;
 
 	uint16_t lag_id : 3;
+	uint16_t rsv81 : 1;
 	uint16_t pf_vfid : 11;
-	uint16_t ingress_tm_enable : 1;
-	uint16_t egress_tm_enable : 1;
+	uint16_t rsv82 : 1;
 
 	uint16_t tpid;
 
 	uint16_t vhca : 10;
-	uint16_t uplink_port : 6;
+	uint16_t rsv16_1 : 6;
 #else
-	uint8_t rsv3 : 1;
+	uint8_t hw_bond_enable : 1;
 	uint8_t rdma_offload_enable: 1;
-	uint8_t vlan_filter_enable: 1;
-	uint8_t vlan_strip_offload: 1;
-	uint8_t qinq_strip_offload: 1;
+	uint8_t promisc_enable: 1;
+	uint8_t sriov_vlan_enable: 1;
+	uint8_t business_vlan_enable: 1;
 	uint8_t rss_enable: 1;
 	uint8_t mtu_enable: 1;
 	uint8_t hit_flag: 1;
@@ -92,34 +127,35 @@ struct zxdh_port_attr_table {
 	uint8_t ip_checksum_offload: 1;
 	uint8_t outer_ip_checksum_offload: 1;
 	uint8_t is_up: 1;
-	uint8_t rsv1: 1;
+	uint8_t business_enable: 1;
 
 	uint8_t inline_sec_offload: 1;
-	uint8_t ovs_enable: 1;
+	uint8_t fd_enable: 1;
 	uint8_t lag_enable: 1;
-	uint8_t is_passthrough: 1;
+	uint8_t vepa_enable: 1;
 	uint8_t is_vf: 1;
-	uint8_t virtion_version: 2;
+	uint8_t virtio_ver: 2;
 	uint8_t virtio_enable: 1;
 
-	uint8_t byte4_rsv1: 1;
-	uint8_t ingress_meter_enable: 1;
-	uint8_t egress_meter_enable: 1;
-	uint8_t byte4_rsv2: 2;
-	uint8_t fd_enable: 1;
-	uint8_t vepa_enable: 1;
+	uint8_t egress_meter_enable: 1; /* np view */
+	uint8_t ingress_meter_enable: 1; /* np view */
+	uint8_t egress_meter_mode: 1; /* np view */
+	uint8_t ingress_meter_mode: 1; /* np view */
+	uint8_t egress_tm_enable: 1; /* np view */
+	uint8_t ingress_tm_enable: 1; /* np view */
+	uint8_t rsv1: 1;
 	uint8_t spoof_check_enable: 1;
 
-	uint16_t port_base_qid : 12;
+	uint16_t port_base_qid : 12; /* need rte_bwap16 */
 	uint16_t hash_search_index : 3;
 	uint16_t rsv: 1;
 
 	uint16_t mtu;
 
-	uint16_t lag_id : 3;
+	uint16_t lag_id : 3; /* need rte_bwap16 */
+	uint16_t rsv81 : 1;
 	uint16_t pf_vfid : 11;
-	uint16_t ingress_tm_enable : 1;
-	uint16_t egress_tm_enable : 1;
+	uint16_t rsv82 : 1;
 
 	uint8_t hash_alg: 4;
 	uint8_t phy_port: 4;
@@ -129,7 +165,7 @@ struct zxdh_port_attr_table {
 	uint16_t tpid;
 
 	uint16_t vhca : 10;
-	uint16_t uplink_port : 6;
+	uint16_t rsv16_1 : 6;
 #endif
 };
 
@@ -235,5 +271,7 @@ int zxdh_rss_table_get(struct zxdh_hw *hw, uint16_t vport, struct zxdh_rss_reta
 int zxdh_get_panel_attr(struct rte_eth_dev *dev, struct zxdh_panel_table *panel_attr);
 int zxdh_set_panel_attr(struct rte_eth_dev *dev, struct zxdh_panel_table *panel_attr);
 int zxdh_dev_broadcast_set(struct zxdh_hw *hw, uint16_t vport, bool enable);
+int zxdh_set_vlan_filter(struct zxdh_hw *hw, uint16_t vport, uint8_t enable);
+int zxdh_set_vlan_offload(struct zxdh_hw *hw, uint16_t vport, uint8_t type, uint8_t enable);
 
 #endif /* ZXDH_TABLES_H */
-- 
2.27.0

[-- Attachment #1.1.2: Type: text/html , Size: 51573 bytes --]

  parent reply	other threads:[~2025-02-13  6:56 UTC|newest]

Thread overview: 303+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-09-10 12:00 [PATCH v4] net/zxdh: Provided zxdh basic init Junlong Wang
2024-09-24  1:35 ` [v4] " Junlong Wang
2024-09-25 22:39 ` [PATCH v4] " Ferruh Yigit
2024-09-26  6:49 ` [v4] " Junlong Wang
2024-10-07 21:43 ` [PATCH v4] " Stephen Hemminger
2024-10-15  5:43 ` [PATCH v5 0/9] net/zxdh: introduce net zxdh driver Junlong Wang
2024-10-15  5:43   ` [PATCH v5 1/9] net/zxdh: add zxdh ethdev pmd driver Junlong Wang
2024-10-15  5:44     ` [PATCH v5 2/9] net/zxdh: add logging implementation Junlong Wang
2024-10-15  5:44       ` [PATCH v5 3/9] net/zxdh: add zxdh device pci init implementation Junlong Wang
2024-10-15  5:44       ` [PATCH v5 4/9] net/zxdh: add msg chan and msg hwlock init Junlong Wang
2024-10-15  5:44       ` [PATCH v5 5/9] net/zxdh: add msg chan enable implementation Junlong Wang
2024-10-15  5:44       ` [PATCH v5 6/9] net/zxdh: add zxdh get device backend infos Junlong Wang
2024-10-15  5:44       ` [PATCH v5 7/9] net/zxdh: add configure zxdh intr implementation Junlong Wang
2024-10-15  5:44       ` [PATCH v5 8/9] net/zxdh: add zxdh dev infos get ops Junlong Wang
2024-10-15  5:44       ` [PATCH v5 9/9] net/zxdh: add zxdh dev configure ops Junlong Wang
2024-10-15 15:37         ` Stephen Hemminger
2024-10-15 15:57         ` Stephen Hemminger
2024-10-16  8:16     ` [PATCH v6 0/9] net/zxdh: introduce net zxdh driver Junlong Wang
2024-10-16  8:16       ` [PATCH v6 1/9] net/zxdh: add zxdh ethdev pmd driver Junlong Wang
2024-10-16  8:18         ` [PATCH v6 2/9] net/zxdh: add logging implementation Junlong Wang
2024-10-16  8:18           ` [PATCH v6 3/9] net/zxdh: add zxdh device pci init implementation Junlong Wang
2024-10-16  8:18           ` [PATCH v6 4/9] net/zxdh: add msg chan and msg hwlock init Junlong Wang
2024-10-16  8:18           ` [PATCH v6 5/9] net/zxdh: add msg chan enable implementation Junlong Wang
2024-10-21  8:50             ` Thomas Monjalon
2024-10-21 10:56             ` Junlong Wang
2024-10-16  8:18           ` [PATCH v6 6/9] net/zxdh: add zxdh get device backend infos Junlong Wang
2024-10-21  8:52             ` Thomas Monjalon
2024-10-16  8:18           ` [PATCH v6 7/9] net/zxdh: add configure zxdh intr implementation Junlong Wang
2024-10-16  8:18           ` [PATCH v6 8/9] net/zxdh: add zxdh dev infos get ops Junlong Wang
2024-10-21  8:54             ` Thomas Monjalon
2024-10-16  8:18           ` [PATCH v6 9/9] net/zxdh: add zxdh dev configure ops Junlong Wang
2024-10-18  5:18             ` [v6,9/9] " Junlong Wang
2024-10-18  6:48               ` David Marchand
2024-10-19 11:17             ` Junlong Wang
2024-10-21  9:03         ` [PATCH v6 1/9] net/zxdh: add zxdh ethdev pmd driver Thomas Monjalon
2024-10-22 12:20         ` [PATCH v7 0/9] net/zxdh: introduce net zxdh driver Junlong Wang
2024-10-22 12:20           ` [PATCH v7 1/9] net/zxdh: add zxdh ethdev pmd driver Junlong Wang
2024-10-30  9:01             ` [PATCH v8 0/9] net/zxdh: introduce net zxdh driver Junlong Wang
2024-10-30  9:01               ` [PATCH v8 1/9] net/zxdh: add zxdh ethdev pmd driver Junlong Wang
2024-11-01  6:21                 ` [PATCH v9 0/9] net/zxdh: introduce net zxdh driver Junlong Wang
2024-11-01  6:21                   ` [PATCH v9 1/9] net/zxdh: add zxdh ethdev pmd driver Junlong Wang
2024-11-02  0:57                     ` Ferruh Yigit
2024-11-04 11:58                     ` [PATCH v10 00/10] net/zxdh: introduce net zxdh driver Junlong Wang
2024-11-04 11:58                       ` [PATCH v10 01/10] net/zxdh: add zxdh ethdev pmd driver Junlong Wang
2024-11-07 10:32                         ` [PATCH v10 00/10] net/zxdh: introduce net zxdh driver Junlong Wang
2024-11-12  0:42                           ` Thomas Monjalon
2024-12-06  5:57                         ` [PATCH v1 00/15] net/zxdh: updated " Junlong Wang
2024-12-06  5:57                           ` [PATCH v1 01/15] net/zxdh: zxdh np init implementation Junlong Wang
2024-12-10  5:53                             ` [PATCH v2 00/15] net/zxdh: updated net zxdh driver Junlong Wang
2024-12-10  5:53                               ` [PATCH v2 01/15] net/zxdh: zxdh np init implementation Junlong Wang
2024-12-11 16:10                                 ` Stephen Hemminger
2024-12-12  2:06                                 ` Junlong Wang
2024-12-12  3:35                                 ` Junlong Wang
2024-12-17 11:41                                 ` [PATCH v3 00/15] net/zxdh: updated net zxdh driver Junlong Wang
2024-12-17 11:41                                   ` [PATCH v3 01/15] net/zxdh: zxdh np init implementation Junlong Wang
2024-12-17 11:41                                   ` [PATCH v3 02/15] net/zxdh: zxdh np uninit implementation Junlong Wang
2024-12-17 11:41                                   ` [PATCH v3 03/15] net/zxdh: port tables init implementations Junlong Wang
2024-12-17 11:41                                   ` [PATCH v3 04/15] net/zxdh: port tables unint implementations Junlong Wang
2024-12-17 11:41                                   ` [PATCH v3 05/15] net/zxdh: rx/tx queue setup and intr enable Junlong Wang
2024-12-17 11:41                                   ` [PATCH v3 06/15] net/zxdh: dev start/stop ops implementations Junlong Wang
2024-12-17 11:41                                   ` [PATCH v3 07/15] net/zxdh: provided dev simple tx implementations Junlong Wang
2024-12-17 11:41                                   ` [PATCH v3 08/15] net/zxdh: provided dev simple rx implementations Junlong Wang
2024-12-17 11:41                                   ` [PATCH v3 09/15] net/zxdh: link info update, set link up/down Junlong Wang
2024-12-17 11:41                                   ` [PATCH v3 10/15] net/zxdh: mac set/add/remove ops implementations Junlong Wang
2024-12-17 11:41                                   ` [PATCH v3 11/15] net/zxdh: promisc/allmulti " Junlong Wang
2024-12-17 11:41                                   ` [PATCH v3 12/15] net/zxdh: vlan filter/ offload " Junlong Wang
2024-12-17 11:41                                   ` [PATCH v3 13/15] net/zxdh: rss hash config/update, reta update/get Junlong Wang
2024-12-17 11:41                                   ` [PATCH v3 14/15] net/zxdh: basic stats ops implementations Junlong Wang
2024-12-17 11:41                                   ` [PATCH v3 15/15] net/zxdh: mtu update " Junlong Wang
2024-12-18  9:25                                 ` [PATCH v4 00/15] net/zxdh: updated net zxdh driver Junlong Wang
2024-12-18  9:25                                   ` [PATCH v4 01/15] net/zxdh: zxdh np init implementation Junlong Wang
2024-12-18  9:25                                   ` [PATCH v4 02/15] net/zxdh: zxdh np uninit implementation Junlong Wang
2024-12-18  9:25                                   ` [PATCH v4 03/15] net/zxdh: port tables init implementations Junlong Wang
2024-12-18  9:25                                   ` [PATCH v4 04/15] net/zxdh: port tables unint implementations Junlong Wang
2024-12-18  9:25                                   ` [PATCH v4 05/15] net/zxdh: rx/tx queue setup and intr enable Junlong Wang
2024-12-18  9:25                                   ` [PATCH v4 06/15] net/zxdh: dev start/stop ops implementations Junlong Wang
2024-12-21  0:51                                     ` Stephen Hemminger
2024-12-18  9:25                                   ` [PATCH v4 07/15] net/zxdh: provided dev simple tx implementations Junlong Wang
2024-12-18  9:25                                   ` [PATCH v4 08/15] net/zxdh: provided dev simple rx implementations Junlong Wang
2024-12-18  9:25                                   ` [PATCH v4 09/15] net/zxdh: link info update, set link up/down Junlong Wang
2024-12-18  9:25                                   ` [PATCH v4 10/15] net/zxdh: mac set/add/remove ops implementations Junlong Wang
2024-12-18  9:25                                   ` [PATCH v4 11/15] net/zxdh: promisc/allmulti " Junlong Wang
2024-12-18  9:25                                   ` [PATCH v4 12/15] net/zxdh: vlan filter/ offload " Junlong Wang
2024-12-18  9:26                                   ` [PATCH v4 13/15] net/zxdh: rss hash config/update, reta update/get Junlong Wang
2024-12-21  0:44                                     ` Stephen Hemminger
2024-12-18  9:26                                   ` [PATCH v4 14/15] net/zxdh: basic stats ops implementations Junlong Wang
2024-12-18  9:26                                   ` [PATCH v4 15/15] net/zxdh: mtu update " Junlong Wang
2024-12-21  0:33                                     ` Stephen Hemminger
2024-12-23 11:02                                 ` [PATCH v5 00/15] net/zxdh: updated net zxdh driver Junlong Wang
2024-12-23 11:02                                   ` [PATCH v5 01/15] net/zxdh: zxdh np init implementation Junlong Wang
2024-12-23 11:02                                   ` [PATCH v5 02/15] net/zxdh: zxdh np uninit implementation Junlong Wang
2024-12-23 11:02                                   ` [PATCH v5 03/15] net/zxdh: port tables init implementations Junlong Wang
2024-12-23 11:02                                   ` [PATCH v5 04/15] net/zxdh: port tables unint implementations Junlong Wang
2024-12-23 11:02                                   ` [PATCH v5 05/15] net/zxdh: rx/tx queue setup and intr enable Junlong Wang
2024-12-23 11:02                                   ` [PATCH v5 06/15] net/zxdh: dev start/stop ops implementations Junlong Wang
2024-12-23 11:02                                   ` [PATCH v5 07/15] net/zxdh: provided dev simple tx implementations Junlong Wang
2024-12-23 11:02                                   ` [PATCH v5 08/15] net/zxdh: provided dev simple rx implementations Junlong Wang
2024-12-23 11:02                                   ` [PATCH v5 09/15] net/zxdh: link info update, set link up/down Junlong Wang
2024-12-23 11:02                                   ` [PATCH v5 10/15] net/zxdh: mac set/add/remove ops implementations Junlong Wang
2024-12-23 11:02                                   ` [PATCH v5 11/15] net/zxdh: promisc/allmulti " Junlong Wang
2024-12-23 11:02                                   ` [PATCH v5 12/15] net/zxdh: vlan filter/ offload " Junlong Wang
2024-12-23 11:02                                   ` [PATCH v5 13/15] net/zxdh: rss hash config/update, reta update/get Junlong Wang
2024-12-23 11:02                                   ` [PATCH v5 14/15] net/zxdh: basic stats ops implementations Junlong Wang
2024-12-23 11:02                                   ` [PATCH v5 15/15] net/zxdh: mtu update " Junlong Wang
2024-12-24 20:30                                   ` [PATCH v5 00/15] net/zxdh: updated net zxdh driver Stephen Hemminger
2024-12-24 20:47                                   ` Stephen Hemminger
2024-12-26  3:37                                 ` [PATCH v6 " Junlong Wang
2024-12-26  3:37                                   ` [PATCH v6 01/15] net/zxdh: zxdh np init implementation Junlong Wang
2024-12-26  3:37                                   ` [PATCH v6 02/15] net/zxdh: zxdh np uninit implementation Junlong Wang
2024-12-26  3:37                                   ` [PATCH v6 03/15] net/zxdh: port tables init implementations Junlong Wang
2024-12-26  3:37                                   ` [PATCH v6 04/15] net/zxdh: port tables unint implementations Junlong Wang
2024-12-26  3:37                                   ` [PATCH v6 05/15] net/zxdh: rx/tx queue setup and intr enable Junlong Wang
2024-12-26  3:37                                   ` [PATCH v6 06/15] net/zxdh: dev start/stop ops implementations Junlong Wang
2024-12-26  3:37                                   ` [PATCH v6 07/15] net/zxdh: provided dev simple tx implementations Junlong Wang
2024-12-26  3:37                                   ` [PATCH v6 08/15] net/zxdh: provided dev simple rx implementations Junlong Wang
2024-12-26  3:37                                   ` [PATCH v6 09/15] net/zxdh: link info update, set link up/down Junlong Wang
2024-12-26  3:37                                   ` [PATCH v6 10/15] net/zxdh: mac set/add/remove ops implementations Junlong Wang
2024-12-26  3:37                                   ` [PATCH v6 11/15] net/zxdh: promisc/allmulti " Junlong Wang
2024-12-26  3:37                                   ` [PATCH v6 12/15] net/zxdh: vlan filter/ offload " Junlong Wang
2024-12-26  3:37                                   ` [PATCH v6 13/15] net/zxdh: rss hash config/update, reta update/get Junlong Wang
2024-12-26  3:37                                   ` [PATCH v6 14/15] net/zxdh: basic stats ops implementations Junlong Wang
2024-12-26  3:37                                   ` [PATCH v6 15/15] net/zxdh: mtu update " Junlong Wang
2025-01-02 11:39                                   ` [v6,00/15] net/zxdh: updated net zxdh driver Junlong Wang
2025-01-02 16:42                                     ` Stephen Hemminger
2025-01-14 18:15                                   ` [PATCH v6 00/15] " Stephen Hemminger
2025-01-16  2:10                                 ` [PATCH v7 " Junlong Wang
2025-01-16  2:10                                   ` [PATCH v7 01/15] net/zxdh: zxdh np init implementation Junlong Wang
2025-01-16 17:04                                     ` Stephen Hemminger
2025-01-17  1:39                                     ` Junlong Wang
2025-01-16  2:10                                   ` [PATCH v7 02/15] net/zxdh: zxdh np uninit implementation Junlong Wang
2025-01-16  2:10                                   ` [PATCH v7 03/15] net/zxdh: port tables init implementations Junlong Wang
2025-01-16  2:10                                   ` [PATCH v7 04/15] net/zxdh: port tables unint implementations Junlong Wang
2025-01-16  2:10                                   ` [PATCH v7 05/15] net/zxdh: rx/tx queue setup and intr enable Junlong Wang
2025-01-16  2:10                                   ` [PATCH v7 06/15] net/zxdh: dev start/stop ops implementations Junlong Wang
2025-01-16  2:10                                   ` [PATCH v7 07/15] net/zxdh: provided dev simple tx implementations Junlong Wang
2025-01-16  2:10                                   ` [PATCH v7 08/15] net/zxdh: provided dev simple rx implementations Junlong Wang
2025-01-16  2:10                                   ` [PATCH v7 09/15] net/zxdh: link info update, set link up/down Junlong Wang
2025-01-16  2:10                                   ` [PATCH v7 10/15] net/zxdh: mac set/add/remove ops implementations Junlong Wang
2025-01-16  2:10                                   ` [PATCH v7 11/15] net/zxdh: promisc/allmulti " Junlong Wang
2025-01-16  2:10                                   ` [PATCH v7 12/15] net/zxdh: vlan filter/ offload " Junlong Wang
2025-01-16  2:10                                   ` [PATCH v7 13/15] net/zxdh: rss hash config/update, reta update/get Junlong Wang
2025-01-16  2:10                                   ` [PATCH v7 14/15] net/zxdh: basic stats ops implementations Junlong Wang
2025-01-16  2:11                                   ` [PATCH v7 15/15] net/zxdh: mtu update " Junlong Wang
2025-01-20  3:47                                 ` [PATCH v8 00/15] net/zxdh: updated net zxdh driver Junlong Wang
2025-01-20  3:47                                   ` [PATCH v8 01/15] net/zxdh: zxdh np init implementation Junlong Wang
2025-01-20  3:47                                   ` [PATCH v8 02/15] net/zxdh: zxdh np uninit implementation Junlong Wang
2025-01-20  3:47                                   ` [PATCH v8 03/15] net/zxdh: port tables init implementations Junlong Wang
2025-01-20  3:47                                   ` [PATCH v8 04/15] net/zxdh: port tables unint implementations Junlong Wang
2025-01-20  3:47                                   ` [PATCH v8 05/15] net/zxdh: rx/tx queue setup and intr enable Junlong Wang
2025-01-20  3:47                                   ` [PATCH v8 06/15] net/zxdh: dev start/stop ops implementations Junlong Wang
2025-01-20  3:47                                   ` [PATCH v8 07/15] net/zxdh: provided dev simple tx implementations Junlong Wang
2025-01-20  3:47                                   ` [PATCH v8 08/15] net/zxdh: provided dev simple rx implementations Junlong Wang
2025-01-20  3:47                                   ` [PATCH v8 09/15] net/zxdh: link info update, set link up/down Junlong Wang
2025-01-20  3:47                                   ` [PATCH v8 10/15] net/zxdh: mac set/add/remove ops implementations Junlong Wang
2025-01-20  3:47                                   ` [PATCH v8 11/15] net/zxdh: promisc/allmulti " Junlong Wang
2025-01-20  3:47                                   ` [PATCH v8 12/15] net/zxdh: vlan filter/ offload " Junlong Wang
2025-01-20  3:47                                   ` [PATCH v8 13/15] net/zxdh: rss hash config/update, reta update/get Junlong Wang
2025-01-20  3:47                                   ` [PATCH v8 14/15] net/zxdh: basic stats ops implementations Junlong Wang
2025-01-21  0:21                                     ` Stephen Hemminger
2025-01-20  3:47                                   ` [PATCH v8 15/15] net/zxdh: mtu update " Junlong Wang
2025-01-22 17:46                                   ` [PATCH v8 00/15] net/zxdh: updated net zxdh driver Stephen Hemminger
2025-01-22 18:07                                     ` Stephen Hemminger
2025-01-23  7:27                                   ` Junlong Wang
2025-01-21  3:44                                 ` [PATCH v9 " Junlong Wang
2025-01-21  3:44                                   ` [PATCH v9 01/15] net/zxdh: zxdh np init implementation Junlong Wang
2025-02-13  6:41                                     ` [PATCH v1 00/16] net/zxdh: updated net zxdh driver Junlong Wang
2025-02-13  6:41                                       ` [PATCH v1 01/16] net/zxdh: optimize np dtb channel initialization Junlong Wang
2025-02-13  6:41                                       ` [PATCH v1 02/16] net/zxdh: optimize queue res alloc/free process Junlong Wang
2025-02-13  6:41                                       ` [PATCH v1 03/16] net/zxdh: optimize link update process Junlong Wang
2025-02-13  6:41                                       ` [PATCH v1 04/16] net/zxdh: update rx/tx to latest Junlong Wang
2025-02-13  6:41                                       ` [PATCH v1 05/16] net/zxdh: provided msg(pfvf) intr callback Junlong Wang
2025-02-13  6:41                                       ` [PATCH v1 06/16] net/zxdh: optimize mac ops Junlong Wang
2025-02-13  6:41                                       ` [PATCH v1 07/16] net/zxdh: optimize promisc ops Junlong Wang
2025-02-13  6:41                                       ` Junlong Wang [this message]
2025-02-13  6:41                                       ` [PATCH v1 09/16] net/zxdh: optimize rss hash config/update, reta update/get Junlong Wang
2025-02-13  6:41                                       ` [PATCH v1 10/16] net/zxdh: optimize mtu set ops Junlong Wang
2025-02-13  6:41                                       ` [PATCH v1 11/16] net/zxdh: optimize basic stats ops Junlong Wang
2025-02-13  6:41                                       ` [PATCH v1 12/16] net/zxdh: provided csum/tso/lro config Junlong Wang
2025-02-13  6:41                                       ` [PATCH v1 13/16] net/zxdh: provided rxq/txq info get implementations Junlong Wang
2025-02-13  6:41                                       ` [PATCH v1 14/16] net/zxdh: provide extended stats ops implementations Junlong Wang
2025-02-13  6:41                                       ` [PATCH v1 15/16] net/zxdh: provide ptypes fw_version module info/eeprom ops Junlong Wang
2025-02-13  6:41                                       ` [PATCH v1 16/16] net/zxdh: provide meter ops implementations Junlong Wang
2025-01-21  3:44                                   ` [PATCH v9 02/15] net/zxdh: zxdh np uninit implementation Junlong Wang
2025-01-21  3:44                                   ` [PATCH v9 03/15] net/zxdh: port tables init implementations Junlong Wang
2025-02-04  2:35                                     ` Stephen Hemminger
2025-02-05 12:47                                       ` Thomas Monjalon
2025-01-21  3:44                                   ` [PATCH v9 04/15] net/zxdh: port tables unint implementations Junlong Wang
2025-01-21  3:44                                   ` [PATCH v9 05/15] net/zxdh: rx/tx queue setup and intr enable Junlong Wang
2025-01-21  3:44                                   ` [PATCH v9 06/15] net/zxdh: dev start/stop ops implementations Junlong Wang
2025-01-21  3:44                                   ` [PATCH v9 07/15] net/zxdh: provided dev simple tx implementations Junlong Wang
2025-01-21  3:44                                   ` [PATCH v9 08/15] net/zxdh: provided dev simple rx implementations Junlong Wang
2025-01-21  3:44                                   ` [PATCH v9 09/15] net/zxdh: link info update, set link up/down Junlong Wang
2025-01-21  3:44                                   ` [PATCH v9 10/15] net/zxdh: mac set/add/remove ops implementations Junlong Wang
2025-01-21  3:44                                   ` [PATCH v9 11/15] net/zxdh: promisc/allmulti " Junlong Wang
2025-01-21  3:44                                   ` [PATCH v9 12/15] net/zxdh: vlan filter/ offload " Junlong Wang
2025-01-21  3:44                                   ` [PATCH v9 13/15] net/zxdh: rss hash config/update, reta update/get Junlong Wang
2025-01-21  3:44                                   ` [PATCH v9 14/15] net/zxdh: basic stats ops implementations Junlong Wang
2025-01-21  3:44                                   ` [PATCH v9 15/15] net/zxdh: mtu update " Junlong Wang
2025-01-22  7:47                                   ` [v9,00/15] net/zxdh: updated net zxdh driver Junlong Wang
2025-01-28 20:12                                   ` [PATCH v9 00/15] " Stephen Hemminger
2024-12-10  5:53                               ` [PATCH v2 02/15] net/zxdh: zxdh np uninit implementation Junlong Wang
2024-12-13 19:38                                 ` Stephen Hemminger
2024-12-13 19:41                                 ` Stephen Hemminger
2024-12-13 19:41                                 ` Stephen Hemminger
2024-12-10  5:53                               ` [PATCH v2 03/15] net/zxdh: port tables init implementations Junlong Wang
2024-12-13 19:42                                 ` Stephen Hemminger
2024-12-10  5:53                               ` [PATCH v2 04/15] net/zxdh: port tables unint implementations Junlong Wang
2024-12-13 19:45                                 ` Stephen Hemminger
2024-12-13 19:48                                 ` Stephen Hemminger
2024-12-10  5:53                               ` [PATCH v2 05/15] net/zxdh: rx/tx queue setup and intr enable Junlong Wang
2024-12-10  5:53                               ` [PATCH v2 06/15] net/zxdh: dev start/stop ops implementations Junlong Wang
2024-12-13 21:05                                 ` Stephen Hemminger
2024-12-10  5:53                               ` [PATCH v2 07/15] net/zxdh: provided dev simple tx implementations Junlong Wang
2024-12-10  5:53                               ` [PATCH v2 08/15] net/zxdh: provided dev simple rx implementations Junlong Wang
2024-12-10  5:53                               ` [PATCH v2 09/15] net/zxdh: link info update, set link up/down Junlong Wang
2024-12-13 19:57                                 ` Stephen Hemminger
2024-12-13 20:08                                 ` Stephen Hemminger
2024-12-10  5:53                               ` [PATCH v2 10/15] net/zxdh: mac set/add/remove ops implementations Junlong Wang
2024-12-10  5:53                               ` [PATCH v2 11/15] net/zxdh: promisc/allmulti " Junlong Wang
2024-12-10  5:53                               ` [PATCH v2 12/15] net/zxdh: vlan filter/ offload " Junlong Wang
2024-12-10  5:53                               ` [PATCH v2 13/15] net/zxdh: rss hash config/update, reta update/get Junlong Wang
2024-12-10  5:53                               ` [PATCH v2 14/15] net/zxdh: basic stats ops implementations Junlong Wang
2024-12-10  5:53                               ` [PATCH v2 15/15] net/zxdh: mtu update " Junlong Wang
2024-12-06  5:57                           ` [PATCH v1 02/15] net/zxdh: zxdh np uninit implementation Junlong Wang
2024-12-06  5:57                           ` [PATCH v1 03/15] net/zxdh: port tables init implementations Junlong Wang
2024-12-06  5:57                           ` [PATCH v1 04/15] net/zxdh: port tables unint implementations Junlong Wang
2024-12-06  5:57                           ` [PATCH v1 05/15] net/zxdh: rx/tx queue setup and intr enable Junlong Wang
2024-12-06  5:57                           ` [PATCH v1 06/15] net/zxdh: dev start/stop ops implementations Junlong Wang
2024-12-06  5:57                           ` [PATCH v1 07/15] net/zxdh: provided dev simple tx implementations Junlong Wang
2024-12-06  5:57                           ` [PATCH v1 08/15] net/zxdh: provided dev simple rx implementations Junlong Wang
2024-12-06  5:57                           ` [PATCH v1 09/15] net/zxdh: link info update, set link up/down Junlong Wang
2024-12-06  5:57                           ` [PATCH v1 10/15] net/zxdh: mac set/add/remove ops implementations Junlong Wang
2024-12-06  5:57                           ` [PATCH v1 11/15] net/zxdh: promiscuous/allmulticast " Junlong Wang
2024-12-06  5:57                           ` [PATCH v1 12/15] net/zxdh: vlan filter, vlan offload " Junlong Wang
2024-12-06  5:57                           ` [PATCH v1 13/15] net/zxdh: rss hash config/update, reta update/get Junlong Wang
2024-12-06  5:57                           ` [PATCH v1 14/15] net/zxdh: basic stats ops implementations Junlong Wang
2024-12-06  5:57                           ` [PATCH v1 15/15] net/zxdh: mtu update " Junlong Wang
2024-11-04 11:58                       ` [PATCH v10 02/10] net/zxdh: add logging implementation Junlong Wang
2024-11-04 11:58                       ` [PATCH v10 03/10] net/zxdh: add zxdh device pci init implementation Junlong Wang
2024-11-04 11:58                       ` [PATCH v10 04/10] net/zxdh: add msg chan and msg hwlock init Junlong Wang
2024-11-04 11:58                       ` [PATCH v10 05/10] net/zxdh: add msg chan enable implementation Junlong Wang
2024-11-04 11:58                       ` [PATCH v10 06/10] net/zxdh: add zxdh get device backend infos Junlong Wang
2024-11-04 11:58                       ` [PATCH v10 07/10] net/zxdh: add configure zxdh intr implementation Junlong Wang
2024-11-04 11:58                       ` [PATCH v10 08/10] net/zxdh: add zxdh dev infos get ops Junlong Wang
2024-11-04 11:58                       ` [PATCH v10 09/10] net/zxdh: add zxdh dev configure ops Junlong Wang
2024-11-04 11:58                       ` [PATCH v10 10/10] net/zxdh: add zxdh dev close ops Junlong Wang
2024-11-06  0:40                       ` [PATCH v10 00/10] net/zxdh: introduce net zxdh driver Ferruh Yigit
2024-11-07  9:28                         ` Ferruh Yigit
2024-11-07  9:58                           ` Ferruh Yigit
2024-11-12  2:49                       ` Junlong Wang
2024-11-01  6:21                   ` [PATCH v9 2/9] net/zxdh: add logging implementation Junlong Wang
2024-11-02  1:02                     ` Ferruh Yigit
2024-11-04  2:44                     ` [v9,2/9] " Junlong Wang
2024-11-01  6:21                   ` [PATCH v9 3/9] net/zxdh: add zxdh device pci init implementation Junlong Wang
2024-11-02  1:01                     ` Ferruh Yigit
2024-11-01  6:21                   ` [PATCH v9 4/9] net/zxdh: add msg chan and msg hwlock init Junlong Wang
2024-11-02  1:00                     ` Ferruh Yigit
2024-11-04  2:47                     ` Junlong Wang
2024-11-01  6:21                   ` [PATCH v9 5/9] net/zxdh: add msg chan enable implementation Junlong Wang
2024-11-01  6:21                   ` [PATCH v9 6/9] net/zxdh: add zxdh get device backend infos Junlong Wang
2024-11-02  1:06                     ` Ferruh Yigit
2024-11-04  3:30                     ` [v9,6/9] " Junlong Wang
2024-11-01  6:21                   ` [PATCH v9 7/9] net/zxdh: add configure zxdh intr implementation Junlong Wang
2024-11-02  1:07                     ` Ferruh Yigit
2024-11-01  6:21                   ` [PATCH v9 8/9] net/zxdh: add zxdh dev infos get ops Junlong Wang
2024-11-01  6:21                   ` [PATCH v9 9/9] net/zxdh: add zxdh dev configure ops Junlong Wang
2024-11-02  0:56                   ` [PATCH v9 0/9] net/zxdh: introduce net zxdh driver Ferruh Yigit
2024-11-04  2:42                   ` Junlong Wang
2024-11-04  8:46                     ` Ferruh Yigit
2024-11-04  9:52                       ` David Marchand
2024-11-04 11:46                   ` Junlong Wang
2024-11-04 22:47                     ` Thomas Monjalon
2024-11-05  9:39                   ` Junlong Wang
2024-11-06  0:38                     ` Ferruh Yigit
2024-10-30  9:01               ` [PATCH v8 2/9] net/zxdh: add logging implementation Junlong Wang
2024-10-30  9:01               ` [PATCH v8 3/9] net/zxdh: add zxdh device pci init implementation Junlong Wang
2024-10-30 14:55                 ` David Marchand
2024-10-30  9:01               ` [PATCH v8 4/9] net/zxdh: add msg chan and msg hwlock init Junlong Wang
2024-10-30  9:01               ` [PATCH v8 5/9] net/zxdh: add msg chan enable implementation Junlong Wang
2024-10-30  9:01               ` [PATCH v8 6/9] net/zxdh: add zxdh get device backend infos Junlong Wang
2024-10-30  9:01               ` [PATCH v8 7/9] net/zxdh: add configure zxdh intr implementation Junlong Wang
2024-10-30  9:01               ` [PATCH v8 8/9] net/zxdh: add zxdh dev infos get ops Junlong Wang
2024-10-30  9:01               ` [PATCH v8 9/9] net/zxdh: add zxdh dev configure ops Junlong Wang
2024-10-22 12:20           ` [PATCH v7 2/9] net/zxdh: add logging implementation Junlong Wang
2024-10-22 12:20           ` [PATCH v7 3/9] net/zxdh: add zxdh device pci init implementation Junlong Wang
2024-10-27 16:47             ` Stephen Hemminger
2024-10-27 16:47             ` Stephen Hemminger
2024-10-22 12:20           ` [PATCH v7 4/9] net/zxdh: add msg chan and msg hwlock init Junlong Wang
2024-10-22 12:20           ` [PATCH v7 5/9] net/zxdh: add msg chan enable implementation Junlong Wang
2024-10-26 17:05             ` Thomas Monjalon
2024-10-22 12:20           ` [PATCH v7 6/9] net/zxdh: add zxdh get device backend infos Junlong Wang
2024-10-22 12:20           ` [PATCH v7 7/9] net/zxdh: add configure zxdh intr implementation Junlong Wang
2024-10-27 17:07             ` Stephen Hemminger
2024-10-22 12:20           ` [PATCH v7 8/9] net/zxdh: add zxdh dev infos get ops Junlong Wang
2024-10-22 12:20           ` [PATCH v7 9/9] net/zxdh: add zxdh dev configure ops Junlong Wang
2024-10-24 11:31             ` [v7,9/9] " Junlong Wang
2024-10-25  9:48             ` Junlong Wang
2024-10-26  2:32             ` Junlong Wang
2024-10-27 16:40             ` [PATCH v7 9/9] " Stephen Hemminger
2024-10-27 17:03               ` Stephen Hemminger
2024-10-27 16:58             ` Stephen Hemminger
2024-12-19 22:38 ` [PATCH v4] net/zxdh: Provided zxdh basic init Stephen Hemminger
2024-12-20  1:47 ` Junlong Wang

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20250213064134.88166-9-wang.junlong1@zte.com.cn \
    --to=wang.junlong1@zte.com.cn \
    --cc=dev@dpdk.org \
    --cc=stephen@networkplumber.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).