mbox series

[net-next,v4,0/8] net: lan966x: Add lag support

Message ID 20220817193449.1673002-1-horatiu.vultur@microchip.com (mailing list archive)
Headers show
Series net: lan966x: Add lag support | expand

Message

Horatiu Vultur Aug. 17, 2022, 7:34 p.m. UTC
Add lag support for lan966x.
First 4 patches don't do any changes to the current behaviour, they
just prepare for lag support. While the rest is to add the lag support.

v3->v4:
- aggregation configuration is global for all bonds, so make sure that
  there can't be enabled multiple configurations at the same time
- return error faster from lan966x_foreign_bridging_check, don't
  continue the search if the error is seen already
- flush fdb workqueue when a port leaves a bridge or lag.

v2->v3:
- return error code from 'switchdev_bridge_port_offload()'
- fix lan966x_foreign_dev_check(), it was missing lag support
- remove lan966x_lag_mac_add_entry and lan966x_mac_del_entry as
  they are not needed
- fix race conditions when accessing port->bond
- move FDB entries when a new port joins the lag if it has a lower

v1->v2:
- fix the LAG PGIDs when ports go down, in this way is not
  needed anymore the last patch of the series.

Horatiu Vultur (8):
  net: lan966x: Add registers used to configure lag interfaces
  net: lan966x: Split lan966x_fdb_event_work
  net: lan966x: Flush fdb workqueue when port is leaving a bridge.
  net: lan966x: Expose lan966x_switchdev_nb and
    lan966x_switchdev_blocking_nb
  net: lan966x: Extend lan966x_foreign_bridging_check
  net: lan966x: Add lag support for lan966x
  net: lan966x: Extend FDB to support also lag
  net: lan966x: Extend MAC to support also lag interfaces.

 .../net/ethernet/microchip/lan966x/Kconfig    |   1 +
 .../net/ethernet/microchip/lan966x/Makefile   |   2 +-
 .../ethernet/microchip/lan966x/lan966x_fdb.c  | 155 +++++---
 .../ethernet/microchip/lan966x/lan966x_lag.c  | 363 ++++++++++++++++++
 .../ethernet/microchip/lan966x/lan966x_mac.c  | 104 ++++-
 .../ethernet/microchip/lan966x/lan966x_main.h |  39 ++
 .../ethernet/microchip/lan966x/lan966x_regs.h |  45 +++
 .../microchip/lan966x/lan966x_switchdev.c     | 138 +++++--
 8 files changed, 741 insertions(+), 106 deletions(-)
 create mode 100644 drivers/net/ethernet/microchip/lan966x/lan966x_lag.c

Comments

patchwork-bot+netdevbpf@kernel.org Aug. 22, 2022, 1:30 p.m. UTC | #1
Hello:

This series was applied to netdev/net-next.git (master)
by David S. Miller <davem@davemloft.net>:

On Wed, 17 Aug 2022 21:34:41 +0200 you wrote:
> Add lag support for lan966x.
> First 4 patches don't do any changes to the current behaviour, they
> just prepare for lag support. While the rest is to add the lag support.
> 
> v3->v4:
> - aggregation configuration is global for all bonds, so make sure that
>   there can't be enabled multiple configurations at the same time
> - return error faster from lan966x_foreign_bridging_check, don't
>   continue the search if the error is seen already
> - flush fdb workqueue when a port leaves a bridge or lag.
> 
> [...]

Here is the summary with links:
  - [net-next,v4,1/8] net: lan966x: Add registers used to configure lag interfaces
    https://git.kernel.org/netdev/net-next/c/7c300735a1a1
  - [net-next,v4,2/8] net: lan966x: Split lan966x_fdb_event_work
    https://git.kernel.org/netdev/net-next/c/9b4ed7d262f3
  - [net-next,v4,3/8] net: lan966x: Flush fdb workqueue when port is leaving a bridge.
    https://git.kernel.org/netdev/net-next/c/86bac7f11788
  - [net-next,v4,4/8] net: lan966x: Expose lan966x_switchdev_nb and lan966x_switchdev_blocking_nb
    https://git.kernel.org/netdev/net-next/c/d6208adfc9a9
  - [net-next,v4,5/8] net: lan966x: Extend lan966x_foreign_bridging_check
    https://git.kernel.org/netdev/net-next/c/a751ea4d74e9
  - [net-next,v4,6/8] net: lan966x: Add lag support for lan966x
    https://git.kernel.org/netdev/net-next/c/cabc9d49333d
  - [net-next,v4,7/8] net: lan966x: Extend FDB to support also lag
    https://git.kernel.org/netdev/net-next/c/9be99f2d1d28
  - [net-next,v4,8/8] net: lan966x: Extend MAC to support also lag interfaces.
    https://git.kernel.org/netdev/net-next/c/e09ce97778e8

You are awesome, thank you!