|
|
3397d6 |
From c5c7c33cb83947523e954c7410216e6b8c0dd942 Mon Sep 17 00:00:00 2001
|
|
|
3397d6 |
From: Pavel Belous <pavel.s.belous@gmail.com>
|
|
|
3397d6 |
Date: Mon, 30 Jan 2017 20:03:30 +0300
|
|
|
3397d6 |
Subject: [PATCH 09/11] ethtool: Add support for 2500baseT/5000baseT link modes
|
|
|
3397d6 |
|
|
|
3397d6 |
This patch introduce ethtool support for 2500BaseT and 5000BaseT link modes
|
|
|
3397d6 |
from new IEEE 802.3bz standard.
|
|
|
3397d6 |
|
|
|
3397d6 |
ethtool-copy.h file sync with net.
|
|
|
3397d6 |
|
|
|
3397d6 |
Signed-off-by: Pavel Belous <pavel.s.belous@gmail.com>
|
|
|
3397d6 |
Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
|
|
3397d6 |
(cherry picked from commit 64dfc5e2f0467a4f61c066165eb42c118ca744e3)
|
|
|
3397d6 |
---
|
|
|
3397d6 |
ethtool-copy.h | 4 +++-
|
|
|
3397d6 |
ethtool.8.in | 4 +++-
|
|
|
3397d6 |
ethtool.c | 6 ++++++
|
|
|
3397d6 |
3 files changed, 12 insertions(+), 2 deletions(-)
|
|
|
3397d6 |
|
|
|
3397d6 |
diff --git a/ethtool-copy.h b/ethtool-copy.h
|
|
|
3397d6 |
index 3d299e3..06fc04c 100644
|
|
|
3397d6 |
--- a/ethtool-copy.h
|
|
|
3397d6 |
+++ b/ethtool-copy.h
|
|
|
3397d6 |
@@ -1382,6 +1382,8 @@ enum ethtool_link_mode_bit_indices {
|
|
|
3397d6 |
ETHTOOL_LINK_MODE_10000baseLR_Full_BIT = 44,
|
|
|
3397d6 |
ETHTOOL_LINK_MODE_10000baseLRM_Full_BIT = 45,
|
|
|
3397d6 |
ETHTOOL_LINK_MODE_10000baseER_Full_BIT = 46,
|
|
|
3397d6 |
+ ETHTOOL_LINK_MODE_2500baseT_Full_BIT = 47,
|
|
|
3397d6 |
+ ETHTOOL_LINK_MODE_5000baseT_Full_BIT = 48,
|
|
|
3397d6 |
|
|
|
3397d6 |
|
|
|
3397d6 |
/* Last allowed bit for __ETHTOOL_LINK_MODE_LEGACY_MASK is bit
|
|
|
3397d6 |
@@ -1391,7 +1393,7 @@ enum ethtool_link_mode_bit_indices {
|
|
|
3397d6 |
*/
|
|
|
3397d6 |
|
|
|
3397d6 |
__ETHTOOL_LINK_MODE_LAST
|
|
|
3397d6 |
- = ETHTOOL_LINK_MODE_10000baseER_Full_BIT,
|
|
|
3397d6 |
+ = ETHTOOL_LINK_MODE_5000baseT_Full_BIT,
|
|
|
3397d6 |
};
|
|
|
3397d6 |
|
|
|
3397d6 |
#define __ETHTOOL_LINK_MODE_LEGACY_MASK(base_name) \
|
|
|
3397d6 |
diff --git a/ethtool.8.in b/ethtool.8.in
|
|
|
3397d6 |
index b69c5c6..eb0f551 100644
|
|
|
3397d6 |
--- a/ethtool.8.in
|
|
|
3397d6 |
+++ b/ethtool.8.in
|
|
|
3397d6 |
@@ -578,7 +578,9 @@ lB l lB.
|
|
|
3397d6 |
0x020 1000baseT Full
|
|
|
3397d6 |
0x20000 1000baseKX Full
|
|
|
3397d6 |
0x20000000000 1000baseX Full
|
|
|
3397d6 |
-0x8000 2500baseX Full (not supported by IEEE standards)
|
|
|
3397d6 |
+0x800000000000 2500baseT Full
|
|
|
3397d6 |
+0x8000 2500baseX Full (not supported by IEEE standards)'
|
|
|
3397d6 |
+0x1000000000000 5000baseT Full
|
|
|
3397d6 |
0x1000 10000baseT Full
|
|
|
3397d6 |
0x40000 10000baseKX4 Full
|
|
|
3397d6 |
0x80000 10000baseKR Full
|
|
|
3397d6 |
diff --git a/ethtool.c b/ethtool.c
|
|
|
3397d6 |
index 5465f59..9650f54 100644
|
|
|
3397d6 |
--- a/ethtool.c
|
|
|
3397d6 |
+++ b/ethtool.c
|
|
|
3397d6 |
@@ -529,6 +529,8 @@ static void init_global_link_mode_masks(void)
|
|
|
3397d6 |
ETHTOOL_LINK_MODE_10000baseLR_Full_BIT,
|
|
|
3397d6 |
ETHTOOL_LINK_MODE_10000baseLRM_Full_BIT,
|
|
|
3397d6 |
ETHTOOL_LINK_MODE_10000baseER_Full_BIT,
|
|
|
3397d6 |
+ ETHTOOL_LINK_MODE_2500baseT_Full_BIT,
|
|
|
3397d6 |
+ ETHTOOL_LINK_MODE_5000baseT_Full_BIT,
|
|
|
3397d6 |
};
|
|
|
3397d6 |
static const enum ethtool_link_mode_bit_indices
|
|
|
3397d6 |
additional_advertised_flags_bits[] = {
|
|
|
3397d6 |
@@ -681,6 +683,10 @@ static void dump_link_caps(const char *prefix, const char *an_prefix,
|
|
|
3397d6 |
"10000baseLRM/Full" },
|
|
|
3397d6 |
{ 0, ETHTOOL_LINK_MODE_10000baseER_Full_BIT,
|
|
|
3397d6 |
"10000baseER/Full" },
|
|
|
3397d6 |
+ { 0, ETHTOOL_LINK_MODE_2500baseT_Full_BIT,
|
|
|
3397d6 |
+ "2500baseT/Full" },
|
|
|
3397d6 |
+ { 0, ETHTOOL_LINK_MODE_5000baseT_Full_BIT,
|
|
|
3397d6 |
+ "5000baseT/Full" },
|
|
|
3397d6 |
};
|
|
|
3397d6 |
int indent;
|
|
|
3397d6 |
int did1, new_line_pend, i;
|
|
|
3397d6 |
--
|
|
|
3397d6 |
1.8.3.1
|
|
|
3397d6 |
|