diff options
author | Nikolay Aleksandrov <nikolay@nvidia.com> | 2021-02-10 23:43:32 +0300 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2021-02-12 01:28:21 +0300 |
commit | 138e3b3cc0bbbd795e3b3f2ab607597e2f0b80f9 (patch) | |
tree | 838b6d001dd76591bd4526b51af3f090f467a9b2 | |
parent | ab73447c38e4f335279d56bd5e688ce601092f50 (diff) | |
download | linux-138e3b3cc0bbbd795e3b3f2ab607597e2f0b80f9.tar.xz |
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 <nikolay@nvidia.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r-- | drivers/net/bonding/bond_3ad.c | 9 |
1 files changed, 9 insertions, 0 deletions
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 */ } |