Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

teamd: lacp: update port state according to partner's sync bit #2793

Merged
merged 1 commit into from
Apr 17, 2019

Commits on Apr 16, 2019

  1. teamd: lacp: update port state according to partner's sync bit

    Backport of
    jpirko/libteam@54f137c
    
    According to 6.4.15 of IEEE 802.1AX-2014, Figure 6-22, the state that the
    port is selected moves MUX state from DETACHED to ATTACHED.
    
    But ATTACHED state does not mean that the port can send and receive user
    frames. COLLECTING_DISTRIBUTION state is the state that the port can send
    and receive user frames. To move MUX state from ATTACHED to
    COLLECTING_DISTRIBUTION, the partner state should be sync as well as the
    port selected.
    
    In function lacp_port_actor_update(), only INFO_STATE_SYNCHRONIZATION
    should be set to the actor.state when the port is selected.
    INFO_STATE_COLLECTING and INFO_STATE_DISTRIBUTING should be set to false
    with ATTACHED mode and set to true when INFO_STATE_SYNCHRONIZATION of
    partner.state is set.
    
    In function lacp_port_should_be_{enabled, disabled}(), we also need to
    check the INFO_STATE_SYNCHRONIZATION bit of partner.state.
    
    Signed-off-by: Hangbin Liu <liuhangbin@gmail.com>
    Signed-off-by: Jiri Pirko <jiri@mellanox.com>
    pavel-shirshov committed Apr 16, 2019
    Configuration menu
    Copy the full SHA
    a9e5610 View commit details
    Browse the repository at this point in the history