Skip to content
Snippets Groups Projects
Forked from Eclipse Projects / Oniro Core / linux
Source project has a limited visibility.
  • Shannon Nelson's avatar
    3593fa14
    ionic: don't remove netdev->dev_addr when syncing uc list · 3593fa14
    Shannon Nelson authored
    
    commit 5c976a56 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: 2a654540 ("ionic: Add Rx filter and rx_mode ndo support")
    Signed-off-by: default avatarShannon Nelson <snelson@pensando.io>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    3593fa14
    History
    ionic: don't remove netdev->dev_addr when syncing uc list
    Shannon Nelson authored
    
    commit 5c976a56 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: 2a654540 ("ionic: Add Rx filter and rx_mode ndo support")
    Signed-off-by: default avatarShannon Nelson <snelson@pensando.io>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Code owners
Assign users and groups as approvers for specific file changes. Learn more.