Re: [PATCH v2 0/3] net: marvell: prestera: add LAG support

From: Vadym Kochan
Date: Thu Jun 10 2021 - 12:08:43 EST


Sorry, I did not mark it with a "net-next", will resend.

On Thu, Jun 10, 2021 at 06:43:08PM +0300, Vadym Kochan wrote:
> From: Vadym Kochan <vkochan@xxxxxxxxxxx>
>
> The following features are supported:
>
> - LAG basic operations
> - create/delete LAG
> - add/remove a member to LAG
> - enable/disable member in LAG
> - LAG Bridge support
> - LAG VLAN support
> - LAG FDB support
>
> Limitations:
>
> - Only HASH lag tx type is supported
> - The Hash parameters are not configurable. They are applied
> during the LAG creation stage.
> - Enslaving a port to the LAG device that already has an
> upper device is not supported.
>
> Changes extracted from:
>
> https://lkml.org/lkml/2021/2/3/877
>
> and marked with "v2".
>
> v2:
>
> There are 2 additional preparation patches which simplifies the
> netdev topology handling.
>
> 1) Initialize 'lag' with NULL in prestera_lag_create() [suggested by Vladimir Oltean]
>
> 2) Use -ENOSPC in prestera_lag_port_add() if max lag [suggested by Vladimir Oltean]
> numbers were reached.
>
> 3) Do not propagate netdev events to prestera_switchdev [suggested by Vladimir Oltean]
> but call bridge specific funcs. It simplifies the code.
>
> 4) Check on info->link_up in prestera_netdev_port_lower_event() [suggested by Vladimir Oltean]
>
> 5) Return -EOPNOTSUPP in prestera_netdev_port_event() in case [suggested by Vladimir Oltean]
> LAG hashing mode is not supported.
>
> 6) Do not pass "lower" netdev to bridge join/leave functions. [suggested by Vladimir Oltean]
> It is not need as offloading settings applied on particular
> physical port. It requires to do extra upper dev lookup
> in case port is in the LAG which is in the bridge on vlans add/del.
>
> Serhiy Boiko (1):
> net: marvell: prestera: add LAG support
>
> Vadym Kochan (2):
> net: marvell: prestera: move netdev topology validation to
> prestera_main
> net: marvell: prestera: do not propagate netdev events to
> prestera_switchdev.c
>
> .../net/ethernet/marvell/prestera/prestera.h | 30 +-
> .../ethernet/marvell/prestera/prestera_hw.c | 180 +++++++++++-
> .../ethernet/marvell/prestera/prestera_hw.h | 14 +
> .../ethernet/marvell/prestera/prestera_main.c | 267 +++++++++++++++++-
> .../marvell/prestera/prestera_switchdev.c | 163 ++++++-----
> .../marvell/prestera/prestera_switchdev.h | 7 +-
> 6 files changed, 573 insertions(+), 88 deletions(-)
>
> --
> 2.17.1
>