• Nils Carlson's avatar
    bonding 802.3ad: Fix the state machine locking v2 · 16d79d7d
    Nils Carlson authored
    Changes since v1:
    * Clarify an unclear comment
    * Move a (possible) name change to a separate patch
    
    The ad_rx_machine, ad_periodic_machine and ad_port_selection_logic
    functions all inspect and alter common fields within the port structure.
    Previous to this patch, only the ad_rx_machines were mutexed, and the
    periodic and port_selection could run unmutexed against an ad_rx_machine
    trigged by an arriving LACPDU.
    
    This patch remedies the situation by protecting all the state machines
    from concurrency. This is accomplished by locking around all the state
    machines for a given port, which are executed at regular intervals; and
    the ad_rx_machine when handling an incoming LACPDU.
    Signed-off-by: default avatarNils Carlson <nils.carlson@ericsson.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    16d79d7d
bond_3ad.c 79.9 KB