Merge branch 'dsa-remove-set_addr'
authorDavid S. Miller <davem@davemloft.net>
Sun, 15 Oct 2017 01:30:07 +0000 (18:30 -0700)
committerDavid S. Miller <davem@davemloft.net>
Sun, 15 Oct 2017 01:30:07 +0000 (18:30 -0700)
commit7f4e568dd13e094bb951753bbad23704198ecac3
tree15cf27ce252e47bef6d1ec6da67fceeeee4c48e9
parentec0d0987f084cdaf7b7ff8bd8f9f946e29fb8d94
parent841f4f24053acad69240c6ab7427a1d24bc29491
Merge branch 'dsa-remove-set_addr'

Vivien Didelot says:

====================
net: dsa: remove .set_addr

An Ethernet switch may support having a MAC address, which can be used
as the switch's source address in transmitted full-duplex Pause frames.

If a DSA switch supports the related .set_addr operation, the DSA core
sets the master's MAC address on the switch.

This won't make sense anymore in a multi-CPU ports system, because there
won't be a unique master device assigned to a switch tree.

Moreover this operation is confusing because it makes the user think
that it could be used to program the switch with the MAC address of the
CPU/management port such that MAC address learning can be disabled on
said port, but in fact, that's not how it is currently used.

To fix this, assign a random MAC address at setup time in the mv88e6060
and mv88e6xxx drivers before removing .set_addr completely from DSA.

Changes in v3:
  - include fix for mv88e6060 switch MAC address setter.

Changes in v2:
  - remove .set_addr implementation from drivers and use a random MAC.
====================

Signed-off-by: David S. Miller <davem@davemloft.net>