[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <1306157880.20872.102.camel@lb-tlvb-dmitry>
Date: Mon, 23 May 2011 16:38:00 +0300
From: "Yaniv Rosner" <yanivr@...adcom.com>
To: "Ben Hutchings" <bhutchings@...arflare.com>
cc: "netdev@...r.kernel.org" <netdev@...r.kernel.org>,
eilong@...adcom.com
Subject: [PATCH] ethtool: Add support for 20G link speed
Add support for 20G link speed
Signed-off-by: Yaniv Rosner <yanivr@...adcom.com>
---
ethtool-copy.h | 5 +++++
ethtool.c | 18 +++++++++++++++++-
2 files changed, 22 insertions(+), 1 deletions(-)
diff --git a/ethtool-copy.h b/ethtool-copy.h
index 22215e9..c02a98b 100644
--- a/ethtool-copy.h
+++ b/ethtool-copy.h
@@ -749,6 +749,8 @@ enum ethtool_sfeatures_retval_bits {
#define SUPPORTED_10000baseKX4_Full (1 << 18)
#define SUPPORTED_10000baseKR_Full (1 << 19)
#define SUPPORTED_10000baseR_FEC (1 << 20)
+#define SUPPORTED_20000baseMLD2_Full (1 << 21)
+#define SUPPORTED_20000baseKR2_Full (1 << 22)
/* Indicates what features are advertised by the interface. */
#define ADVERTISED_10baseT_Half (1 << 0)
@@ -772,6 +774,9 @@ enum ethtool_sfeatures_retval_bits {
#define ADVERTISED_10000baseKX4_Full (1 << 18)
#define ADVERTISED_10000baseKR_Full (1 << 19)
#define ADVERTISED_10000baseR_FEC (1 << 20)
+#define ADVERTISED_20000baseMLD2_Full (1 << 21)
+#define ADVERTISED_20000baseKR2_Full (1 << 22)
+
/* The following are all involved in forcing a particular link
* mode for the device for setting things. When getting the
diff --git a/ethtool.c b/ethtool.c
index cfdac65..a099a23 100644
--- a/ethtool.c
+++ b/ethtool.c
@@ -1238,6 +1238,20 @@ static void dump_supported(struct ethtool_cmd *ep)
if (mask & SUPPORTED_10000baseT_Full) {
did1++; fprintf(stdout, "10000baseT/Full ");
}
+ if (did1 && (mask & SUPPORTED_20000baseMLD2_Full)) {
+ fprintf(stdout, "\n");
+ fprintf(stdout, " ");
+ }
+ if (mask & SUPPORTED_20000baseMLD2_Full) {
+ did1++; fprintf(stdout, "20000baseMLD2/Full ");
+ }
+ if (did1 && (mask & SUPPORTED_20000baseKR2_Full)) {
+ fprintf(stdout, "\n");
+ fprintf(stdout, " ");
+ }
+ if (mask & SUPPORTED_20000baseKR2_Full) {
+ did1++; fprintf(stdout, "20000baseKR2/Full ");
+ }
fprintf(stdout, "\n");
fprintf(stdout, " Supports auto-negotiation: ");
@@ -2581,7 +2595,9 @@ static int do_sset(int fd, struct ifreq *ifr)
ADVERTISED_1000baseT_Half |
ADVERTISED_1000baseT_Full |
ADVERTISED_2500baseX_Full |
- ADVERTISED_10000baseT_Full);
+ ADVERTISED_10000baseT_Full |
+ ADVERTISED_20000baseMLD2_Full |
+ ADVERTISED_20000baseKR2_Full);
} else if (advertising_wanted > 0) {
ecmd.advertising = advertising_wanted;
}
--
1.7.1
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists