[PATCH net-next mlxsw v2 0/3] mlxsw: ERSPAN: Take LACP state into consideration

Petr Machata petrm at mellanox.com
Fri Jun 29 09:20:10 AEST 2018

When offloading mirror-to-gretap, mlxsw needs to preroute the path that
the encapsulated packet will take. That path may include a LAG device
above a front panel port. So far, mlxsw resolved the path to the first
up front panel slave of the LAG interface, but that only reflects
administrative state of the port. It neglects to consider whether the
port actually has a carrier, and what the LACP state is. This patch set
aims to address these problems.

Patch #1 publishes team_port_get_rcu().

Then in patch #2, a new function is introduced,
mlxsw_sp_port_dev_check(). That returns, for a given netdevice that is a
slave of a LAG device, whether that device is "txable", i.e. whether the
LAG master would send traffic through it. Since there's no good place to
put LAG-wide helpers, introduce a new header include/net/lag.h.

Finally in patch #3, fix the slave selection logic to take into
consideration whether a given slave has a carrier and whether it is

Changes from v1 to v2:

- Move newly-introduced functions from bond_main.c and team.c to,
  respectively, bonding.h and if_team.h, so as not to create a hard dep
  between mlxsw and team & bonding modules.
- Add patch 1.

Petr Machata (3):
  team: Publish team_port_get_rcu()
  net: Add lag.h, net_lag_port_dev_txable()
  mlxsw: spectrum_span: Change LAG lower selection

 drivers/net/ethernet/mellanox/mlxsw/spectrum_span.c |  5 ++++-
 drivers/net/team/team.c                             |  5 -----
 include/linux/if_team.h                             | 18 ++++++++++++++++++
 include/net/bonding.h                               | 13 +++++++++++++
 include/net/lag.h                                   | 17 +++++++++++++++++
 5 files changed, 52 insertions(+), 6 deletions(-)
 create mode 100644 include/net/lag.h


More information about the Linux-mlxsw mailing list