diff options
| author | Horatiu Vultur <horatiu.vultur@microchip.com> | 2022-08-17 21:34:49 +0200 |
|---|---|---|
| committer | David S. Miller <davem@davemloft.net> | 2022-08-22 14:00:54 +0100 |
| commit | e09ce97778e849d65f97bf877f7708952720cbac (patch) | |
| tree | 24480f9a6f30d967d59a2c9e8033036aa1cab103 /drivers/net/ethernet/microchip/lan966x/lan966x_main.h | |
| parent | 9be99f2d1d285eeee4033c173ced4a08e2ed5edd (diff) | |
net: lan966x: Extend MAC to support also lag interfaces.
Extend MAC support to support also lag interfaces:
1. In case an entry is learned on a port that is part of lag interface,
then notify the upper layers that the entry is learned on the bond
interface
2. If a port leaves the bond and the port is the first port in the lag
group, then it is required to update all MAC entries to change the
destination port.
Signed-off-by: Horatiu Vultur <horatiu.vultur@microchip.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/microchip/lan966x/lan966x_main.h')
| -rw-r--r-- | drivers/net/ethernet/microchip/lan966x/lan966x_main.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/net/ethernet/microchip/lan966x/lan966x_main.h b/drivers/net/ethernet/microchip/lan966x/lan966x_main.h index 96182ae0df3e..6135d311c407 100644 --- a/drivers/net/ethernet/microchip/lan966x/lan966x_main.h +++ b/drivers/net/ethernet/microchip/lan966x/lan966x_main.h @@ -351,6 +351,11 @@ int lan966x_mac_add_entry(struct lan966x *lan966x, struct lan966x_port *port, const unsigned char *addr, u16 vid); +void lan966x_mac_lag_replace_port_entry(struct lan966x *lan966x, + struct lan966x_port *src, + struct lan966x_port *dst); +void lan966x_mac_lag_remove_port_entry(struct lan966x *lan966x, + struct lan966x_port *src); void lan966x_mac_purge_entries(struct lan966x *lan966x); irqreturn_t lan966x_mac_irq_handler(struct lan966x *lan966x); |
