netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH net-next 0/3] arch, misc: use eth_hw_addr_set()
@ 2021-10-29  2:47 Jakub Kicinski
  2021-10-29  2:47 ` [PATCH net-next 1/3] net: sgi-xp: " Jakub Kicinski
                   ` (3 more replies)
  0 siblings, 4 replies; 7+ messages in thread
From: Jakub Kicinski @ 2021-10-29  2:47 UTC (permalink / raw)
  To: davem; +Cc: netdev, Jakub Kicinski

Convert remaining misc drivers to use helpers to write
to netdev->dev_addr.

This is the last set :) :)

Jakub Kicinski (3):
  net: sgi-xp: use eth_hw_addr_set()
  net: um: use eth_hw_addr_set()
  net: xtensa: use eth_hw_addr_set()

 arch/um/drivers/net_kern.c          | 3 ++-
 arch/xtensa/platforms/iss/network.c | 3 ++-
 drivers/misc/sgi-xp/xpnet.c         | 9 ++++++---
 3 files changed, 10 insertions(+), 5 deletions(-)

-- 
2.31.1


^ permalink raw reply	[flat|nested] 7+ messages in thread

* [PATCH net-next 1/3] net: sgi-xp: use eth_hw_addr_set()
  2021-10-29  2:47 [PATCH net-next 0/3] arch, misc: use eth_hw_addr_set() Jakub Kicinski
@ 2021-10-29  2:47 ` Jakub Kicinski
  2021-10-29 15:57   ` Steve Wahl
  2021-10-29  2:47 ` [PATCH net-next 2/3] net: um: " Jakub Kicinski
                   ` (2 subsequent siblings)
  3 siblings, 1 reply; 7+ messages in thread
From: Jakub Kicinski @ 2021-10-29  2:47 UTC (permalink / raw)
  To: davem
  Cc: netdev, Jakub Kicinski, robinmholt, steve.wahl, mike.travis, arnd,
	gregkh

Commit 406f42fa0d3c ("net-next: When a bond have a massive amount
of VLANs...") introduced a rbtree for faster Ethernet address look
up. To maintain netdev->dev_addr in this tree we need to make all
the writes to it go through appropriate helpers.

Signed-off-by: Jakub Kicinski <kuba@kernel.org>
---
CC: robinmholt@gmail.com
CC: steve.wahl@hpe.com
CC: mike.travis@hpe.com
CC: arnd@arndb.de
CC: gregkh@linuxfoundation.org
---
 drivers/misc/sgi-xp/xpnet.c | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/drivers/misc/sgi-xp/xpnet.c b/drivers/misc/sgi-xp/xpnet.c
index 2508f83bdc3f..dab7b92db790 100644
--- a/drivers/misc/sgi-xp/xpnet.c
+++ b/drivers/misc/sgi-xp/xpnet.c
@@ -514,6 +514,7 @@ static const struct net_device_ops xpnet_netdev_ops = {
 static int __init
 xpnet_init(void)
 {
+	u8 addr[ETH_ALEN];
 	int result;
 
 	if (!is_uv_system())
@@ -545,15 +546,17 @@ xpnet_init(void)
 	xpnet_device->min_mtu = XPNET_MIN_MTU;
 	xpnet_device->max_mtu = XPNET_MAX_MTU;
 
+	memset(addr, 0, sizeof(addr));
 	/*
 	 * Multicast assumes the LSB of the first octet is set for multicast
 	 * MAC addresses.  We chose the first octet of the MAC to be unlikely
 	 * to collide with any vendor's officially issued MAC.
 	 */
-	xpnet_device->dev_addr[0] = 0x02;     /* locally administered, no OUI */
+	addr[0] = 0x02;     /* locally administered, no OUI */
 
-	xpnet_device->dev_addr[XPNET_PARTID_OCTET + 1] = xp_partition_id;
-	xpnet_device->dev_addr[XPNET_PARTID_OCTET + 0] = (xp_partition_id >> 8);
+	addr[XPNET_PARTID_OCTET + 1] = xp_partition_id;
+	addr[XPNET_PARTID_OCTET + 0] = (xp_partition_id >> 8);
+	eth_hw_addr_set(xpnet_device, addr);
 
 	/*
 	 * ether_setup() sets this to a multicast device.  We are
-- 
2.31.1


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH net-next 2/3] net: um: use eth_hw_addr_set()
  2021-10-29  2:47 [PATCH net-next 0/3] arch, misc: use eth_hw_addr_set() Jakub Kicinski
  2021-10-29  2:47 ` [PATCH net-next 1/3] net: sgi-xp: " Jakub Kicinski
@ 2021-10-29  2:47 ` Jakub Kicinski
  2021-10-29  6:37   ` Anton Ivanov
  2021-10-29  2:47 ` [PATCH net-next 3/3] net: xtensa: " Jakub Kicinski
  2021-10-29 12:30 ` [PATCH net-next 0/3] arch, misc: " patchwork-bot+netdevbpf
  3 siblings, 1 reply; 7+ messages in thread
From: Jakub Kicinski @ 2021-10-29  2:47 UTC (permalink / raw)
  To: davem
  Cc: netdev, Jakub Kicinski, jdike, richard, anton.ivanov,
	johannes.berg, linux-um

Commit 406f42fa0d3c ("net-next: When a bond have a massive amount
of VLANs...") introduced a rbtree for faster Ethernet address look
up. To maintain netdev->dev_addr in this tree we need to make all
the writes to it go through appropriate helpers.

Signed-off-by: Jakub Kicinski <kuba@kernel.org>
---
CC: jdike@addtoit.com
CC: richard@nod.at
CC: anton.ivanov@cambridgegreys.com
CC: johannes.berg@intel.com
CC: linux-um@lists.infradead.org
---
 arch/um/drivers/net_kern.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/arch/um/drivers/net_kern.c b/arch/um/drivers/net_kern.c
index 2fc0b038ff8a..59331384c2d3 100644
--- a/arch/um/drivers/net_kern.c
+++ b/arch/um/drivers/net_kern.c
@@ -276,7 +276,7 @@ static const struct ethtool_ops uml_net_ethtool_ops = {
 
 void uml_net_setup_etheraddr(struct net_device *dev, char *str)
 {
-	unsigned char *addr = dev->dev_addr;
+	u8 addr[ETH_ALEN];
 	char *end;
 	int i;
 
@@ -316,6 +316,7 @@ void uml_net_setup_etheraddr(struct net_device *dev, char *str)
 		       addr[0] | 0x02, addr[1], addr[2], addr[3], addr[4],
 		       addr[5]);
 	}
+	eth_hw_addr_set(dev, addr);
 	return;
 
 random:
-- 
2.31.1


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH net-next 3/3] net: xtensa: use eth_hw_addr_set()
  2021-10-29  2:47 [PATCH net-next 0/3] arch, misc: use eth_hw_addr_set() Jakub Kicinski
  2021-10-29  2:47 ` [PATCH net-next 1/3] net: sgi-xp: " Jakub Kicinski
  2021-10-29  2:47 ` [PATCH net-next 2/3] net: um: " Jakub Kicinski
@ 2021-10-29  2:47 ` Jakub Kicinski
  2021-10-29 12:30 ` [PATCH net-next 0/3] arch, misc: " patchwork-bot+netdevbpf
  3 siblings, 0 replies; 7+ messages in thread
From: Jakub Kicinski @ 2021-10-29  2:47 UTC (permalink / raw)
  To: davem; +Cc: netdev, Jakub Kicinski, chris, jcmvbkbc, geert, linux-xtensa

Commit 406f42fa0d3c ("net-next: When a bond have a massive amount
of VLANs...") introduced a rbtree for faster Ethernet address look
up. To maintain netdev->dev_addr in this tree we need to make all
the writes to it go through appropriate helpers.

Signed-off-by: Jakub Kicinski <kuba@kernel.org>
---
CC: chris@zankel.net
CC: jcmvbkbc@gmail.com
CC: geert@linux-m68k.org
CC: linux-xtensa@linux-xtensa.org
---
 arch/xtensa/platforms/iss/network.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/arch/xtensa/platforms/iss/network.c b/arch/xtensa/platforms/iss/network.c
index 8b806d305948..962e5e145209 100644
--- a/arch/xtensa/platforms/iss/network.c
+++ b/arch/xtensa/platforms/iss/network.c
@@ -124,7 +124,7 @@ static char *split_if_spec(char *str, ...)
 
 static void setup_etheraddr(struct net_device *dev, char *str)
 {
-	unsigned char *addr = dev->dev_addr;
+	u8 addr[ETH_ALEN];
 
 	if (str == NULL)
 		goto random;
@@ -147,6 +147,7 @@ static void setup_etheraddr(struct net_device *dev, char *str)
 	if (!is_local_ether_addr(addr))
 		pr_warn("%s: assigning a globally valid ethernet address\n",
 			dev->name);
+	eth_hw_addr_set(dev, addr);
 	return;
 
 random:
-- 
2.31.1


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: [PATCH net-next 2/3] net: um: use eth_hw_addr_set()
  2021-10-29  2:47 ` [PATCH net-next 2/3] net: um: " Jakub Kicinski
@ 2021-10-29  6:37   ` Anton Ivanov
  0 siblings, 0 replies; 7+ messages in thread
From: Anton Ivanov @ 2021-10-29  6:37 UTC (permalink / raw)
  To: Jakub Kicinski, davem; +Cc: netdev, jdike, richard, johannes.berg, linux-um

On 29/10/2021 03:47, Jakub Kicinski wrote:
> Commit 406f42fa0d3c ("net-next: When a bond have a massive amount
> of VLANs...") introduced a rbtree for faster Ethernet address look
> up. To maintain netdev->dev_addr in this tree we need to make all
> the writes to it go through appropriate helpers.
> 
> Signed-off-by: Jakub Kicinski <kuba@kernel.org>
> ---
> CC: jdike@addtoit.com
> CC: richard@nod.at
> CC: anton.ivanov@cambridgegreys.com
> CC: johannes.berg@intel.com
> CC: linux-um@lists.infradead.org
> ---
>   arch/um/drivers/net_kern.c | 3 ++-
>   1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/arch/um/drivers/net_kern.c b/arch/um/drivers/net_kern.c
> index 2fc0b038ff8a..59331384c2d3 100644
> --- a/arch/um/drivers/net_kern.c
> +++ b/arch/um/drivers/net_kern.c
> @@ -276,7 +276,7 @@ static const struct ethtool_ops uml_net_ethtool_ops = {
>   
>   void uml_net_setup_etheraddr(struct net_device *dev, char *str)
>   {
> -	unsigned char *addr = dev->dev_addr;
> +	u8 addr[ETH_ALEN];
>   	char *end;
>   	int i;
>   
> @@ -316,6 +316,7 @@ void uml_net_setup_etheraddr(struct net_device *dev, char *str)
>   		       addr[0] | 0x02, addr[1], addr[2], addr[3], addr[4],
>   		       addr[5]);
>   	}
> +	eth_hw_addr_set(dev, addr);
>   	return;
>   
>   random:
> 

Acked-by: Anton Ivanov <anton.ivanov@cambridgegreys.com>

-- 
Anton R. Ivanov
Cambridgegreys Limited. Registered in England. Company Number 10273661
https://www.cambridgegreys.com/

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH net-next 0/3] arch, misc: use eth_hw_addr_set()
  2021-10-29  2:47 [PATCH net-next 0/3] arch, misc: use eth_hw_addr_set() Jakub Kicinski
                   ` (2 preceding siblings ...)
  2021-10-29  2:47 ` [PATCH net-next 3/3] net: xtensa: " Jakub Kicinski
@ 2021-10-29 12:30 ` patchwork-bot+netdevbpf
  3 siblings, 0 replies; 7+ messages in thread
From: patchwork-bot+netdevbpf @ 2021-10-29 12:30 UTC (permalink / raw)
  To: Jakub Kicinski; +Cc: davem, netdev

Hello:

This series was applied to netdev/net-next.git (master)
by David S. Miller <davem@davemloft.net>:

On Thu, 28 Oct 2021 19:47:04 -0700 you wrote:
> Convert remaining misc drivers to use helpers to write
> to netdev->dev_addr.
> 
> This is the last set :) :)
> 
> Jakub Kicinski (3):
>   net: sgi-xp: use eth_hw_addr_set()
>   net: um: use eth_hw_addr_set()
>   net: xtensa: use eth_hw_addr_set()
> 
> [...]

Here is the summary with links:
  - [net-next,1/3] net: sgi-xp: use eth_hw_addr_set()
    https://git.kernel.org/netdev/net-next/c/40d5cb400530
  - [net-next,2/3] net: um: use eth_hw_addr_set()
    https://git.kernel.org/netdev/net-next/c/ac617341343c
  - [net-next,3/3] net: xtensa: use eth_hw_addr_set()
    https://git.kernel.org/netdev/net-next/c/7e1dd824e531

You are awesome, thank you!
-- 
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html



^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH net-next 1/3] net: sgi-xp: use eth_hw_addr_set()
  2021-10-29  2:47 ` [PATCH net-next 1/3] net: sgi-xp: " Jakub Kicinski
@ 2021-10-29 15:57   ` Steve Wahl
  0 siblings, 0 replies; 7+ messages in thread
From: Steve Wahl @ 2021-10-29 15:57 UTC (permalink / raw)
  To: Jakub Kicinski
  Cc: davem, netdev, robinmholt, steve.wahl, mike.travis, arnd, gregkh

Reveiwed-by: Steve Wahl <steve.wahl@hpe.com>

On Thu, Oct 28, 2021 at 07:47:05PM -0700, Jakub Kicinski wrote:
> Commit 406f42fa0d3c ("net-next: When a bond have a massive amount
> of VLANs...") introduced a rbtree for faster Ethernet address look
> up. To maintain netdev->dev_addr in this tree we need to make all
> the writes to it go through appropriate helpers.
> 
> Signed-off-by: Jakub Kicinski <kuba@kernel.org>
> ---
> CC: robinmholt@gmail.com
> CC: steve.wahl@hpe.com
> CC: mike.travis@hpe.com
> CC: arnd@arndb.de
> CC: gregkh@linuxfoundation.org
> ---
>  drivers/misc/sgi-xp/xpnet.c | 9 ++++++---
>  1 file changed, 6 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/misc/sgi-xp/xpnet.c b/drivers/misc/sgi-xp/xpnet.c
> index 2508f83bdc3f..dab7b92db790 100644
> --- a/drivers/misc/sgi-xp/xpnet.c
> +++ b/drivers/misc/sgi-xp/xpnet.c
> @@ -514,6 +514,7 @@ static const struct net_device_ops xpnet_netdev_ops = {
>  static int __init
>  xpnet_init(void)
>  {
> +	u8 addr[ETH_ALEN];
>  	int result;
>  
>  	if (!is_uv_system())
> @@ -545,15 +546,17 @@ xpnet_init(void)
>  	xpnet_device->min_mtu = XPNET_MIN_MTU;
>  	xpnet_device->max_mtu = XPNET_MAX_MTU;
>  
> +	memset(addr, 0, sizeof(addr));
>  	/*
>  	 * Multicast assumes the LSB of the first octet is set for multicast
>  	 * MAC addresses.  We chose the first octet of the MAC to be unlikely
>  	 * to collide with any vendor's officially issued MAC.
>  	 */
> -	xpnet_device->dev_addr[0] = 0x02;     /* locally administered, no OUI */
> +	addr[0] = 0x02;     /* locally administered, no OUI */
>  
> -	xpnet_device->dev_addr[XPNET_PARTID_OCTET + 1] = xp_partition_id;
> -	xpnet_device->dev_addr[XPNET_PARTID_OCTET + 0] = (xp_partition_id >> 8);
> +	addr[XPNET_PARTID_OCTET + 1] = xp_partition_id;
> +	addr[XPNET_PARTID_OCTET + 0] = (xp_partition_id >> 8);
> +	eth_hw_addr_set(xpnet_device, addr);
>  
>  	/*
>  	 * ether_setup() sets this to a multicast device.  We are
> -- 
> 2.31.1
> 

-- 
Steve Wahl, Hewlett Packard Enterprise

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2021-10-29 15:57 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-10-29  2:47 [PATCH net-next 0/3] arch, misc: use eth_hw_addr_set() Jakub Kicinski
2021-10-29  2:47 ` [PATCH net-next 1/3] net: sgi-xp: " Jakub Kicinski
2021-10-29 15:57   ` Steve Wahl
2021-10-29  2:47 ` [PATCH net-next 2/3] net: um: " Jakub Kicinski
2021-10-29  6:37   ` Anton Ivanov
2021-10-29  2:47 ` [PATCH net-next 3/3] net: xtensa: " Jakub Kicinski
2021-10-29 12:30 ` [PATCH net-next 0/3] arch, misc: " patchwork-bot+netdevbpf

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).