All of lore.kernel.org
 help / color / mirror / Atom feed
From: Kevin Liu <kevinx.liu@intel.com>
To: dev@dpdk.org
Cc: qiming.yang@intel.com, qi.z.zhang@intel.com,
	stevex.yang@intel.com, Kevin Liu <kevinx.liu@intel.com>,
	Alvin Zhang <alvinx.zhang@intel.com>
Subject: [PATCH v5 07/12] net/ice: support dcf MAC configuration
Date: Thu, 21 Apr 2022 11:13:58 +0000	[thread overview]
Message-ID: <20220421111403.1334288-8-kevinx.liu@intel.com> (raw)
In-Reply-To: <20220421111403.1334288-1-kevinx.liu@intel.com>

Below PMD ops are supported in this patch:
    .mac_addr_add      = dcf_dev_add_mac_addr
    .mac_addr_remove   = dcf_dev_del_mac_addr
    .set_mc_addr_list  = dcf_set_mc_addr_list
    .mac_addr_set      = dcf_dev_set_default_mac_addr

Signed-off-by: Alvin Zhang <alvinx.zhang@intel.com>
Signed-off-by: Kevin Liu <kevinx.liu@intel.com>
---
 drivers/net/ice/ice_dcf.c        |   9 +-
 drivers/net/ice/ice_dcf.h        |   4 +-
 drivers/net/ice/ice_dcf_ethdev.c | 218 ++++++++++++++++++++++++++++++-
 drivers/net/ice/ice_dcf_ethdev.h |   5 +-
 4 files changed, 226 insertions(+), 10 deletions(-)

diff --git a/drivers/net/ice/ice_dcf.c b/drivers/net/ice/ice_dcf.c
index 89c0203ba3..55ae68c456 100644
--- a/drivers/net/ice/ice_dcf.c
+++ b/drivers/net/ice/ice_dcf.c
@@ -1089,10 +1089,11 @@ ice_dcf_query_stats(struct ice_dcf_hw *hw,
 }
 
 int
-ice_dcf_add_del_all_mac_addr(struct ice_dcf_hw *hw, bool add)
+ice_dcf_add_del_all_mac_addr(struct ice_dcf_hw *hw,
+			     struct rte_ether_addr *addr,
+			     bool add, uint8_t type)
 {
 	struct virtchnl_ether_addr_list *list;
-	struct rte_ether_addr *addr;
 	struct dcf_virtchnl_cmd args;
 	int len, err = 0;
 
@@ -1105,7 +1106,6 @@ ice_dcf_add_del_all_mac_addr(struct ice_dcf_hw *hw, bool add)
 	}
 
 	len = sizeof(struct virtchnl_ether_addr_list);
-	addr = hw->eth_dev->data->mac_addrs;
 	len += sizeof(struct virtchnl_ether_addr);
 
 	list = rte_zmalloc(NULL, len, 0);
@@ -1116,9 +1116,10 @@ ice_dcf_add_del_all_mac_addr(struct ice_dcf_hw *hw, bool add)
 
 	rte_memcpy(list->list[0].addr, addr->addr_bytes,
 			sizeof(addr->addr_bytes));
+
 	PMD_DRV_LOG(DEBUG, "add/rm mac:" RTE_ETHER_ADDR_PRT_FMT,
 			    RTE_ETHER_ADDR_BYTES(addr));
-
+	list->list[0].type = type;
 	list->vsi_id = hw->vsi_res->vsi_id;
 	list->num_elements = 1;
 
diff --git a/drivers/net/ice/ice_dcf.h b/drivers/net/ice/ice_dcf.h
index f0b45af5ae..78df202a77 100644
--- a/drivers/net/ice/ice_dcf.h
+++ b/drivers/net/ice/ice_dcf.h
@@ -131,7 +131,9 @@ int ice_dcf_switch_queue(struct ice_dcf_hw *hw, uint16_t qid, bool rx, bool on);
 int ice_dcf_disable_queues(struct ice_dcf_hw *hw);
 int ice_dcf_query_stats(struct ice_dcf_hw *hw,
 			struct virtchnl_eth_stats *pstats);
-int ice_dcf_add_del_all_mac_addr(struct ice_dcf_hw *hw, bool add);
+int ice_dcf_add_del_all_mac_addr(struct ice_dcf_hw *hw,
+				 struct rte_ether_addr *addr, bool add,
+				 uint8_t type);
 int ice_dcf_link_update(struct rte_eth_dev *dev,
 		    __rte_unused int wait_to_complete);
 void ice_dcf_tm_conf_init(struct rte_eth_dev *dev);
diff --git a/drivers/net/ice/ice_dcf_ethdev.c b/drivers/net/ice/ice_dcf_ethdev.c
index 87d281ee93..0d944f9fd2 100644
--- a/drivers/net/ice/ice_dcf_ethdev.c
+++ b/drivers/net/ice/ice_dcf_ethdev.c
@@ -26,6 +26,12 @@
 #include "ice_dcf_ethdev.h"
 #include "ice_rxtx.h"
 
+#define DCF_NUM_MACADDR_MAX      64
+
+static int dcf_add_del_mc_addr_list(struct ice_dcf_hw *hw,
+						struct rte_ether_addr *mc_addrs,
+						uint32_t mc_addrs_num, bool add);
+
 static int
 ice_dcf_dev_udp_tunnel_port_add(struct rte_eth_dev *dev,
 				struct rte_eth_udp_tunnel *udp_tunnel);
@@ -561,12 +567,22 @@ ice_dcf_dev_start(struct rte_eth_dev *dev)
 		return ret;
 	}
 
-	ret = ice_dcf_add_del_all_mac_addr(hw, true);
+	ret = ice_dcf_add_del_all_mac_addr(hw, hw->eth_dev->data->mac_addrs,
+					   true, VIRTCHNL_ETHER_ADDR_PRIMARY);
 	if (ret) {
 		PMD_DRV_LOG(ERR, "Failed to add mac addr");
 		return ret;
 	}
 
+	if (dcf_ad->mc_addrs_num) {
+		/* flush previous addresses */
+		ret = dcf_add_del_mc_addr_list(hw, dcf_ad->mc_addrs,
+						dcf_ad->mc_addrs_num, true);
+		if (ret)
+			return ret;
+	}
+
+
 	dev->data->dev_link.link_status = RTE_ETH_LINK_UP;
 
 	return 0;
@@ -625,7 +641,16 @@ ice_dcf_dev_stop(struct rte_eth_dev *dev)
 	rte_intr_efd_disable(intr_handle);
 	rte_intr_vec_list_free(intr_handle);
 
-	ice_dcf_add_del_all_mac_addr(&dcf_ad->real_hw, false);
+	ice_dcf_add_del_all_mac_addr(&dcf_ad->real_hw,
+				     dcf_ad->real_hw.eth_dev->data->mac_addrs,
+				     false, VIRTCHNL_ETHER_ADDR_PRIMARY);
+
+	if (dcf_ad->mc_addrs_num)
+		/* flush previous addresses */
+		(void)dcf_add_del_mc_addr_list(&dcf_ad->real_hw,
+										dcf_ad->mc_addrs,
+							dcf_ad->mc_addrs_num, false);
+
 	dev->data->dev_link.link_status = RTE_ETH_LINK_DOWN;
 	ad->pf.adapter_stopped = 1;
 	hw->tm_conf.committed = false;
@@ -655,7 +680,7 @@ ice_dcf_dev_info_get(struct rte_eth_dev *dev,
 	struct ice_dcf_adapter *adapter = dev->data->dev_private;
 	struct ice_dcf_hw *hw = &adapter->real_hw;
 
-	dev_info->max_mac_addrs = 1;
+	dev_info->max_mac_addrs = DCF_NUM_MACADDR_MAX;
 	dev_info->max_rx_queues = hw->vsi_res->num_queue_pairs;
 	dev_info->max_tx_queues = hw->vsi_res->num_queue_pairs;
 	dev_info->min_rx_bufsize = ICE_BUF_SIZE_MIN;
@@ -818,6 +843,189 @@ ice_dcf_dev_allmulticast_disable(__rte_unused struct rte_eth_dev *dev)
 				  false);
 }
 
+static int
+dcf_dev_add_mac_addr(struct rte_eth_dev *dev, struct rte_ether_addr *addr,
+		     __rte_unused uint32_t index,
+		     __rte_unused uint32_t pool)
+{
+	struct ice_dcf_adapter *adapter = dev->data->dev_private;
+	int err;
+
+	if (rte_is_zero_ether_addr(addr)) {
+		PMD_DRV_LOG(ERR, "Invalid Ethernet Address");
+		return -EINVAL;
+	}
+
+	err = ice_dcf_add_del_all_mac_addr(&adapter->real_hw, addr, true,
+					   VIRTCHNL_ETHER_ADDR_EXTRA);
+	if (err) {
+		PMD_DRV_LOG(ERR, "fail to add MAC address");
+		return err;
+	}
+
+	return 0;
+}
+
+static void
+dcf_dev_del_mac_addr(struct rte_eth_dev *dev, uint32_t index)
+{
+	struct ice_dcf_adapter *adapter = dev->data->dev_private;
+	struct rte_ether_addr *addr = &dev->data->mac_addrs[index];
+	int err;
+
+	err = ice_dcf_add_del_all_mac_addr(&adapter->real_hw, addr, false,
+					   VIRTCHNL_ETHER_ADDR_EXTRA);
+	if (err)
+		PMD_DRV_LOG(ERR, "fail to remove MAC address");
+}
+
+static int
+dcf_add_del_mc_addr_list(struct ice_dcf_hw *hw,
+			 struct rte_ether_addr *mc_addrs,
+			 uint32_t mc_addrs_num, bool add)
+{
+	struct virtchnl_ether_addr_list *list;
+	struct dcf_virtchnl_cmd args;
+	uint32_t i;
+	int len, err = 0;
+
+	len = sizeof(struct virtchnl_ether_addr_list);
+	len += sizeof(struct virtchnl_ether_addr) * mc_addrs_num;
+
+	list = rte_zmalloc(NULL, len, 0);
+	if (!list) {
+		PMD_DRV_LOG(ERR, "fail to allocate memory");
+		return -ENOMEM;
+	}
+
+	for (i = 0; i < mc_addrs_num; i++) {
+		memcpy(list->list[i].addr, mc_addrs[i].addr_bytes,
+		       sizeof(list->list[i].addr));
+		list->list[i].type = VIRTCHNL_ETHER_ADDR_EXTRA;
+	}
+
+	list->vsi_id = hw->vsi_res->vsi_id;
+	list->num_elements = mc_addrs_num;
+
+	memset(&args, 0, sizeof(args));
+	args.v_op = add ? VIRTCHNL_OP_ADD_ETH_ADDR :
+			VIRTCHNL_OP_DEL_ETH_ADDR;
+	args.req_msg = (uint8_t *)list;
+	args.req_msglen  = len;
+	err = ice_dcf_execute_virtchnl_cmd(hw, &args);
+	if (err)
+		PMD_DRV_LOG(ERR, "fail to execute command %s",
+			    add ? "OP_ADD_ETHER_ADDRESS" :
+			    "OP_DEL_ETHER_ADDRESS");
+	rte_free(list);
+	return err;
+}
+
+static int
+dcf_set_mc_addr_list(struct rte_eth_dev *dev,
+		     struct rte_ether_addr *mc_addrs,
+		     uint32_t mc_addrs_num)
+{
+	struct ice_dcf_adapter *adapter = dev->data->dev_private;
+	struct ice_dcf_hw *hw = &adapter->real_hw;
+	uint32_t i;
+	int ret;
+
+
+	if (mc_addrs_num > DCF_NUM_MACADDR_MAX) {
+		PMD_DRV_LOG(ERR,
+			    "can't add more than a limited number (%u) of addresses.",
+			    (uint32_t)DCF_NUM_MACADDR_MAX);
+		return -EINVAL;
+	}
+
+	for (i = 0; i < mc_addrs_num; i++) {
+		if (!rte_is_multicast_ether_addr(&mc_addrs[i])) {
+			const uint8_t *mac = mc_addrs[i].addr_bytes;
+
+			PMD_DRV_LOG(ERR,
+				    "Invalid mac: %02x:%02x:%02x:%02x:%02x:%02x",
+				    mac[0], mac[1], mac[2], mac[3], mac[4],
+				    mac[5]);
+			return -EINVAL;
+		}
+	}
+
+	if (adapter->mc_addrs_num) {
+		/* flush previous addresses */
+		ret = dcf_add_del_mc_addr_list(hw, adapter->mc_addrs,
+							adapter->mc_addrs_num, false);
+		if (ret)
+			return ret;
+	}
+	if (!mc_addrs_num) {
+		adapter->mc_addrs_num = 0;
+		return 0;
+	}
+
+    /* add new ones */
+	ret = dcf_add_del_mc_addr_list(hw, mc_addrs, mc_addrs_num, true);
+	if (ret) {
+		/* if adding mac address list fails, should add the
+		 * previous addresses back.
+		 */
+		if (adapter->mc_addrs_num)
+			(void)dcf_add_del_mc_addr_list(hw, adapter->mc_addrs,
+						       adapter->mc_addrs_num,
+						       true);
+		return ret;
+	}
+	adapter->mc_addrs_num = mc_addrs_num;
+	memcpy(adapter->mc_addrs,
+		    mc_addrs, mc_addrs_num * sizeof(*mc_addrs));
+
+	return 0;
+}
+
+static int
+dcf_dev_set_default_mac_addr(struct rte_eth_dev *dev,
+			     struct rte_ether_addr *mac_addr)
+{
+	struct ice_dcf_adapter *adapter = dev->data->dev_private;
+	struct ice_dcf_hw *hw = &adapter->real_hw;
+	struct rte_ether_addr *old_addr;
+	int ret;
+
+	old_addr = hw->eth_dev->data->mac_addrs;
+	if (rte_is_same_ether_addr(old_addr, mac_addr))
+		return 0;
+
+	ret = ice_dcf_add_del_all_mac_addr(&adapter->real_hw, old_addr, false,
+					   VIRTCHNL_ETHER_ADDR_PRIMARY);
+	if (ret)
+		PMD_DRV_LOG(ERR, "Fail to delete old MAC:"
+			    " %02X:%02X:%02X:%02X:%02X:%02X",
+			    old_addr->addr_bytes[0],
+			    old_addr->addr_bytes[1],
+			    old_addr->addr_bytes[2],
+			    old_addr->addr_bytes[3],
+			    old_addr->addr_bytes[4],
+			    old_addr->addr_bytes[5]);
+
+	ret = ice_dcf_add_del_all_mac_addr(&adapter->real_hw, mac_addr, true,
+					   VIRTCHNL_ETHER_ADDR_PRIMARY);
+	if (ret)
+		PMD_DRV_LOG(ERR, "Fail to add new MAC:"
+			    " %02X:%02X:%02X:%02X:%02X:%02X",
+			    mac_addr->addr_bytes[0],
+			    mac_addr->addr_bytes[1],
+			    mac_addr->addr_bytes[2],
+			    mac_addr->addr_bytes[3],
+			    mac_addr->addr_bytes[4],
+			    mac_addr->addr_bytes[5]);
+
+	if (ret)
+		return -EIO;
+
+	rte_ether_addr_copy(mac_addr, hw->eth_dev->data->mac_addrs);
+	return 0;
+}
+
 static int
 ice_dcf_dev_flow_ops_get(struct rte_eth_dev *dev,
 			 const struct rte_flow_ops **ops)
@@ -1326,6 +1534,10 @@ static const struct eth_dev_ops ice_dcf_eth_dev_ops = {
 	.promiscuous_disable      = ice_dcf_dev_promiscuous_disable,
 	.allmulticast_enable      = ice_dcf_dev_allmulticast_enable,
 	.allmulticast_disable     = ice_dcf_dev_allmulticast_disable,
+	.mac_addr_add             = dcf_dev_add_mac_addr,
+	.mac_addr_remove          = dcf_dev_del_mac_addr,
+	.set_mc_addr_list         = dcf_set_mc_addr_list,
+	.mac_addr_set             = dcf_dev_set_default_mac_addr,
 	.flow_ops_get             = ice_dcf_dev_flow_ops_get,
 	.udp_tunnel_port_add	  = ice_dcf_dev_udp_tunnel_port_add,
 	.udp_tunnel_port_del	  = ice_dcf_dev_udp_tunnel_port_del,
diff --git a/drivers/net/ice/ice_dcf_ethdev.h b/drivers/net/ice/ice_dcf_ethdev.h
index 22e450527b..27f6402786 100644
--- a/drivers/net/ice/ice_dcf_ethdev.h
+++ b/drivers/net/ice/ice_dcf_ethdev.h
@@ -14,7 +14,7 @@
 #include "ice_dcf.h"
 
 #define ICE_DCF_MAX_RINGS  1
-
+#define DCF_NUM_MACADDR_MAX	64
 #define ICE_DCF_FRAME_SIZE_MAX       9728
 #define ICE_DCF_VLAN_TAG_SIZE               4
 #define ICE_DCF_ETH_OVERHEAD \
@@ -35,7 +35,8 @@ struct ice_dcf_adapter {
 
 	bool promisc_unicast_enabled;
 	bool promisc_multicast_enabled;
-
+	uint32_t mc_addrs_num;
+	struct rte_ether_addr mc_addrs[DCF_NUM_MACADDR_MAX];
 	int num_reprs;
 	struct ice_dcf_repr_info *repr_infos;
 };
-- 
2.33.1


  parent reply	other threads:[~2022-04-21  3:16 UTC|newest]

Thread overview: 170+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-04-07 10:56 [PATCH 00/39] support full function of DCF Kevin Liu
2022-04-07 10:56 ` [PATCH 01/39] net/ice: enable RSS RETA ops for DCF hardware Kevin Liu
2022-04-07 10:56 ` [PATCH 02/39] net/ice: enable RSS HASH " Kevin Liu
2022-04-07 10:56 ` [PATCH 03/39] net/ice: cleanup Tx buffers Kevin Liu
2022-04-07 10:56 ` [PATCH 04/39] net/ice: add ops MTU-SET to dcf Kevin Liu
2022-04-07 10:56 ` [PATCH 05/39] net/ice: add ops dev-supported-ptypes-get " Kevin Liu
2022-04-07 10:56 ` [PATCH 06/39] net/ice: support dcf promisc configuration Kevin Liu
2022-04-07 10:56 ` [PATCH 07/39] net/ice: support dcf MAC configuration Kevin Liu
2022-04-07 10:56 ` [PATCH 08/39] net/ice: support dcf VLAN filter and offload configuration Kevin Liu
2022-04-07 10:56 ` [PATCH 09/39] net/ice: support DCF new VLAN capabilities Kevin Liu
2022-04-07 10:56 ` [PATCH 10/39] net/ice: enable CVL DCF device reset API Kevin Liu
2022-04-07 10:56 ` [PATCH 11/39] net/ice/base: add VXLAN support for switch filter Kevin Liu
2022-04-07 10:56 ` [PATCH 12/39] net/ice: " Kevin Liu
2022-04-07 10:56 ` [PATCH 13/39] common/iavf: support flushing rules and reporting DCF id Kevin Liu
2022-04-07 10:56 ` [PATCH 14/39] net/ice/base: fix ethertype filter input set Kevin Liu
2022-04-07 10:56 ` [PATCH 15/39] net/iavf: support checking if device is an MDCF instance Kevin Liu
2022-04-07 10:56 ` [PATCH 16/39] net/ice: support MDCF(multi-DCF) instance Kevin Liu
2022-04-07 10:56 ` [PATCH 17/39] net/ice/base: support custom DDP buildin recipe Kevin Liu
2022-04-07 10:56 ` [PATCH 18/39] net/ice: support buildin recipe configuration Kevin Liu
2022-04-07 10:56 ` [PATCH 19/39] net/ice/base: support IPv6 GRE UDP pattern Kevin Liu
2022-04-07 10:56 ` [PATCH 20/39] net/ice: support IPv6 NVGRE tunnel Kevin Liu
2022-04-07 10:56 ` [PATCH 21/39] net/ice: support new pattern of IPv4 Kevin Liu
2022-04-07 10:56 ` [PATCH 22/39] net/ice/base: support new patterns of TCP and UDP Kevin Liu
2022-04-07 10:56 ` [PATCH 23/39] net/ice: " Kevin Liu
2022-04-07 10:56 ` [PATCH 24/39] net/ice/base: support IPv4 GRE tunnel Kevin Liu
2022-04-07 10:56 ` [PATCH 25/39] net/ice: support IPv4 GRE raw pattern type Kevin Liu
2022-04-07 10:56 ` [PATCH 26/39] net/ice/base: support custom ddp package version Kevin Liu
2022-04-07 10:56 ` [PATCH 27/39] net/ice: disable ACL function for MDCF instance Kevin Liu
2022-04-07 10:56 ` [PATCH 28/39] net/ice: treat unknown package as OS default package Kevin Liu
2022-04-07 10:56 ` [PATCH 29/39] net/ice/base: update Profile ID table for VXLAN Kevin Liu
2022-04-07 10:56 ` [PATCH 30/39] net/ice/base: update Protocol ID table to match DVM DDP Kevin Liu
2022-04-07 10:56 ` [PATCH 31/39] net/ice: handle virtchnl event message without interrupt Kevin Liu
2022-04-07 10:56 ` [PATCH 32/39] net/ice: add DCF request queues function Kevin Liu
2022-04-07 10:57 ` [PATCH 33/39] net/ice: negotiate large VF and request more queues Kevin Liu
2022-04-07 10:57 ` [PATCH 34/39] net/ice: enable multiple queues configurations for large VF Kevin Liu
2022-04-07 10:57 ` [PATCH 35/39] net/ice: enable IRQ mapping configuration " Kevin Liu
2022-04-07 10:57 ` [PATCH 36/39] net/ice: add enable/disable queues for DCF " Kevin Liu
2022-04-07 10:57 ` [PATCH 37/39] net/ice: fix DCF ACL flow engine Kevin Liu
2022-04-07 10:57 ` [PATCH 38/39] testpmd: force flow flush Kevin Liu
2022-04-07 10:57 ` [PATCH 39/39] net/ice: fix DCF reset Kevin Liu
2022-04-13 16:08 ` [PATCH v2 00/33] support full function of DCF Kevin Liu
2022-04-13 16:09   ` [PATCH v2 01/33] net/ice: enable RSS RETA ops for DCF hardware Kevin Liu
2022-04-13 16:09   ` [PATCH v2 02/33] net/ice: enable RSS HASH " Kevin Liu
2022-04-13 16:09   ` [PATCH v2 03/33] net/ice: cleanup Tx buffers Kevin Liu
2022-04-13 16:09   ` [PATCH v2 04/33] net/ice: add ops MTU-SET to dcf Kevin Liu
2022-04-13 16:09   ` [PATCH v2 05/33] net/ice: add ops dev-supported-ptypes-get " Kevin Liu
2022-04-13 16:09   ` [PATCH v2 06/33] net/ice: support dcf promisc configuration Kevin Liu
2022-04-13 16:09   ` [PATCH v2 07/33] net/ice: support dcf MAC configuration Kevin Liu
2022-04-13 16:09   ` [PATCH v2 08/33] net/ice: support dcf VLAN filter and offload configuration Kevin Liu
2022-04-13 16:09   ` [PATCH v2 09/33] net/ice: support DCF new VLAN capabilities Kevin Liu
2022-04-13 16:09   ` [PATCH v2 10/33] net/ice: enable CVL DCF device reset API Kevin Liu
2022-04-13 16:09   ` [PATCH v2 11/33] net/ice/base: add VXLAN support for switch filter Kevin Liu
2022-04-13 16:09   ` [PATCH v2 12/33] net/ice: " Kevin Liu
2022-04-13 16:09   ` [PATCH v2 13/33] common/iavf: support flushing rules and reporting DCF id Kevin Liu
2022-04-13 16:09   ` [PATCH v2 14/33] net/ice/base: fix ethertype filter input set Kevin Liu
2022-04-13 16:09   ` [PATCH v2 15/33] net/ice/base: support IPv6 GRE UDP pattern Kevin Liu
2022-04-13 16:09   ` [PATCH v2 16/33] net/ice: support IPv6 NVGRE tunnel Kevin Liu
2022-04-13 16:09   ` [PATCH v2 17/33] net/ice: support new pattern of IPv4 Kevin Liu
2022-04-13 16:09   ` [PATCH v2 18/33] net/ice/base: support new patterns of TCP and UDP Kevin Liu
2022-04-13 16:09   ` [PATCH v2 19/33] net/ice: " Kevin Liu
2022-04-13 16:09   ` [PATCH v2 20/33] net/ice/base: support IPv4 GRE tunnel Kevin Liu
2022-04-13 16:09   ` [PATCH v2 21/33] net/ice: support IPv4 GRE raw pattern type Kevin Liu
2022-04-13 16:09   ` [PATCH v2 22/33] net/ice: treat unknown package as OS default package Kevin Liu
2022-04-13 16:09   ` [PATCH v2 23/33] net/ice/base: update Profile ID table for VXLAN Kevin Liu
2022-04-13 16:09   ` [PATCH v2 24/33] net/ice/base: update Protocol ID table to match DVM DDP Kevin Liu
2022-04-13 16:09   ` [PATCH v2 25/33] net/ice: handle virtchnl event message without interrupt Kevin Liu
2022-04-13 16:09   ` [PATCH v2 26/33] net/ice: add DCF request queues function Kevin Liu
2022-04-13 16:09   ` [PATCH v2 27/33] net/ice: negotiate large VF and request more queues Kevin Liu
2022-04-13 16:09   ` [PATCH v2 28/33] net/ice: enable multiple queues configurations for large VF Kevin Liu
2022-04-13 16:09   ` [PATCH v2 29/33] net/ice: enable IRQ mapping configuration " Kevin Liu
2022-04-13 16:09   ` [PATCH v2 30/33] net/ice: add enable/disable queues for DCF " Kevin Liu
2022-04-13 16:09   ` [PATCH v2 31/33] net/ice: fix DCF ACL flow engine Kevin Liu
2022-04-13 16:09   ` [PATCH v2 32/33] testpmd: force flow flush Kevin Liu
2022-04-13 16:09   ` [PATCH v2 33/33] net/ice: fix DCF reset Kevin Liu
2022-04-13 17:10   ` [PATCH v3 00/22] support full function of DCF Kevin Liu
2022-04-13 17:10     ` [PATCH v3 01/22] net/ice: enable RSS RETA ops for DCF hardware Kevin Liu
2022-04-13 17:10     ` [PATCH v3 02/22] net/ice: enable RSS HASH " Kevin Liu
2022-04-13 17:10     ` [PATCH v3 03/22] net/ice: cleanup Tx buffers Kevin Liu
2022-04-13 17:10     ` [PATCH v3 04/22] net/ice: add ops MTU-SET to dcf Kevin Liu
2022-04-13 17:10     ` [PATCH v3 05/22] net/ice: add ops dev-supported-ptypes-get " Kevin Liu
2022-04-13 17:10     ` [PATCH v3 06/22] net/ice: support dcf promisc configuration Kevin Liu
2022-04-13 17:10     ` [PATCH v3 07/22] net/ice: support dcf MAC configuration Kevin Liu
2022-04-13 17:10     ` [PATCH v3 08/22] net/ice: support dcf VLAN filter and offload configuration Kevin Liu
2022-04-13 17:10     ` [PATCH v3 09/22] net/ice: support DCF new VLAN capabilities Kevin Liu
2022-04-13 17:10     ` [PATCH v3 10/22] net/ice: enable CVL DCF device reset API Kevin Liu
2022-04-13 17:10     ` [PATCH v3 11/22] net/ice: support IPv6 NVGRE tunnel Kevin Liu
2022-04-13 17:10     ` [PATCH v3 12/22] net/ice: support new pattern of IPv4 Kevin Liu
2022-04-13 17:10     ` [PATCH v3 13/22] net/ice: treat unknown package as OS default package Kevin Liu
2022-04-13 17:10     ` [PATCH v3 14/22] net/ice: handle virtchnl event message without interrupt Kevin Liu
2022-04-13 17:10     ` [PATCH v3 15/22] net/ice: add DCF request queues function Kevin Liu
2022-04-13 17:10     ` [PATCH v3 16/22] net/ice: negotiate large VF and request more queues Kevin Liu
2022-04-13 17:10     ` [PATCH v3 17/22] net/ice: enable multiple queues configurations for large VF Kevin Liu
2022-04-13 17:10     ` [PATCH v3 18/22] net/ice: enable IRQ mapping configuration " Kevin Liu
2022-04-13 17:10     ` [PATCH v3 19/22] net/ice: add enable/disable queues for DCF " Kevin Liu
2022-04-13 17:10     ` [PATCH v3 20/22] net/ice: fix DCF ACL flow engine Kevin Liu
2022-04-13 17:10     ` [PATCH v3 21/22] testpmd: force flow flush Kevin Liu
2022-04-13 17:10     ` [PATCH v3 22/22] net/ice: fix DCF reset Kevin Liu
2022-04-19 15:45     ` [PATCH v4 00/23] complete common VF features for DCF Kevin Liu
2022-04-19 15:45       ` [PATCH v4 01/23] net/ice: enable RSS RETA ops for DCF hardware Kevin Liu
2022-04-19 15:45       ` [PATCH v4 02/23] net/ice: enable RSS HASH " Kevin Liu
2022-04-19 15:45       ` [PATCH v4 03/23] net/ice: cleanup Tx buffers Kevin Liu
2022-04-19 15:45       ` [PATCH v4 04/23] net/ice: add ops MTU-SET to dcf Kevin Liu
2022-04-19 15:45       ` [PATCH v4 05/23] net/ice: add ops dev-supported-ptypes-get " Kevin Liu
2022-04-19 15:45       ` [PATCH v4 06/23] net/ice: support dcf promisc configuration Kevin Liu
2022-04-19 15:45       ` [PATCH v4 07/23] net/ice: support dcf MAC configuration Kevin Liu
2022-04-19 15:45       ` [PATCH v4 08/23] net/ice: support dcf VLAN filter and offload configuration Kevin Liu
2022-04-19 15:46       ` [PATCH v4 09/23] net/ice: support DCF new VLAN capabilities Kevin Liu
2022-04-19 15:46       ` [PATCH v4 10/23] net/ice: enable CVL DCF device reset API Kevin Liu
2022-04-19 15:46       ` [PATCH v4 11/23] net/ice: support IPv6 NVGRE tunnel Kevin Liu
2022-04-19 15:46       ` [PATCH v4 12/23] net/ice: support new pattern of IPv4 Kevin Liu
2022-04-19 15:46       ` [PATCH v4 13/23] net/ice: treat unknown package as OS default package Kevin Liu
2022-04-19 15:46       ` [PATCH v4 14/23] net/ice: handle virtchnl event message without interrupt Kevin Liu
2022-04-19 15:46       ` [PATCH v4 15/23] net/ice: add DCF request queues function Kevin Liu
2022-04-19 15:46       ` [PATCH v4 16/23] net/ice: negotiate large VF and request more queues Kevin Liu
2022-04-19 15:46       ` [PATCH v4 17/23] net/ice: enable multiple queues configurations for large VF Kevin Liu
2022-04-19 15:46       ` [PATCH v4 18/23] net/ice: enable IRQ mapping configuration " Kevin Liu
2022-04-19 15:46       ` [PATCH v4 19/23] net/ice: add enable/disable queues for DCF " Kevin Liu
2022-04-19 15:46       ` [PATCH v4 20/23] net/ice: add extended stats Kevin Liu
2022-04-19 15:46       ` [PATCH v4 21/23] net/ice: support queue information getting Kevin Liu
2022-04-19 15:46       ` [PATCH v4 22/23] net/ice: implement power management Kevin Liu
2022-04-19 15:46       ` [PATCH v4 23/23] doc: update for ice DCF datapath configuration Kevin Liu
2022-04-21 11:13       ` [PATCH v5 00/12] complete common VF features for DCF Kevin Liu
2022-04-21 11:13         ` [PATCH v5 01/12] net/ice: enable RSS RETA ops for DCF hardware Kevin Liu
2022-04-21 11:13         ` [PATCH v5 02/12] net/ice: enable RSS HASH " Kevin Liu
2022-04-21 11:13         ` [PATCH v5 03/12] net/ice: cleanup Tx buffers Kevin Liu
2022-04-21 11:13         ` [PATCH v5 04/12] net/ice: add ops MTU-SET to dcf Kevin Liu
2022-04-21 11:13         ` [PATCH v5 05/12] net/ice: add ops dev-supported-ptypes-get " Kevin Liu
2022-04-21 11:13         ` [PATCH v5 06/12] net/ice: support dcf promisc configuration Kevin Liu
2022-04-21 11:13         ` Kevin Liu [this message]
2022-04-21 11:13         ` [PATCH v5 08/12] net/ice: support dcf VLAN filter and offload configuration Kevin Liu
2022-04-21 11:14         ` [PATCH v5 09/12] net/ice: add extended stats Kevin Liu
2022-04-21 11:14         ` [PATCH v5 10/12] net/ice: support queue information getting Kevin Liu
2022-04-21 11:14         ` [PATCH v5 11/12] net/ice: implement power management Kevin Liu
2022-04-21 11:14         ` [PATCH v5 12/12] doc: update for ice DCF datapath configuration Kevin Liu
2022-04-27 18:12         ` [PATCH v6 00/12] complete common VF features for DCF Kevin Liu
2022-04-27 18:12           ` [PATCH v6 01/12] net/ice: enable RSS RETA ops for DCF hardware Kevin Liu
2022-04-27 10:38             ` Zhang, Qi Z
2022-04-27 18:12           ` [PATCH v6 02/12] net/ice: enable RSS HASH " Kevin Liu
2022-04-27 18:12           ` [PATCH v6 03/12] net/ice: cleanup Tx buffers Kevin Liu
2022-04-27 10:41             ` Zhang, Qi Z
2022-04-27 18:12           ` [PATCH v6 04/12] net/ice: add ops MTU-SET to dcf Kevin Liu
2022-04-27 18:12           ` [PATCH v6 05/12] net/ice: add ops dev-supported-ptypes-get " Kevin Liu
2022-04-27 10:44             ` Zhang, Qi Z
2022-04-27 18:12           ` [PATCH v6 06/12] net/ice: support dcf promisc configuration Kevin Liu
2022-04-27 18:12           ` [PATCH v6 07/12] net/ice: support dcf MAC configuration Kevin Liu
2022-04-27 18:12           ` [PATCH v6 08/12] net/ice: support dcf VLAN filter and offload configuration Kevin Liu
2022-04-27 18:12           ` [PATCH v6 09/12] net/ice: add extended stats Kevin Liu
2022-04-27 18:12           ` [PATCH v6 10/12] net/ice: support queue information getting Kevin Liu
2022-04-27 18:13           ` [PATCH v6 11/12] net/ice: implement power management Kevin Liu
2022-04-27 18:13           ` [PATCH v6 12/12] net/ice: support DCF new VLAN capabilities Kevin Liu
2022-04-27 10:46             ` Zhang, Qi Z
2022-04-29  9:19           ` [PATCH v7 00/12] complete common VF features for DCF Kevin Liu
2022-04-29  2:32             ` Zhang, Qi Z
2022-04-29  9:19             ` [PATCH v7 01/12] net/ice: support for RSS RETA configure in DCF mode Kevin Liu
2022-04-29  9:19             ` [PATCH v7 02/12] net/ice: support for RSS HASH " Kevin Liu
2022-04-29  9:19             ` [PATCH v7 03/12] net/ice: support cleanup Tx buffers " Kevin Liu
2022-04-29  9:19             ` [PATCH v7 04/12] net/ice: support for MTU configure " Kevin Liu
2022-04-29  9:19             ` [PATCH v7 05/12] net/ice: add ops dev-supported-ptypes-get to dcf Kevin Liu
2022-04-29  9:19             ` [PATCH v7 06/12] net/ice: support dcf promisc configuration Kevin Liu
2022-04-29  9:19             ` [PATCH v7 07/12] net/ice: support dcf MAC configuration Kevin Liu
2022-04-29  9:19             ` [PATCH v7 08/12] net/ice: support dcf VLAN filter and offload configuration Kevin Liu
2022-04-29  9:19             ` [PATCH v7 09/12] net/ice: add extended stats Kevin Liu
2022-04-29  9:19             ` [PATCH v7 10/12] net/ice: support queue information getting Kevin Liu
2022-04-29  9:19             ` [PATCH v7 11/12] net/ice: add implement power management Kevin Liu
2022-04-29  9:19             ` [PATCH v7 12/12] net/ice: support DCF new VLAN capabilities Kevin Liu
2022-05-11  0:06               ` Zhang, Qi Z
2022-04-19 16:01     ` [PATCH v4 0/2] fix DCF function defect Kevin Liu
2022-04-19 16:01       ` [PATCH v4 1/2] net/ice: fix DCF ACL flow engine Kevin Liu
2022-04-20 12:01         ` Zhang, Qi Z
2022-04-19 16:01       ` [PATCH v4 2/2] net/ice: fix DCF reset Kevin Liu

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=20220421111403.1334288-8-kevinx.liu@intel.com \
    --to=kevinx.liu@intel.com \
    --cc=alvinx.zhang@intel.com \
    --cc=dev@dpdk.org \
    --cc=qi.z.zhang@intel.com \
    --cc=qiming.yang@intel.com \
    --cc=stevex.yang@intel.com \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.