Allow independent control over receive and transmit enablement states
for aggregated ports in the team driver.

The motivation is that IEE 802.3ad LACP "independent control" can't
be implemented for the team driver currently. This was added to the
bonding driver in commit 240fd405528b ("bonding: Add independent
control state machine").

This series also has a few patches that add tests to show that the old
coupled enablement still works and that the new decoupled enalbment
works as intended (4, 5, and 7).

There are three patches with small fixes as well, with the goal of
making the final decouplement patch clearer (1, 2, and 3).

Marc Harvey (7):
  net: team: Annotate reads and writes for mixed lock accessed values
  net: team: Remove unused team_mode_op, port_enabled
  net: team: Rename port_disabled team mode op to port_tx_disabled
  selftests: net: Add tests for failover of team-aggregated ports
  selftests: net: Add test for enablement of ports with teamd
  net: team: Decouple rx and tx enablement in the team driver
  selftests: net: Add tests for team driver decoupled tx and rx control

 drivers/net/team/team_core.c                  | 241 +++++++++++++++---
 drivers/net/team/team_mode_loadbalance.c      |   8 +-
 drivers/net/team/team_mode_random.c           |   4 +-
 drivers/net/team/team_mode_roundrobin.c       |   2 +-
 include/linux/if_team.h                       |  63 +++--
 .../selftests/drivers/net/team/Makefile       |   3 +
 .../testing/selftests/drivers/net/team/config |   4 +
 .../drivers/net/team/decoupled_enablement.sh  | 200 +++++++++++++++
 .../selftests/drivers/net/team/options.sh     |  96 +++++++
 .../selftests/drivers/net/team/team_lib.sh    | 145 +++++++++++
 .../drivers/net/team/teamd_activebackup.sh    | 208 +++++++++++++++
 .../drivers/net/team/transmit_failover.sh     | 155 +++++++++++
 tools/testing/selftests/net/forwarding/lib.sh |  13 +-
 tools/testing/selftests/net/lib.sh            |  13 +
 14 files changed, 1084 insertions(+), 71 deletions(-)
 create mode 100755 
tools/testing/selftests/drivers/net/team/decoupled_enablement.sh
 create mode 100644 tools/testing/selftests/drivers/net/team/team_lib.sh
 create mode 100755 
tools/testing/selftests/drivers/net/team/teamd_activebackup.sh
 create mode 100755 
tools/testing/selftests/drivers/net/team/transmit_failover.sh

-- 
2.53.0.1018.g2bb0e51243-goog


Reply via email to