mbox series

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

Message ID 20210610154311.23818-1-vadym.kochan@plvision.eu (mailing list archive)
Headers show
Series net: marvell: prestera: add LAG support | expand

Message

Vadym Kochan June 10, 2021, 3:43 p.m. UTC
From: Vadym Kochan <vkochan@marvell.com>

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(-)

Comments

Vadym Kochan June 10, 2021, 4:08 p.m. UTC | #1
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@marvell.com>
> 
> 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
>
Vladimir Oltean June 10, 2021, 5:38 p.m. UTC | #2
On Thu, Jun 10, 2021 at 07:08:28PM +0300, Vadym Kochan wrote:
> Sorry, I did not mark it with a "net-next", will resend.

Don't - let it simmer for a while, 24 hours at the very least is
generally a good time to resend if there isn't any other feedback and
you still want to make some changes. I think in this case it is pretty
obvious that you are targeting net-next, so that wouldn't be enough of a
reason to resent.
patchwork-bot+netdevbpf@kernel.org June 10, 2021, 9:40 p.m. UTC | #3
Hello:

This series was applied to netdev/net-next.git (refs/heads/master):

On Thu, 10 Jun 2021 18:43:08 +0300 you wrote:
> From: Vadym Kochan <vkochan@marvell.com>
> 
> 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
> 
> [...]

Here is the summary with links:
  - [v2,1/3] net: marvell: prestera: move netdev topology validation to prestera_main
    https://git.kernel.org/netdev/net-next/c/3d5048cc54bd
  - [v2,2/3] net: marvell: prestera: do not propagate netdev events to prestera_switchdev.c
    https://git.kernel.org/netdev/net-next/c/82bbaa05bf90
  - [v2,3/3] net: marvell: prestera: add LAG support
    https://git.kernel.org/netdev/net-next/c/255213ca6887

You are awesome, thank you!
--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html