Thread (75 messages) 75 messages, 7 authors, 2019-09-11

Re: [dpdk-dev] [PATCH 06/22] net/hns3: add support for MAC address related operations

From: Wei Hu (Xavier) <hidden>
Date: 2019-09-05 05:41:09

Hi, Ferruh Yigit


On 2019/8/30 23:03, Ferruh Yigit wrote:
On 8/23/2019 2:46 PM, Wei Hu (Xavier) wrote:
quoted
This patch adds the following mac address related operations defined in
struct eth_dev_ops: mac_addr_add, mac_addr_remove, mac_addr_set
and set_mc_addr_list.

Signed-off-by: Wei Hu (Xavier) <redacted>
Signed-off-by: Chunsong Feng <redacted>
Signed-off-by: Min Hu (Connor) <redacted>
Signed-off-by: Hao Chen <redacted>
Signed-off-by: Huisong Li <lihuisong@huawei.com>
<...>
quoted
+static int
+hns3_set_mc_mac_addr_list(struct rte_eth_dev *dev,
+			  struct rte_ether_addr *mc_addr_set,
+			  uint32_t nb_mc_addr)
+{
+	struct hns3_hw *hw = HNS3_DEV_PRIVATE_TO_HW(dev->data->dev_private);
+	struct rte_ether_addr reserved_addr_list[HNS3_MC_MACADDR_NUM];
+	struct rte_ether_addr add_addr_list[HNS3_MC_MACADDR_NUM];
+	struct rte_ether_addr rm_addr_list[HNS3_MC_MACADDR_NUM];
+	struct rte_ether_addr *addr;
+	int reserved_addr_num;
+	int add_addr_num;
+	int rm_addr_num;
+	int mc_addr_num;
+	int num;
+	int ret;
+	int i;
+
+	/* Check if input parameters are valid */
+	ret = hns3_set_mc_addr_chk_param(hw, mc_addr_set, nb_mc_addr);
+	if (ret)
+		return ret;
+
+	rte_spinlock_lock(&hw->lock);
Is locking required here?
We support reset after exception, and restore the settings to the
pre-reset by the alarm in the interrupt thread. There are two threads
setting mc_mac, so we need to lock.
<...>
quoted
@@ -1582,6 +2394,10 @@ hns3_dev_close(struct rte_eth_dev *eth_dev)
 
 static const struct eth_dev_ops hns3_eth_dev_ops = {
 	.dev_close          = hns3_dev_close,
+	.mac_addr_add           = hns3_add_mac_addr,
+	.mac_addr_remove        = hns3_remove_mac_addr,
+	.mac_addr_set           = hns3_set_default_mac_addr,
+	.set_mc_addr_list       = hns3_set_mc_mac_addr_list,
 };
Can you please update .ini file in this patch and mark following features as
supported:
Unicast MAC filter
Multicast MAC filter
OK, we will fix it in v2.

    Best Regards
Xavier
  
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help