From 138e3b3cc0bbbd795e3b3f2ab607597e2f0b80f9 Mon Sep 17 00:00:00 2001 From: Nikolay Aleksandrov Date: Wed, 10 Feb 2021 22:43:32 +0200 Subject: [PATCH] bonding: 3ad: add support for 400G speed In order to be able to use 3ad mode with 400G devices we need to extend the supported speeds. Signed-off-by: Nikolay Aleksandrov Signed-off-by: David S. Miller --- drivers/net/bonding/bond_3ad.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/drivers/net/bonding/bond_3ad.c b/drivers/net/bonding/bond_3ad.c index 390e877419f3..2e670f68626d 100644 --- a/drivers/net/bonding/bond_3ad.c +++ b/drivers/net/bonding/bond_3ad.c @@ -74,6 +74,7 @@ enum ad_link_speed_type { AD_LINK_SPEED_56000MBPS, AD_LINK_SPEED_100000MBPS, AD_LINK_SPEED_200000MBPS, + AD_LINK_SPEED_400000MBPS, }; /* compare MAC addresses */ @@ -247,6 +248,7 @@ static inline int __check_agg_selection_timer(struct port *port) * %AD_LINK_SPEED_56000MBPS * %AD_LINK_SPEED_100000MBPS * %AD_LINK_SPEED_200000MBPS + * %AD_LINK_SPEED_400000MBPS */ static u16 __get_link_speed(struct port *port) { @@ -318,6 +320,10 @@ static u16 __get_link_speed(struct port *port) speed = AD_LINK_SPEED_200000MBPS; break; + case SPEED_400000: + speed = AD_LINK_SPEED_400000MBPS; + break; + default: /* unknown speed value from ethtool. shouldn't happen */ if (slave->speed != SPEED_UNKNOWN) @@ -742,6 +748,9 @@ static u32 __get_agg_bandwidth(struct aggregator *aggregator) case AD_LINK_SPEED_200000MBPS: bandwidth = nports * 200000; break; + case AD_LINK_SPEED_400000MBPS: + bandwidth = nports * 400000; + break; default: bandwidth = 0; /* to silence the compiler */ }