• Debabrata Banerjee's avatar
    bonding: send learning packets for vlans on slave · d7bfa99f
    Debabrata Banerjee authored
    [ Upstream commit 21706ee8 ]
    
    There was a regression at some point from the intended functionality of
    commit f60c3704 ("bonding: Fix alb mode to only use first level
    vlans.")
    
    Given the return value vlan_get_encap_level() we need to store the nest
    level of the bond device, and then compare the vlan's encap level to
    this. Without this, this check always fails and learning packets are
    never sent.
    
    In addition, this same commit caused a regression in the behavior of
    balance_alb, which requires learning packets be sent for all interfaces
    using the slave's mac in order to load balance properly. For vlan's
    that have not set a user mac, we can send after checking one bit.
    Otherwise we need send the set mac, albeit defeating rx load balancing
    for that vlan.
    Signed-off-by: default avatarDebabrata Banerjee <dbanerje@akamai.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    d7bfa99f
bonding.h 18.5 KB