From 25d9ab78d39b16d7d7c5f7d48b919df4ed826f8b Mon Sep 17 00:00:00 2001 From: Aya Levin Date: Tue, 22 Jan 2019 10:50:10 +0200 Subject: [PATCH 1/2] ethtool: Added support for 50Gbps per lane link modes mainline inclusion from v5.12-rc1 commit 2736d94f351b92749c07efef01f7c10548e39ad8 category: task bugzilla: https://gitee.com/openeuler/kernel/issues/I5Y4KC CVE: NA ------------------------------------------- Added support for 50Gbps per lane link modes. Define various 50G, 100G and 200G link modes using it. Signed-off-by: Aya Levin Reviewed-by: Eran Ben Elisha Signed-off-by: Saeed Mahameed Signed-off-by: Sun Shouxin Signed-off-by: Xibo.Wang --- include/uapi/linux/ethtool.h | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/include/uapi/linux/ethtool.h b/include/uapi/linux/ethtool.h index dc69391d2bba..76f10846df49 100644 --- a/include/uapi/linux/ethtool.h +++ b/include/uapi/linux/ethtool.h @@ -1457,6 +1457,21 @@ enum ethtool_link_mode_bit_indices { ETHTOOL_LINK_MODE_FEC_NONE_BIT = 49, ETHTOOL_LINK_MODE_FEC_RS_BIT = 50, ETHTOOL_LINK_MODE_FEC_BASER_BIT = 51, + ETHTOOL_LINK_MODE_50000baseKR_Full_BIT = 52, + ETHTOOL_LINK_MODE_50000baseSR_Full_BIT = 53, + ETHTOOL_LINK_MODE_50000baseCR_Full_BIT = 54, + ETHTOOL_LINK_MODE_50000baseLR_ER_FR_Full_BIT = 55, + ETHTOOL_LINK_MODE_50000baseDR_Full_BIT = 56, + ETHTOOL_LINK_MODE_100000baseKR2_Full_BIT = 57, + ETHTOOL_LINK_MODE_100000baseSR2_Full_BIT = 58, + ETHTOOL_LINK_MODE_100000baseCR2_Full_BIT = 59, + ETHTOOL_LINK_MODE_100000baseLR2_ER2_FR2_Full_BIT = 60, + ETHTOOL_LINK_MODE_100000baseDR2_Full_BIT = 61, + ETHTOOL_LINK_MODE_200000baseKR4_Full_BIT = 62, + ETHTOOL_LINK_MODE_200000baseSR4_Full_BIT = 63, + ETHTOOL_LINK_MODE_200000baseLR4_ER4_FR4_Full_BIT = 64, + ETHTOOL_LINK_MODE_200000baseDR4_Full_BIT = 65, + ETHTOOL_LINK_MODE_200000baseCR4_Full_BIT = 66, /* Last allowed bit for __ETHTOOL_LINK_MODE_LEGACY_MASK is bit * 31. Please do NOT define any SUPPORTED_* or ADVERTISED_* @@ -1465,7 +1480,7 @@ enum ethtool_link_mode_bit_indices { */ __ETHTOOL_LINK_MODE_LAST - = ETHTOOL_LINK_MODE_FEC_BASER_BIT, + = ETHTOOL_LINK_MODE_200000baseCR4_Full_BIT, }; #define __ETHTOOL_LINK_MODE_LEGACY_MASK(base_name) \ @@ -1573,6 +1588,7 @@ enum ethtool_link_mode_bit_indices { #define SPEED_50000 50000 #define SPEED_56000 56000 #define SPEED_100000 100000 +#define SPEED_200000 200000 #define SPEED_UNKNOWN -1 -- Gitee From 23e37e75996e5867d587453ad0cedfbe94c35090 Mon Sep 17 00:00:00 2001 From: Nikolay Aleksandrov Date: Wed, 10 Feb 2021 22:43:31 +0200 Subject: [PATCH 2/2] bonding: 3ad: add support for 200G speed mainline inclusion from v5.12-rc1 commit ab73447c38e4f335279d56bd5e688ce601092f50 category: task bugzilla: https://gitee.com/openeuler/kernel/issues/I5Y4KC CVE: NA ------------------------------------------- In order to be able to use 3ad mode with 200G devices we need to extend the supported speeds. Signed-off-by: Nikolay Aleksandrov Signed-off-by: David S. Miller Signed-off-by: Sun Shouxin Signed-off-by: Xibo.Wang --- 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 a6bb7e915f74..e6e9149f587e 100644 --- a/drivers/net/bonding/bond_3ad.c +++ b/drivers/net/bonding/bond_3ad.c @@ -99,6 +99,7 @@ enum ad_link_speed_type { AD_LINK_SPEED_50000MBPS, AD_LINK_SPEED_56000MBPS, AD_LINK_SPEED_100000MBPS, + AD_LINK_SPEED_200000MBPS, }; /* compare MAC addresses */ @@ -271,6 +272,7 @@ static inline int __check_agg_selection_timer(struct port *port) * %AD_LINK_SPEED_50000MBPS * %AD_LINK_SPEED_56000MBPS * %AD_LINK_SPEED_100000MBPS + * %AD_LINK_SPEED_200000MBPS */ static u16 __get_link_speed(struct port *port) { @@ -338,6 +340,10 @@ static u16 __get_link_speed(struct port *port) speed = AD_LINK_SPEED_100000MBPS; break; + case SPEED_200000: + speed = AD_LINK_SPEED_200000MBPS; + break; + default: /* unknown speed value from ethtool. shouldn't happen */ if (slave->speed != SPEED_UNKNOWN) @@ -757,6 +763,9 @@ static u32 __get_agg_bandwidth(struct aggregator *aggregator) case AD_LINK_SPEED_100000MBPS: bandwidth = nports * 100000; break; + case AD_LINK_SPEED_200000MBPS: + bandwidth = nports * 200000; + break; default: bandwidth = 0; /* to silence the compiler */ } -- Gitee