net: marvell: prestera: add LAG support
authorSerhiy Boiko <serhiy.boiko@plvision.eu>
Thu, 10 Jun 2021 15:43:11 +0000 (18:43 +0300)
committerDavid S. Miller <davem@davemloft.net>
Thu, 10 Jun 2021 21:20:44 +0000 (14:20 -0700)
commit255213ca688767662a23d14f3fbf099c0e0b755d
treecabb174fe27fda3bce7b1d8a7734262a1665a973
parent82bbaa05bf9062d085b236d4799c494b62c1c7ef
net: marvell: prestera: add LAG support

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.

Co-developed-by: Andrii Savka <andrii.savka@plvision.eu>
Signed-off-by: Andrii Savka <andrii.savka@plvision.eu>
Signed-off-by: Serhiy Boiko <serhiy.boiko@plvision.eu>
Co-developed-by: Vadym Kochan <vkochan@marvell.com>
Signed-off-by: Vadym Kochan <vkochan@marvell.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/marvell/prestera/prestera.h
drivers/net/ethernet/marvell/prestera/prestera_hw.c
drivers/net/ethernet/marvell/prestera/prestera_hw.h
drivers/net/ethernet/marvell/prestera/prestera_main.c
drivers/net/ethernet/marvell/prestera/prestera_switchdev.c