linux/drivers/net/ethernet/aquantia/atlantic
Mark Starovoytov b4de6c49e5 net: atlantic: unify MAC generation
This patch unifies invalid MAC address handling with other drivers.

Basically we've switched to using standard APIs (is_valid_ether_addr /
eth_hw_addr_random) where possible.
It's worth noting that some of engineering Aquantia NICs might be
provisioned with a partially zeroed out MAC, which is still invalid,
but not caught by is_valid_ether_addr(), so we've added a special
handling for this case.

Also adding a warning in case of fallback to random MAC, because
this shouldn't be needed on production NICs, they should all be
provisioned with unique MAC.

NB! Default systemd/udevd configuration is 'MACAddressPolicy=persistent'.
    This causes MAC address to be persisted across driver reloads and
    reboots. We had to change it to 'none' for verification purposes.

Signed-off-by: Mark Starovoytov <mstarovoitov@marvell.com>
Signed-off-by: Igor Russkikh <irusskikh@marvell.com>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2020-05-09 11:47:25 -07:00
..
hw_atl net: atlantic: unify MAC generation 2020-05-09 11:47:25 -07:00
hw_atl2 net: atlantic: unify MAC generation 2020-05-09 11:47:25 -07:00
macsec net: atlantic: minor MACSec code cleanup 2020-05-09 11:47:25 -07:00
aq_cfg.h net: atlantic: update company name in the driver description 2020-05-01 15:37:57 -07:00
aq_common.h net: atlantic: rename AQ_NIC_RATE_2GS to AQ_NIC_RATE_2G5 2020-05-09 11:47:25 -07:00
aq_drvinfo.c net: aquantia: make all files GPL-2.0-only 2019-06-27 10:58:32 -07:00
aq_drvinfo.h net: aquantia: make all files GPL-2.0-only 2019-06-27 10:58:32 -07:00
aq_ethtool.c net: atlantic: rename AQ_NIC_RATE_2GS to AQ_NIC_RATE_2G5 2020-05-09 11:47:25 -07:00
aq_ethtool.h net: atlantic: loopback tests via private flags 2019-11-07 19:54:43 -08:00
aq_filters.c net: atlantic: fix out of range usage of active_vlans array 2020-02-16 19:03:40 -08:00
aq_filters.h net: aquantia: make all files GPL-2.0-only 2019-06-27 10:58:32 -07:00
aq_hw_utils.c net: atlantic: code style cleanup 2019-11-07 19:54:43 -08:00
aq_hw_utils.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 422 2019-06-05 17:37:15 +02:00
aq_hw.h net: atlantic: A2 hw_ops skeleton 2020-05-01 15:37:58 -07:00
aq_macsec.c net: atlantic: Remove unneeded semicolon 2020-04-24 16:56:59 -07:00
aq_macsec.h net: atlantic: MACSec offload statistics implementation 2020-03-26 20:17:37 -07:00
aq_main.c net/aquantia: Delete module version 2020-02-24 11:24:47 -08:00
aq_main.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 422 2019-06-05 17:37:15 +02:00
aq_nic.c net: atlantic: unify MAC generation 2020-05-09 11:47:25 -07:00
aq_nic.h net: atlantic: MACSec offload statistics implementation 2020-03-26 20:17:37 -07:00
aq_pci_func.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2020-05-06 22:10:13 -07:00
aq_pci_func.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 422 2019-06-05 17:37:15 +02:00
aq_phy.c net: aquantia: add support for Phy access 2019-10-24 09:51:23 -07:00
aq_phy.h net: aquantia: add support for Phy access 2019-10-24 09:51:23 -07:00
aq_ptp.c net: atlantic: stylistic renames 2019-11-07 19:54:43 -08:00
aq_ptp.h net: aquantia: remove unused including <linux/version.h> 2019-10-29 16:18:10 -07:00
aq_ring.c net: atlantic: fix use after free kasan warn 2020-02-16 19:03:39 -08:00
aq_ring.h net: atlantic: checksum compat issue 2020-02-16 19:03:39 -08:00
aq_rss.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 422 2019-06-05 17:37:15 +02:00
aq_utils.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 422 2019-06-05 17:37:15 +02:00
aq_vec.c net: atlantic: Signedness bug in aq_vec_isr_legacy() 2019-11-13 14:29:28 -08:00
aq_vec.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 422 2019-06-05 17:37:15 +02:00
Makefile net: atlantic: common functions needed for basic A2 init/deinit hw_ops 2020-05-01 15:37:58 -07:00