diff options
| author | Shannon Nelson <snelson@pensando.io> | 2021-10-08 12:38:01 -0700 |
|---|---|---|
| committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2021-10-20 11:40:17 +0200 |
| commit | 32d2ce0b94994fd739d87a9c30ca6a742992227c (patch) | |
| tree | 08c4edabf09f686f1ceced29d1329fd9ef3676da /Kconfig | |
| parent | abaf8e8b9081b55a5e24f198c8ae04d4d1e519ad (diff) | |
| download | linux-32d2ce0b94994fd739d87a9c30ca6a742992227c.tar.gz linux-32d2ce0b94994fd739d87a9c30ca6a742992227c.tar.bz2 linux-32d2ce0b94994fd739d87a9c30ca6a742992227c.zip | |
ionic: don't remove netdev->dev_addr when syncing uc list
commit 5c976a56570f29aaf4a2f9a1bf99789c252183c9 upstream.
Bridging, and possibly other upper stack gizmos, adds the
lower device's netdev->dev_addr to its own uc list, and
then requests it be deleted when the upper bridge device is
removed. This delete request also happens with the bridging
vlan_filtering is enabled and then disabled.
Bonding has a similar behavior with the uc list, but since it
also uses set_mac to manage netdev->dev_addr, it doesn't have
the same the failure case.
Because we store our netdev->dev_addr in our uc list, we need
to ignore the delete request from dev_uc_sync so as to not
lose the address and all hope of communicating. Note that
ndo_set_mac_address is expressly changing netdev->dev_addr,
so no limitation is set there.
Fixes: 2a654540be10 ("ionic: Add Rx filter and rx_mode ndo support")
Signed-off-by: Shannon Nelson <snelson@pensando.io>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'Kconfig')
0 files changed, 0 insertions, 0 deletions
