[PATCH] net/e1000: add mac_addr_set set to em

Subsystems: networking drivers, the rest

STALE3052d

4 messages, 4 authors, 2018-04-06 · open the first message on its own page

[PATCH] net/e1000: add mac_addr_set set to em

From: Chas Williams <3chas3@gmail.com>
Date: 2018-02-19 00:40:01

From: Chas Williams <redacted>

Based on the equivalent code in the igb driver.

Signed-off-by: Chas Williams <redacted>
---
 drivers/net/e1000/em_ethdev.c | 12 ++++++++++++
 1 file changed, 12 insertions(+)
diff --git a/drivers/net/e1000/em_ethdev.c b/drivers/net/e1000/em_ethdev.c
index 242375f..5bb9cc9 100644
--- a/drivers/net/e1000/em_ethdev.c
+++ b/drivers/net/e1000/em_ethdev.c
@@ -94,6 +94,8 @@ static int em_get_rx_buffer_size(struct e1000_hw *hw);
 static int eth_em_rar_set(struct rte_eth_dev *dev, struct ether_addr *mac_addr,
 			  uint32_t index, uint32_t pool);
 static void eth_em_rar_clear(struct rte_eth_dev *dev, uint32_t index);
+static void eth_em_default_mac_addr_set(struct rte_eth_dev *dev,
+					 struct ether_addr *addr);
 
 static int eth_em_set_mc_addr_list(struct rte_eth_dev *dev,
 				   struct ether_addr *mc_addr_set,
@@ -190,6 +192,7 @@ static const struct eth_dev_ops eth_em_ops = {
 	.dev_led_off          = eth_em_led_off,
 	.flow_ctrl_get        = eth_em_flow_ctrl_get,
 	.flow_ctrl_set        = eth_em_flow_ctrl_set,
+	.mac_addr_set         = eth_em_default_mac_addr_set,
 	.mac_addr_add         = eth_em_rar_set,
 	.mac_addr_remove      = eth_em_rar_clear,
 	.set_mc_addr_list     = eth_em_set_mc_addr_list,
@@ -1809,6 +1812,15 @@ eth_em_rar_clear(struct rte_eth_dev *dev, uint32_t index)
 	e1000_rar_set(hw, addr, index);
 }
 
+static void
+eth_em_default_mac_addr_set(struct rte_eth_dev *dev,
+			    struct ether_addr *addr)
+{
+	eth_em_rar_clear(dev, 0);
+
+	eth_em_rar_set(dev, (void *)addr, 0, 0);
+}
+
 static int
 eth_em_mtu_set(struct rte_eth_dev *dev, uint16_t mtu)
 {
-- 
2.9.5

Re: [PATCH] net/e1000: add mac_addr_set set to em

From: David Marchand <hidden>
Date: 2018-02-19 12:31:01

On Mon, Feb 19, 2018 at 1:39 AM, Chas Williams [off-list ref] wrote:
quoted hunk
From: Chas Williams <redacted>

Based on the equivalent code in the igb driver.

Signed-off-by: Chas Williams <redacted>
---
 drivers/net/e1000/em_ethdev.c | 12 ++++++++++++
 1 file changed, 12 insertions(+)
diff --git a/drivers/net/e1000/em_ethdev.c b/drivers/net/e1000/em_ethdev.c
index 242375f..5bb9cc9 100644
--- a/drivers/net/e1000/em_ethdev.c
+++ b/drivers/net/e1000/em_ethdev.c
@@ -94,6 +94,8 @@ static int em_get_rx_buffer_size(struct e1000_hw *hw);
 static int eth_em_rar_set(struct rte_eth_dev *dev, struct ether_addr *mac_addr,
                          uint32_t index, uint32_t pool);
 static void eth_em_rar_clear(struct rte_eth_dev *dev, uint32_t index);
+static void eth_em_default_mac_addr_set(struct rte_eth_dev *dev,
+                                        struct ether_addr *addr);

 static int eth_em_set_mc_addr_list(struct rte_eth_dev *dev,
                                   struct ether_addr *mc_addr_set,
@@ -190,6 +192,7 @@ static const struct eth_dev_ops eth_em_ops = {
        .dev_led_off          = eth_em_led_off,
        .flow_ctrl_get        = eth_em_flow_ctrl_get,
        .flow_ctrl_set        = eth_em_flow_ctrl_set,
+       .mac_addr_set         = eth_em_default_mac_addr_set,
        .mac_addr_add         = eth_em_rar_set,
        .mac_addr_remove      = eth_em_rar_clear,
        .set_mc_addr_list     = eth_em_set_mc_addr_list,
@@ -1809,6 +1812,15 @@ eth_em_rar_clear(struct rte_eth_dev *dev, uint32_t index)
        e1000_rar_set(hw, addr, index);
 }

+static void
+eth_em_default_mac_addr_set(struct rte_eth_dev *dev,
+                           struct ether_addr *addr)
+{
+       eth_em_rar_clear(dev, 0);
+
+       eth_em_rar_set(dev, (void *)addr, 0, 0);
+}
+
Even if copied from igb, this cast is unneeded.
I wrote a similar patch which was in the "upstream" queue, so looks good to me.

Reviewed-by: David Marchand <redacted>


-- 
David Marchand

Re: [PATCH] net/e1000: add mac_addr_set set to em

From: Zhao1, Wei <hidden>
Date: 2018-04-02 06:17:32

quoted hunk
-----Original Message-----
From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Chas Williams
Sent: Monday, February 19, 2018 8:40 AM
To: dev@dpdk.org
Cc: Lu, Wenzhuo <redacted>; Chas Williams <redacted>
Subject: [dpdk-dev] [PATCH] net/e1000: add mac_addr_set set to em

From: Chas Williams <redacted>

Based on the equivalent code in the igb driver.

Signed-off-by: Chas Williams <redacted>
---
 drivers/net/e1000/em_ethdev.c | 12 ++++++++++++
 1 file changed, 12 insertions(+)
diff --git a/drivers/net/e1000/em_ethdev.c
b/drivers/net/e1000/em_ethdev.c index 242375f..5bb9cc9 100644
--- a/drivers/net/e1000/em_ethdev.c
+++ b/drivers/net/e1000/em_ethdev.c
@@ -94,6 +94,8 @@ static int em_get_rx_buffer_size(struct e1000_hw *hw);
static int eth_em_rar_set(struct rte_eth_dev *dev, struct ether_addr
*mac_addr,
 			  uint32_t index, uint32_t pool);
 static void eth_em_rar_clear(struct rte_eth_dev *dev, uint32_t index);
+static void eth_em_default_mac_addr_set(struct rte_eth_dev *dev,
+					 struct ether_addr *addr);

 static int eth_em_set_mc_addr_list(struct rte_eth_dev *dev,
 				   struct ether_addr *mc_addr_set,
@@ -190,6 +192,7 @@ static const struct eth_dev_ops eth_em_ops = {
 	.dev_led_off          = eth_em_led_off,
 	.flow_ctrl_get        = eth_em_flow_ctrl_get,
 	.flow_ctrl_set        = eth_em_flow_ctrl_set,
+	.mac_addr_set         = eth_em_default_mac_addr_set,
 	.mac_addr_add         = eth_em_rar_set,
 	.mac_addr_remove      = eth_em_rar_clear,
 	.set_mc_addr_list     = eth_em_set_mc_addr_list,
@@ -1809,6 +1812,15 @@ eth_em_rar_clear(struct rte_eth_dev *dev,
uint32_t index)
 	e1000_rar_set(hw, addr, index);
 }

+static void
+eth_em_default_mac_addr_set(struct rte_eth_dev *dev,
+			    struct ether_addr *addr)
+{
+	eth_em_rar_clear(dev, 0);
+
+	eth_em_rar_set(dev, (void *)addr, 0, 0); }
+
 static int
 eth_em_mtu_set(struct rte_eth_dev *dev, uint16_t mtu)  {
--
2.9.5

 I think this patch is need by em to enable the feature of configuration for 
 default Receive Address Register, if DPDK user use rte function of
rte_eth_dev_default_mac_addr_set(),  it can do this config work like other NIC.

Acked-by: Wei Zhao <redacted>

Re: [PATCH] net/e1000: add mac_addr_set set to em

From: Zhang, Helin <hidden>
Date: 2018-04-06 09:15:35

-----Original Message-----
From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Zhao1, Wei
Sent: Monday, April 2, 2018 2:17 PM
To: Chas Williams; dev@dpdk.org
Cc: Lu, Wenzhuo; Chas Williams
Subject: Re: [dpdk-dev] [PATCH] net/e1000: add mac_addr_set set to em


quoted
-----Original Message-----
From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Chas Williams
Sent: Monday, February 19, 2018 8:40 AM
To: dev@dpdk.org
Cc: Lu, Wenzhuo <redacted>; Chas Williams <redacted>
Subject: [dpdk-dev] [PATCH] net/e1000: add mac_addr_set set to em

From: Chas Williams <redacted>

Based on the equivalent code in the igb driver.

Signed-off-by: Chas Williams <redacted>
---
 drivers/net/e1000/em_ethdev.c | 12 ++++++++++++
 1 file changed, 12 insertions(+)
diff --git a/drivers/net/e1000/em_ethdev.c
b/drivers/net/e1000/em_ethdev.c index 242375f..5bb9cc9 100644
--- a/drivers/net/e1000/em_ethdev.c
+++ b/drivers/net/e1000/em_ethdev.c
@@ -94,6 +94,8 @@ static int em_get_rx_buffer_size(struct e1000_hw
*hw); static int eth_em_rar_set(struct rte_eth_dev *dev, struct
ether_addr *mac_addr,
 			  uint32_t index, uint32_t pool);
 static void eth_em_rar_clear(struct rte_eth_dev *dev, uint32_t
index);
+static void eth_em_default_mac_addr_set(struct rte_eth_dev *dev,
+					 struct ether_addr *addr);

 static int eth_em_set_mc_addr_list(struct rte_eth_dev *dev,
 				   struct ether_addr *mc_addr_set, @@ -190,6
+192,7 @@ static
quoted
const struct eth_dev_ops eth_em_ops = {
 	.dev_led_off          = eth_em_led_off,
 	.flow_ctrl_get        = eth_em_flow_ctrl_get,
 	.flow_ctrl_set        = eth_em_flow_ctrl_set,
+	.mac_addr_set         = eth_em_default_mac_addr_set,
 	.mac_addr_add         = eth_em_rar_set,
 	.mac_addr_remove      = eth_em_rar_clear,
 	.set_mc_addr_list     = eth_em_set_mc_addr_list,
@@ -1809,6 +1812,15 @@ eth_em_rar_clear(struct rte_eth_dev *dev,
uint32_t index)
 	e1000_rar_set(hw, addr, index);
 }

+static void
+eth_em_default_mac_addr_set(struct rte_eth_dev *dev,
+			    struct ether_addr *addr)
+{
+	eth_em_rar_clear(dev, 0);
+
+	eth_em_rar_set(dev, (void *)addr, 0, 0); }
+
 static int
 eth_em_mtu_set(struct rte_eth_dev *dev, uint16_t mtu)  {
--
2.9.5

 I think this patch is need by em to enable the feature of configuration for
default Receive Address Register, if DPDK user use rte function of
rte_eth_dev_default_mac_addr_set(),  it can do this config work like other NIC.

Acked-by: Wei Zhao <redacted>
Applied to dpdk-next-net-intel, thanks!

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