On Sun, Oct 15, 2023 at 02:18:43PM -0700, Florian Fainelli wrote: > > > On 10/13/2023 5:32 AM, Vladimir Oltean wrote: > > On Fri, Oct 13, 2023 at 02:24:00PM +0200, Oleksij Rempel wrote: > > > Set a unique global MAC address for each switch on the network at system > > > startup by syncing the switch's global MAC address with the Ethernet > > > address of the DSA master interface. This is crucial for supporting > > > Wake-on-LAN (WoL) functionality, as it requires a unique address for > > > each switch. > > > > > > Although the operation is performed only at system start and won't sync > > > if the master Ethernet address changes dynamically, it lays the > > > groundwork for WoL support by ensuring a unique MAC address for each > > > switch. > > > > > > Signed-off-by: Oleksij Rempel <o.rempel@xxxxxxxxxxxxxx> > > > --- > > > > Why not take the MAC address of the user port at ksz9477_set_wol() time, > > and use the existing ksz_switch_macaddr_get() API that was just added so > > that this use case could work? > > Agreed we do that in a number of Ethernet MAC and PHY drivers FWIW > (net_device::dev_addr). > -- > Florian To be clear (to Oleksij), the request is for WoL to use the same runtime management of the global MAC address (ksz_switch_macaddr_get) as HSR, and also extend ksz_port_set_mac_address() to deny address changes to a port with WoL active. Thus, multiple user ports could have WoL enabled as long as they share the same MAC address. MAC address changes are also possible while WoL is not enabled. I guess wol->supported should only get set on those user ports which have the same MAC address as the global MAC address (if a global MAC address is configured), or on all user ports (if there is none).