• Hangbin Liu's avatar
    bonding: fix macvlan over alb bond support · e74216b8
    Hangbin Liu authored
    The commit 14af9963 ("bonding: Support macvlans on top of tlb/rlb mode
    bonds") aims to enable the use of macvlans on top of rlb bond mode. However,
    the current rlb bond mode only handles ARP packets to update remote neighbor
    entries. This causes an issue when a macvlan is on top of the bond, and
    remote devices send packets to the macvlan using the bond's MAC address
    as the destination. After delivering the packets to the macvlan, the macvlan
    will rejects them as the MAC address is incorrect. Consequently, this commit
    makes macvlan over bond non-functional.
    
    To address this problem, one potential solution is to check for the presence
    of a macvlan port on the bond device using netif_is_macvlan_port(bond->dev)
    and return NULL in the rlb_arp_xmit() function. However, this approach
    doesn't fully resolve the situation when a VLAN exists between the bond and
    macvlan.
    
    So let's just do a partial revert for commit 14af9963 in rlb_arp_xmit().
    As the comment said, Don't modify or load balance ARPs that do not originate
    locally.
    
    Fixes: 14af9963 ("bonding: Support macvlans on top of tlb/rlb mode bonds")
    Reported-by: susan.zheng@veritas.com
    Closes: https://bugzilla.redhat.com/show_bug.cgi?id=2117816Signed-off-by: default avatarHangbin Liu <liuhangbin@gmail.com>
    Acked-by: default avatarJay Vosburgh <jay.vosburgh@canonical.com>
    Signed-off-by: default avatarPaolo Abeni <pabeni@redhat.com>
    e74216b8
bond_alb.c 49.1 KB