* [PATCH 1/1] ethtool: Expose MDI-X status
[not found] <F169D4F5E1F1974DBFAFABF47F60C10A33527C9D@orsmsx507.amr.corp.intel.com>
@ 2009-05-22 14:54 ` Chaitanya Lala
2009-05-22 15:02 ` Stephen Hemminger
2009-05-22 15:03 ` Ben Hutchings
2009-05-22 14:55 ` [net-next-2.6 PATCH 1/1] e1000e: Expose MDI-X status via ethtool change Chaitanya Lala
1 sibling, 2 replies; 22+ messages in thread
From: Chaitanya Lala @ 2009-05-22 14:54 UTC (permalink / raw)
To: jgarzik; +Cc: netdev
The MDI-X status is a useful tool for diagnosing network
connectivity issues. We expose MDI-X status as a tri-state value
status which drivers can optionally implement.
Signed-off-by: Chaitanya Lala <clala@riverbed.com>
Signed-off-by: Arthur Jones <ajones@riverbed.com>
---
ethtool-copy.h | 6 ++++++
ethtool.c | 13 +++++++++++++
2 files changed, 19 insertions(+), 0 deletions(-)
diff --git a/ethtool-copy.h b/ethtool-copy.h
index 3ca4e2c..37bbeaf 100644
--- a/ethtool-copy.h
+++ b/ethtool-copy.h
@@ -23,6 +23,7 @@ struct ethtool_cmd {
__u8 phy_address;
__u8 transceiver; /* Which transceiver to use */
__u8 autoneg; /* Enable or disable autonegotiation */
+ __u8 is_mdix;
__u32 maxtxpkt; /* Tx pkts before generating tx int */
__u32 maxrxpkt; /* Rx pkts before generating rx int */
__u16 speed_hi;
@@ -416,6 +417,11 @@ struct ethtool_rxnfc {
#define AUTONEG_DISABLE 0x00
#define AUTONEG_ENABLE 0x01
+/* Mode MDI or MDI-X */
+#define MDI_INVALID 0x00
+#define MDI 0x01
+#define MDI_X 0x02
+
/* Wake-On-Lan options. */
#define WAKE_PHY (1 << 0)
#define WAKE_UCAST (1 << 1)
diff --git a/ethtool.c b/ethtool.c
index 0110682..bf12168 100644
--- a/ethtool.c
+++ b/ethtool.c
@@ -964,6 +964,19 @@ static int dump_ecmd(struct ethtool_cmd *ep)
fprintf(stdout, " Auto-negotiation: %s\n",
(ep->autoneg == AUTONEG_DISABLE) ?
"off" : "on");
+
+ switch (ep->is_mdix) {
+ case MDI:
+ fprintf(stdout, " MDI-X: off\n");
+ break;
+ case MDI_X:
+ fprintf(stdout, " MDI-X: on\n");
+ break;
+ default:
+ fprintf(stdout, " MDI-X: Unknown\n");
+ break;
+ }
+
return 0;
}
--
1.6.0.4
^ permalink raw reply related [flat|nested] 22+ messages in thread
* [net-next-2.6 PATCH 1/1] e1000e: Expose MDI-X status via ethtool change
[not found] <F169D4F5E1F1974DBFAFABF47F60C10A33527C9D@orsmsx507.amr.corp.intel.com>
2009-05-22 14:54 ` [PATCH 1/1] ethtool: Expose MDI-X status Chaitanya Lala
@ 2009-05-22 14:55 ` Chaitanya Lala
2009-05-22 15:05 ` Ben Hutchings
1 sibling, 1 reply; 22+ messages in thread
From: Chaitanya Lala @ 2009-05-22 14:55 UTC (permalink / raw)
To: jesse.brandeburg; +Cc: netdev
Ethtool is a standard way of getting information about ethernet
interfaces. We enhance ethtool kernel interface & e1000e to make
the MDI-X status readable via ethtool in userspace.
Signed-off-by: Chaitanya Lala <clala@riverbed.com>
Signed-off-by: Arthur Jones <ajones@riverbed.com>
---
drivers/net/e1000e/ethtool.c | 8 ++++++++
include/linux/ethtool.h | 6 ++++++
2 files changed, 14 insertions(+), 0 deletions(-)
diff --git a/drivers/net/e1000e/ethtool.c b/drivers/net/e1000e/ethtool.c
index 4d25ede..8bbade1 100644
--- a/drivers/net/e1000e/ethtool.c
+++ b/drivers/net/e1000e/ethtool.c
@@ -167,6 +167,14 @@ static int e1000_get_settings(struct net_device *netdev,
ecmd->autoneg = ((hw->phy.media_type == e1000_media_type_fiber) ||
hw->mac.autoneg) ? AUTONEG_ENABLE : AUTONEG_DISABLE;
+
+ /* MDI-X => 2; MDI =>1; Invalid =>0 */
+ if ((hw->phy.media_type == e1000_media_type_copper) &&
+ !hw->mac.get_link_status)
+ ecmd->is_mdix = hw->phy.is_mdix ? MDI_X : MDI;
+ else
+ ecmd->is_mdix = MDI_INVALID;
+
return 0;
}
diff --git a/include/linux/ethtool.h b/include/linux/ethtool.h
index 380b042..0533d70 100644
--- a/include/linux/ethtool.h
+++ b/include/linux/ethtool.h
@@ -26,6 +26,7 @@ struct ethtool_cmd {
__u8 phy_address;
__u8 transceiver; /* Which transceiver to use */
__u8 autoneg; /* Enable or disable autonegotiation */
+ __u8 is_mdix; /* MDI-X status tri-state value */
__u8 mdio_support;
__u32 maxtxpkt; /* Tx pkts before generating tx int */
__u32 maxrxpkt; /* Rx pkts before generating rx int */
@@ -632,6 +633,11 @@ struct ethtool_ops {
#define AUTONEG_DISABLE 0x00
#define AUTONEG_ENABLE 0x01
+/* Mode MDI or MDI-X */
+#define MDI_INVALID 0x00
+#define MDI 0x01
+#define MDI_X 0x02
+
/* Wake-On-Lan options. */
#define WAKE_PHY (1 << 0)
#define WAKE_UCAST (1 << 1)
--
1.6.0.4
^ permalink raw reply related [flat|nested] 22+ messages in thread
* Re: [PATCH 1/1] ethtool: Expose MDI-X status
2009-05-22 14:54 ` [PATCH 1/1] ethtool: Expose MDI-X status Chaitanya Lala
@ 2009-05-22 15:02 ` Stephen Hemminger
2009-05-22 15:03 ` Ben Hutchings
1 sibling, 0 replies; 22+ messages in thread
From: Stephen Hemminger @ 2009-05-22 15:02 UTC (permalink / raw)
To: Chaitanya Lala; +Cc: jgarzik, netdev
On Fri, 22 May 2009 07:54:26 -0700
Chaitanya Lala <clala@riverbed.com> wrote:
> The MDI-X status is a useful tool for diagnosing network
> connectivity issues. We expose MDI-X status as a tri-state value
> status which drivers can optionally implement.
>
> Signed-off-by: Chaitanya Lala <clala@riverbed.com>
> Signed-off-by: Arthur Jones <ajones@riverbed.com>
> ---
> ethtool-copy.h | 6 ++++++
> ethtool.c | 13 +++++++++++++
> 2 files changed, 19 insertions(+), 0 deletions(-)
>
> diff --git a/ethtool-copy.h b/ethtool-copy.h
> index 3ca4e2c..37bbeaf 100644
> --- a/ethtool-copy.h
> +++ b/ethtool-copy.h
> @@ -23,6 +23,7 @@ struct ethtool_cmd {
> __u8 phy_address;
> __u8 transceiver; /* Which transceiver to use */
> __u8 autoneg; /* Enable or disable autonegotiation */
> + __u8 is_mdix;
> __u32 maxtxpkt; /* Tx pkts before generating tx int */
> __u32 maxrxpkt; /* Rx pkts before generating rx int */
> __u16 speed_hi;
>
Is this an ABI change (or are you just reusing a pad hole)?
--
^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: [PATCH 1/1] ethtool: Expose MDI-X status
2009-05-22 14:54 ` [PATCH 1/1] ethtool: Expose MDI-X status Chaitanya Lala
2009-05-22 15:02 ` Stephen Hemminger
@ 2009-05-22 15:03 ` Ben Hutchings
1 sibling, 0 replies; 22+ messages in thread
From: Ben Hutchings @ 2009-05-22 15:03 UTC (permalink / raw)
To: Chaitanya Lala; +Cc: jgarzik, netdev
On Fri, 2009-05-22 at 07:54 -0700, Chaitanya Lala wrote:
> The MDI-X status is a useful tool for diagnosing network
> connectivity issues. We expose MDI-X status as a tri-state value
> status which drivers can optionally implement.
>
> Signed-off-by: Chaitanya Lala <clala@riverbed.com>
> Signed-off-by: Arthur Jones <ajones@riverbed.com>
> ---
> ethtool-copy.h | 6 ++++++
> ethtool.c | 13 +++++++++++++
> 2 files changed, 19 insertions(+), 0 deletions(-)
>
> diff --git a/ethtool-copy.h b/ethtool-copy.h
> index 3ca4e2c..37bbeaf 100644
> --- a/ethtool-copy.h
> +++ b/ethtool-copy.h
> @@ -23,6 +23,7 @@ struct ethtool_cmd {
> __u8 phy_address;
> __u8 transceiver; /* Which transceiver to use */
> __u8 autoneg; /* Enable or disable autonegotiation */
> + __u8 is_mdix;
[...]
I have already filled this hole in the structure. See Dave's
net-next-2.6 repository and my previously submitted changes to ethtool
<http://thread.gmane.org/gmane.linux.network/127025>.
Ben.
--
Ben Hutchings, Senior Software Engineer, Solarflare Communications
Not speaking for my employer; that's the marketing department's job.
They asked us to note that Solarflare product names are trademarked.
^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: [net-next-2.6 PATCH 1/1] e1000e: Expose MDI-X status via ethtool change
2009-05-22 14:55 ` [net-next-2.6 PATCH 1/1] e1000e: Expose MDI-X status via ethtool change Chaitanya Lala
@ 2009-05-22 15:05 ` Ben Hutchings
2009-05-22 15:24 ` Chaitanya Lala
` (2 more replies)
0 siblings, 3 replies; 22+ messages in thread
From: Ben Hutchings @ 2009-05-22 15:05 UTC (permalink / raw)
To: Chaitanya Lala; +Cc: jesse.brandeburg, netdev
On Fri, 2009-05-22 at 07:55 -0700, Chaitanya Lala wrote:
> Ethtool is a standard way of getting information about ethernet
> interfaces. We enhance ethtool kernel interface & e1000e to make
> the MDI-X status readable via ethtool in userspace.
[...]
> diff --git a/include/linux/ethtool.h b/include/linux/ethtool.h
> index 380b042..0533d70 100644
> --- a/include/linux/ethtool.h
> +++ b/include/linux/ethtool.h
> @@ -26,6 +26,7 @@ struct ethtool_cmd {
> __u8 phy_address;
> __u8 transceiver; /* Which transceiver to use */
> __u8 autoneg; /* Enable or disable autonegotiation */
> + __u8 is_mdix; /* MDI-X status tri-state value */
> __u8 mdio_support;
[...]
There's no gap here, so this would move all the following fields and
break all older ethtool clients.
Ben.
--
Ben Hutchings, Senior Software Engineer, Solarflare Communications
Not speaking for my employer; that's the marketing department's job.
They asked us to note that Solarflare product names are trademarked.
^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: [net-next-2.6 PATCH 1/1] e1000e: Expose MDI-X status via ethtool change
2009-05-22 15:05 ` Ben Hutchings
@ 2009-05-22 15:24 ` Chaitanya Lala
2009-05-22 17:18 ` [PATCH 1/1] ethtool: Expose MDI-X status Chaitanya Lala
2009-05-22 17:20 ` [net-next-2.6 PATCH 1/1] e1000e: Expose MDI-X status via ethtool change Chaitanya Lala
2 siblings, 0 replies; 22+ messages in thread
From: Chaitanya Lala @ 2009-05-22 15:24 UTC (permalink / raw)
To: Ben Hutchings; +Cc: jesse.brandeburg@intel.com, netdev@vger.kernel.org
Ben Hutchings wrote:
> On Fri, 2009-05-22 at 07:55 -0700, Chaitanya Lala wrote:
>
>> Ethtool is a standard way of getting information about ethernet
>> interfaces. We enhance ethtool kernel interface & e1000e to make
>> the MDI-X status readable via ethtool in userspace.
>>
> [...]
>
>> diff --git a/include/linux/ethtool.h b/include/linux/ethtool.h
>> index 380b042..0533d70 100644
>> --- a/include/linux/ethtool.h
>> +++ b/include/linux/ethtool.h
>> @@ -26,6 +26,7 @@ struct ethtool_cmd {
>> __u8 phy_address;
>> __u8 transceiver; /* Which transceiver to use */
>> __u8 autoneg; /* Enable or disable autonegotiation */
>> + __u8 is_mdix; /* MDI-X status tri-state value */
>> __u8 mdio_support;
>>
> [...]
>
> There's no gap here, so this would move all the following fields and
> break all older ethtool clients.
>
> Ben.
>
>
Then should I move it to the bottom ?
Chaitanya
^ permalink raw reply [flat|nested] 22+ messages in thread
* [PATCH 1/1] ethtool: Expose MDI-X status
2009-05-22 15:05 ` Ben Hutchings
2009-05-22 15:24 ` Chaitanya Lala
@ 2009-05-22 17:18 ` Chaitanya Lala
2009-05-23 1:04 ` Ben Hutchings
2009-05-22 17:20 ` [net-next-2.6 PATCH 1/1] e1000e: Expose MDI-X status via ethtool change Chaitanya Lala
2 siblings, 1 reply; 22+ messages in thread
From: Chaitanya Lala @ 2009-05-22 17:18 UTC (permalink / raw)
To: jgarzik; +Cc: netdev
The MDI-X status is a useful tool for diagnosing network
connectivity issues. We expose MDI-X status as a tri-state value
status which drivers can optionally implement.
Signed-off-by: Chaitanya Lala <clala@riverbed.com>
Signed-off-by: Arthur Jones <ajones@riverbed.com>
---
ethtool-copy.h | 6 ++++++
ethtool.c | 13 +++++++++++++
2 files changed, 19 insertions(+), 0 deletions(-)
diff --git a/ethtool-copy.h b/ethtool-copy.h
index 3ca4e2c..d3e1524 100644
--- a/ethtool-copy.h
+++ b/ethtool-copy.h
@@ -28,6 +28,7 @@ struct ethtool_cmd {
__u16 speed_hi;
__u16 reserved2;
__u32 reserved[3];
+ __u8 is_mdix; /* Tri-state value to expose MDI-X */
};
static inline void ethtool_cmd_speed_set(struct ethtool_cmd *ep,
@@ -416,6 +417,11 @@ struct ethtool_rxnfc {
#define AUTONEG_DISABLE 0x00
#define AUTONEG_ENABLE 0x01
+/* Mode MDI or MDI-X */
+#define MDI_INVALID 0x00
+#define MDI 0x01
+#define MDI_X 0x02
+
/* Wake-On-Lan options. */
#define WAKE_PHY (1 << 0)
#define WAKE_UCAST (1 << 1)
diff --git a/ethtool.c b/ethtool.c
index 0110682..bf12168 100644
--- a/ethtool.c
+++ b/ethtool.c
@@ -964,6 +964,19 @@ static int dump_ecmd(struct ethtool_cmd *ep)
fprintf(stdout, " Auto-negotiation: %s\n",
(ep->autoneg == AUTONEG_DISABLE) ?
"off" : "on");
+
+ switch (ep->is_mdix) {
+ case MDI:
+ fprintf(stdout, " MDI-X: off\n");
+ break;
+ case MDI_X:
+ fprintf(stdout, " MDI-X: on\n");
+ break;
+ default:
+ fprintf(stdout, " MDI-X: Unknown\n");
+ break;
+ }
+
return 0;
}
--
1.6.0.4
^ permalink raw reply related [flat|nested] 22+ messages in thread
* [net-next-2.6 PATCH 1/1] e1000e: Expose MDI-X status via ethtool change
2009-05-22 15:05 ` Ben Hutchings
2009-05-22 15:24 ` Chaitanya Lala
2009-05-22 17:18 ` [PATCH 1/1] ethtool: Expose MDI-X status Chaitanya Lala
@ 2009-05-22 17:20 ` Chaitanya Lala
2 siblings, 0 replies; 22+ messages in thread
From: Chaitanya Lala @ 2009-05-22 17:20 UTC (permalink / raw)
To: jeffrey.t.kirsher; +Cc: netdev
Ethtool is a standard way of getting information about ethernet
interfaces. We enhance ethtool kernel interface & e1000e to make
the MDI-X status readable via ethtool in userspace.
Signed-off-by: Chaitanya Lala <clala@riverbed.com>
Signed-off-by: Arthur Jones <ajones@riverbed.com>
---
drivers/net/e1000e/ethtool.c | 8 ++++++++
include/linux/ethtool.h | 6 ++++++
2 files changed, 14 insertions(+), 0 deletions(-)
diff --git a/drivers/net/e1000e/ethtool.c b/drivers/net/e1000e/ethtool.c
index 4d25ede..8bbade1 100644
--- a/drivers/net/e1000e/ethtool.c
+++ b/drivers/net/e1000e/ethtool.c
@@ -167,6 +167,14 @@ static int e1000_get_settings(struct net_device *netdev,
ecmd->autoneg = ((hw->phy.media_type == e1000_media_type_fiber) ||
hw->mac.autoneg) ? AUTONEG_ENABLE : AUTONEG_DISABLE;
+
+ /* MDI-X => 2; MDI =>1; Invalid =>0 */
+ if ((hw->phy.media_type == e1000_media_type_copper) &&
+ !hw->mac.get_link_status)
+ ecmd->is_mdix = hw->phy.is_mdix ? MDI_X : MDI;
+ else
+ ecmd->is_mdix = MDI_INVALID;
+
return 0;
}
diff --git a/include/linux/ethtool.h b/include/linux/ethtool.h
index 380b042..5211f59 100644
--- a/include/linux/ethtool.h
+++ b/include/linux/ethtool.h
@@ -33,6 +33,7 @@ struct ethtool_cmd {
__u16 reserved2;
__u32 lp_advertising; /* Features the link partner advertises */
__u32 reserved[2];
+ __u8 is_mdix; /* MDI-X status tri-state value */
};
static inline void ethtool_cmd_speed_set(struct ethtool_cmd *ep,
@@ -632,6 +633,11 @@ struct ethtool_ops {
#define AUTONEG_DISABLE 0x00
#define AUTONEG_ENABLE 0x01
+/* Mode MDI or MDI-X */
+#define MDI_INVALID 0x00
+#define MDI 0x01
+#define MDI_X 0x02
+
/* Wake-On-Lan options. */
#define WAKE_PHY (1 << 0)
#define WAKE_UCAST (1 << 1)
--
1.6.0.4
^ permalink raw reply related [flat|nested] 22+ messages in thread
* Re: [PATCH 1/1] ethtool: Expose MDI-X status
2009-05-22 17:18 ` [PATCH 1/1] ethtool: Expose MDI-X status Chaitanya Lala
@ 2009-05-23 1:04 ` Ben Hutchings
2009-05-26 15:34 ` Chaitanya Lala
0 siblings, 1 reply; 22+ messages in thread
From: Ben Hutchings @ 2009-05-23 1:04 UTC (permalink / raw)
To: Chaitanya Lala; +Cc: jgarzik, netdev
On Fri, 2009-05-22 at 10:18 -0700, Chaitanya Lala wrote:
> The MDI-X status is a useful tool for diagnosing network
> connectivity issues. We expose MDI-X status as a tri-state value
> status which drivers can optionally implement.
>
> Signed-off-by: Chaitanya Lala <clala@riverbed.com>
> Signed-off-by: Arthur Jones <ajones@riverbed.com>
> ---
> ethtool-copy.h | 6 ++++++
> ethtool.c | 13 +++++++++++++
> 2 files changed, 19 insertions(+), 0 deletions(-)
>
> diff --git a/ethtool-copy.h b/ethtool-copy.h
> index 3ca4e2c..d3e1524 100644
> --- a/ethtool-copy.h
> +++ b/ethtool-copy.h
> @@ -28,6 +28,7 @@ struct ethtool_cmd {
> __u16 speed_hi;
> __u16 reserved2;
> __u32 reserved[3];
> + __u8 is_mdix; /* Tri-state value to expose MDI-X */
> };
[...]
No, you cannot change the size of this structure either.
Ben.
--
Ben Hutchings, Senior Software Engineer, Solarflare Communications
Not speaking for my employer; that's the marketing department's job.
They asked us to note that Solarflare product names are trademarked.
^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: [PATCH 1/1] ethtool: Expose MDI-X status
2009-05-23 1:04 ` Ben Hutchings
@ 2009-05-26 15:34 ` Chaitanya Lala
2009-05-26 16:02 ` Ben Hutchings
0 siblings, 1 reply; 22+ messages in thread
From: Chaitanya Lala @ 2009-05-26 15:34 UTC (permalink / raw)
To: Ben Hutchings; +Cc: jgarzik@pobox.com, netdev@vger.kernel.org
Ben Hutchings wrote:
> On Fri, 2009-05-22 at 10:18 -0700, Chaitanya Lala wrote:
>
>> The MDI-X status is a useful tool for diagnosing network
>> connectivity issues. We expose MDI-X status as a tri-state value
>> status which drivers can optionally implement.
>>
>> Signed-off-by: Chaitanya Lala <clala@riverbed.com>
>> Signed-off-by: Arthur Jones <ajones@riverbed.com>
>> ---
>> ethtool-copy.h | 6 ++++++
>> ethtool.c | 13 +++++++++++++
>> 2 files changed, 19 insertions(+), 0 deletions(-)
>>
>> diff --git a/ethtool-copy.h b/ethtool-copy.h
>> index 3ca4e2c..d3e1524 100644
>> --- a/ethtool-copy.h
>> +++ b/ethtool-copy.h
>> @@ -28,6 +28,7 @@ struct ethtool_cmd {
>> __u16 speed_hi;
>> __u16 reserved2;
>> __u32 reserved[3];
>> + __u8 is_mdix; /* Tri-state value to expose MDI-X */
>> };
>>
> [...]
>
> No, you cannot change the size of this structure either.
>
Hi,
In that case please suggest a way to do this.
Thanks,
Chaitanya
> Ben.
>
>
^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: [PATCH 1/1] ethtool: Expose MDI-X status
2009-05-26 15:34 ` Chaitanya Lala
@ 2009-05-26 16:02 ` Ben Hutchings
2009-05-27 23:13 ` Chaitanya Lala
` (2 more replies)
0 siblings, 3 replies; 22+ messages in thread
From: Ben Hutchings @ 2009-05-26 16:02 UTC (permalink / raw)
To: Chaitanya Lala; +Cc: jgarzik@pobox.com, netdev@vger.kernel.org
On Tue, 2009-05-26 at 08:34 -0700, Chaitanya Lala wrote:
> Ben Hutchings wrote:
> > On Fri, 2009-05-22 at 10:18 -0700, Chaitanya Lala wrote:
> >
> >> The MDI-X status is a useful tool for diagnosing network
> >> connectivity issues. We expose MDI-X status as a tri-state value
> >> status which drivers can optionally implement.
> >>
> >> Signed-off-by: Chaitanya Lala <clala@riverbed.com>
> >> Signed-off-by: Arthur Jones <ajones@riverbed.com>
> >> ---
> >> ethtool-copy.h | 6 ++++++
> >> ethtool.c | 13 +++++++++++++
> >> 2 files changed, 19 insertions(+), 0 deletions(-)
> >>
> >> diff --git a/ethtool-copy.h b/ethtool-copy.h
> >> index 3ca4e2c..d3e1524 100644
> >> --- a/ethtool-copy.h
> >> +++ b/ethtool-copy.h
> >> @@ -28,6 +28,7 @@ struct ethtool_cmd {
> >> __u16 speed_hi;
> >> __u16 reserved2;
> >> __u32 reserved[3];
> >> + __u8 is_mdix; /* Tri-state value to expose MDI-X */
> >> };
> >>
> > [...]
> >
> > No, you cannot change the size of this structure either.
> >
> Hi,
>
> In that case please suggest a way to do this.
There are 14 bytes at the end of the structure reserved for future
expansion. You could take one of them.
Ben.
--
Ben Hutchings, Senior Software Engineer, Solarflare Communications
Not speaking for my employer; that's the marketing department's job.
They asked us to note that Solarflare product names are trademarked.
^ permalink raw reply [flat|nested] 22+ messages in thread
* [PATCH 1/1] ethtool: Expose MDI-X status
2009-05-26 16:02 ` Ben Hutchings
@ 2009-05-27 23:13 ` Chaitanya Lala
2009-05-27 23:15 ` [PATCH net-next-2.6 1/1] e1000e: Expose MDI-X status via ethtool change Chaitanya Lala
2009-06-10 19:11 ` Re-submit [PATCH 1/1] ethtool: Expose MDI-X status Chaitanya Lala
2 siblings, 0 replies; 22+ messages in thread
From: Chaitanya Lala @ 2009-05-27 23:13 UTC (permalink / raw)
To: jgarzik; +Cc: netdev
The MDI-X status is a useful tool for diagnosing network
connectivity issues. We expose MDI-X status as a tri-state value
status which drivers can optionally implement.
Signed-off-by: Chaitanya Lala <clala@riverbed.com>
Signed-off-by: Arthur Jones <ajones@riverbed.com>
---
ethtool-copy.h | 8 +++++++-
ethtool.c | 13 +++++++++++++
2 files changed, 20 insertions(+), 1 deletions(-)
diff --git a/ethtool-copy.h b/ethtool-copy.h
index 3ca4e2c..48fb1d3 100644
--- a/ethtool-copy.h
+++ b/ethtool-copy.h
@@ -26,7 +26,8 @@ struct ethtool_cmd {
__u32 maxtxpkt; /* Tx pkts before generating tx int */
__u32 maxrxpkt; /* Rx pkts before generating rx int */
__u16 speed_hi;
- __u16 reserved2;
+ __u8 is_mdix;
+ __u8 reserved2;
__u32 reserved[3];
};
@@ -416,6 +417,11 @@ struct ethtool_rxnfc {
#define AUTONEG_DISABLE 0x00
#define AUTONEG_ENABLE 0x01
+/* Mode MDI or MDI-X */
+#define MDI_INVALID 0x00
+#define MDI 0x01
+#define MDI_X 0x02
+
/* Wake-On-Lan options. */
#define WAKE_PHY (1 << 0)
#define WAKE_UCAST (1 << 1)
diff --git a/ethtool.c b/ethtool.c
index 0110682..bf12168 100644
--- a/ethtool.c
+++ b/ethtool.c
@@ -964,6 +964,19 @@ static int dump_ecmd(struct ethtool_cmd *ep)
fprintf(stdout, " Auto-negotiation: %s\n",
(ep->autoneg == AUTONEG_DISABLE) ?
"off" : "on");
+
+ switch (ep->is_mdix) {
+ case MDI:
+ fprintf(stdout, " MDI-X: off\n");
+ break;
+ case MDI_X:
+ fprintf(stdout, " MDI-X: on\n");
+ break;
+ default:
+ fprintf(stdout, " MDI-X: Unknown\n");
+ break;
+ }
+
return 0;
}
--
1.6.0.4
^ permalink raw reply related [flat|nested] 22+ messages in thread
* [PATCH net-next-2.6 1/1] e1000e: Expose MDI-X status via ethtool change
2009-05-26 16:02 ` Ben Hutchings
2009-05-27 23:13 ` Chaitanya Lala
@ 2009-05-27 23:15 ` Chaitanya Lala
2009-06-02 23:02 ` Jeff Kirsher
2009-06-03 17:34 ` Ben Hutchings
2009-06-10 19:11 ` Re-submit [PATCH 1/1] ethtool: Expose MDI-X status Chaitanya Lala
2 siblings, 2 replies; 22+ messages in thread
From: Chaitanya Lala @ 2009-05-27 23:15 UTC (permalink / raw)
To: jeffrey.t.kirsher; +Cc: netdev
Ethtool is a standard way of getting information about ethernet
interfaces. We enhance ethtool kernel interface & e1000e to make
the MDI-X status readable via ethtool in userspace.
Signed-off-by: Chaitanya Lala <clala@riverbed.com>
Signed-off-by: Arthur Jones <ajones@riverbed.com>
---
drivers/net/e1000e/ethtool.c | 8 ++++++++
include/linux/ethtool.h | 8 +++++++-
2 files changed, 15 insertions(+), 1 deletions(-)
diff --git a/drivers/net/e1000e/ethtool.c b/drivers/net/e1000e/ethtool.c
index 4d25ede..b6aea6b 100644
--- a/drivers/net/e1000e/ethtool.c
+++ b/drivers/net/e1000e/ethtool.c
@@ -167,6 +167,14 @@ static int e1000_get_settings(struct net_device *netdev,
ecmd->autoneg = ((hw->phy.media_type == e1000_media_type_fiber) ||
hw->mac.autoneg) ? AUTONEG_ENABLE : AUTONEG_DISABLE;
+
+ /* MDI-X => 2; MDI =>1; Invalid =>0 */
+ if ((hw->phy.media_type == e1000_media_type_copper) &&
+ !hw->mac.get_link_status)
+ ecmd->is_mdix = hw->phy.is_mdix ? MDI_X : MDI;
+ else
+ ecmd->is_mdix = MDI_INVALID;
+
return 0;
}
diff --git a/include/linux/ethtool.h b/include/linux/ethtool.h
index 380b042..b553bdb 100644
--- a/include/linux/ethtool.h
+++ b/include/linux/ethtool.h
@@ -30,7 +30,8 @@ struct ethtool_cmd {
__u32 maxtxpkt; /* Tx pkts before generating tx int */
__u32 maxrxpkt; /* Rx pkts before generating rx int */
__u16 speed_hi;
- __u16 reserved2;
+ __u8 is_mdix;
+ __u8 reserved2;
__u32 lp_advertising; /* Features the link partner advertises */
__u32 reserved[2];
};
@@ -632,6 +633,11 @@ struct ethtool_ops {
#define AUTONEG_DISABLE 0x00
#define AUTONEG_ENABLE 0x01
+/* Mode MDI or MDI-X */
+#define MDI_INVALID 0x00
+#define MDI 0x01
+#define MDI_X 0x02
+
/* Wake-On-Lan options. */
#define WAKE_PHY (1 << 0)
#define WAKE_UCAST (1 << 1)
--
1.6.0.4
^ permalink raw reply related [flat|nested] 22+ messages in thread
* Re: [PATCH net-next-2.6 1/1] e1000e: Expose MDI-X status via ethtool change
2009-05-27 23:15 ` [PATCH net-next-2.6 1/1] e1000e: Expose MDI-X status via ethtool change Chaitanya Lala
@ 2009-06-02 23:02 ` Jeff Kirsher
2009-06-03 17:34 ` Ben Hutchings
1 sibling, 0 replies; 22+ messages in thread
From: Jeff Kirsher @ 2009-06-02 23:02 UTC (permalink / raw)
To: Chaitanya Lala; +Cc: netdev
On Wed, May 27, 2009 at 4:15 PM, Chaitanya Lala <clala@riverbed.com> wrote:
> Ethtool is a standard way of getting information about ethernet
> interfaces. We enhance ethtool kernel interface & e1000e to make
> the MDI-X status readable via ethtool in userspace.
>
> Signed-off-by: Chaitanya Lala <clala@riverbed.com>
> Signed-off-by: Arthur Jones <ajones@riverbed.com>
> ---
> drivers/net/e1000e/ethtool.c | 8 ++++++++
> include/linux/ethtool.h | 8 +++++++-
> 2 files changed, 15 insertions(+), 1 deletions(-)
>
> diff --git a/drivers/net/e1000e/ethtool.c b/drivers/net/e1000e/ethtool.c
> index 4d25ede..b6aea6b 100644
> --- a/drivers/net/e1000e/ethtool.c
> +++ b/drivers/net/e1000e/ethtool.c
> @@ -167,6 +167,14 @@ static int e1000_get_settings(struct net_device *netdev,
>
> ecmd->autoneg = ((hw->phy.media_type == e1000_media_type_fiber) ||
> hw->mac.autoneg) ? AUTONEG_ENABLE : AUTONEG_DISABLE;
> +
> + /* MDI-X => 2; MDI =>1; Invalid =>0 */
> + if ((hw->phy.media_type == e1000_media_type_copper) &&
> + !hw->mac.get_link_status)
> + ecmd->is_mdix = hw->phy.is_mdix ? MDI_X : MDI;
> + else
> + ecmd->is_mdix = MDI_INVALID;
> +
> return 0;
> }
>
> diff --git a/include/linux/ethtool.h b/include/linux/ethtool.h
> index 380b042..b553bdb 100644
> --- a/include/linux/ethtool.h
> +++ b/include/linux/ethtool.h
> @@ -30,7 +30,8 @@ struct ethtool_cmd {
> __u32 maxtxpkt; /* Tx pkts before generating tx int */
> __u32 maxrxpkt; /* Rx pkts before generating rx int */
> __u16 speed_hi;
> - __u16 reserved2;
> + __u8 is_mdix;
> + __u8 reserved2;
> __u32 lp_advertising; /* Features the link partner advertises */
> __u32 reserved[2];
> };
> @@ -632,6 +633,11 @@ struct ethtool_ops {
> #define AUTONEG_DISABLE 0x00
> #define AUTONEG_ENABLE 0x01
>
> +/* Mode MDI or MDI-X */
> +#define MDI_INVALID 0x00
> +#define MDI 0x01
> +#define MDI_X 0x02
> +
> /* Wake-On-Lan options. */
> #define WAKE_PHY (1 << 0)
> #define WAKE_UCAST (1 << 1)
> --
> 1.6.0.4
>
I have pulled this into my queue for testing and submission, thanks.
--
Cheers,
Jeff
^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: [PATCH net-next-2.6 1/1] e1000e: Expose MDI-X status via ethtool change
2009-05-27 23:15 ` [PATCH net-next-2.6 1/1] e1000e: Expose MDI-X status via ethtool change Chaitanya Lala
2009-06-02 23:02 ` Jeff Kirsher
@ 2009-06-03 17:34 ` Ben Hutchings
2009-06-03 17:45 ` Chaitanya Lala
1 sibling, 1 reply; 22+ messages in thread
From: Ben Hutchings @ 2009-06-03 17:34 UTC (permalink / raw)
To: Chaitanya Lala; +Cc: jeffrey.t.kirsher, netdev
On Wed, 2009-05-27 at 16:15 -0700, Chaitanya Lala wrote:
[...]
> diff --git a/include/linux/ethtool.h b/include/linux/ethtool.h
> index 380b042..b553bdb 100644
> --- a/include/linux/ethtool.h
> +++ b/include/linux/ethtool.h
> @@ -30,7 +30,8 @@ struct ethtool_cmd {
> __u32 maxtxpkt; /* Tx pkts before generating tx int */
> __u32 maxrxpkt; /* Rx pkts before generating rx int */
> __u16 speed_hi;
> - __u16 reserved2;
> + __u8 is_mdix;
Since this is specific to Ethernet over twisted-pair cable, could you
please rename this to "eth_tp_mdix".
> + __u8 reserved2;
> __u32 lp_advertising; /* Features the link partner advertises */
> __u32 reserved[2];
> };
> @@ -632,6 +633,11 @@ struct ethtool_ops {
> #define AUTONEG_DISABLE 0x00
> #define AUTONEG_ENABLE 0x01
>
> +/* Mode MDI or MDI-X */
> +#define MDI_INVALID 0x00
> +#define MDI 0x01
> +#define MDI_X 0x02
[...]
Similarly, please add the prefix "ETH_TP_" to these.
Ben.
--
Ben Hutchings, Senior Software Engineer, Solarflare Communications
Not speaking for my employer; that's the marketing department's job.
They asked us to note that Solarflare product names are trademarked.
^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: [PATCH net-next-2.6 1/1] e1000e: Expose MDI-X status via ethtool change
2009-06-03 17:34 ` Ben Hutchings
@ 2009-06-03 17:45 ` Chaitanya Lala
2009-06-03 21:04 ` Jeff Kirsher
0 siblings, 1 reply; 22+ messages in thread
From: Chaitanya Lala @ 2009-06-03 17:45 UTC (permalink / raw)
To: Ben Hutchings; +Cc: jeffrey.t.kirsher@intel.com, netdev@vger.kernel.org
Ben Hutchings wrote:
> On Wed, 2009-05-27 at 16:15 -0700, Chaitanya Lala wrote:
> [...]
>
>> diff --git a/include/linux/ethtool.h b/include/linux/ethtool.h
>> index 380b042..b553bdb 100644
>> --- a/include/linux/ethtool.h
>> +++ b/include/linux/ethtool.h
>> @@ -30,7 +30,8 @@ struct ethtool_cmd {
>> __u32 maxtxpkt; /* Tx pkts before generating tx int */
>> __u32 maxrxpkt; /* Rx pkts before generating rx int */
>> __u16 speed_hi;
>> - __u16 reserved2;
>> + __u8 is_mdix;
>>
>
> Since this is specific to Ethernet over twisted-pair cable, could you
> please rename this to "eth_tp_mdix".
>
Will do for sure.
>
>> + __u8 reserved2;
>> __u32 lp_advertising; /* Features the link partner advertises */
>> __u32 reserved[2];
>> };
>> @@ -632,6 +633,11 @@ struct ethtool_ops {
>> #define AUTONEG_DISABLE 0x00
>> #define AUTONEG_ENABLE 0x01
>>
>> +/* Mode MDI or MDI-X */
>> +#define MDI_INVALID 0x00
>> +#define MDI 0x01
>> +#define MDI_X 0x02
>>
> [...]
>
> Similarly, please add the prefix "ETH_TP_" to these.
>
Sure.
> Ben.
>
>
^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: [PATCH net-next-2.6 1/1] e1000e: Expose MDI-X status via ethtool change
2009-06-03 17:45 ` Chaitanya Lala
@ 2009-06-03 21:04 ` Jeff Kirsher
2009-06-03 21:19 ` Chaitanya Lala
0 siblings, 1 reply; 22+ messages in thread
From: Jeff Kirsher @ 2009-06-03 21:04 UTC (permalink / raw)
To: Chaitanya Lala; +Cc: Ben Hutchings, netdev@vger.kernel.org
On Wed, Jun 3, 2009 at 10:45 AM, Chaitanya Lala <clala@riverbed.com> wrote:
> Ben Hutchings wrote:
>>
>> On Wed, 2009-05-27 at 16:15 -0700, Chaitanya Lala wrote:
>> [...]
>>
>>>
>>> diff --git a/include/linux/ethtool.h b/include/linux/ethtool.h
>>> index 380b042..b553bdb 100644
>>> --- a/include/linux/ethtool.h
>>> +++ b/include/linux/ethtool.h
>>> @@ -30,7 +30,8 @@ struct ethtool_cmd {
>>> __u32 maxtxpkt; /* Tx pkts before generating tx int */
>>> __u32 maxrxpkt; /* Rx pkts before generating rx int */
>>> __u16 speed_hi;
>>> - __u16 reserved2;
>>> + __u8 is_mdix;
>>>
>>
>> Since this is specific to Ethernet over twisted-pair cable, could you
>> please rename this to "eth_tp_mdix".
>>
>
> Will do for sure.
>>
>>
>>>
>>> + __u8 reserved2;
>>> __u32 lp_advertising; /* Features the link partner advertises */
>>> __u32 reserved[2];
>>> };
>>> @@ -632,6 +633,11 @@ struct ethtool_ops {
>>> #define AUTONEG_DISABLE 0x00
>>> #define AUTONEG_ENABLE 0x01
>>> +/* Mode MDI or MDI-X */
>>> +#define MDI_INVALID 0x00
>>> +#define MDI 0x01
>>> +#define MDI_X 0x02
>>>
>>
>> [...]
>>
>> Similarly, please add the prefix "ETH_TP_" to these.
>>
>
> Sure.
Chaitanya, I have made the requested changes to the patch in my tree.
--
Cheers,
Jeff
^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: [PATCH net-next-2.6 1/1] e1000e: Expose MDI-X status via ethtool change
2009-06-03 21:04 ` Jeff Kirsher
@ 2009-06-03 21:19 ` Chaitanya Lala
2009-06-03 21:31 ` Jeff Kirsher
0 siblings, 1 reply; 22+ messages in thread
From: Chaitanya Lala @ 2009-06-03 21:19 UTC (permalink / raw)
To: Jeff Kirsher; +Cc: Ben Hutchings, netdev@vger.kernel.org
Jeff Kirsher wrote:
> On Wed, Jun 3, 2009 at 10:45 AM, Chaitanya Lala <clala@riverbed.com> wrote:
>
>> Ben Hutchings wrote:
>>
>>> On Wed, 2009-05-27 at 16:15 -0700, Chaitanya Lala wrote:
>>> [...]
>>>
>>>
>>>> diff --git a/include/linux/ethtool.h b/include/linux/ethtool.h
>>>> index 380b042..b553bdb 100644
>>>> --- a/include/linux/ethtool.h
>>>> +++ b/include/linux/ethtool.h
>>>> @@ -30,7 +30,8 @@ struct ethtool_cmd {
>>>> __u32 maxtxpkt; /* Tx pkts before generating tx int */
>>>> __u32 maxrxpkt; /* Rx pkts before generating rx int */
>>>> __u16 speed_hi;
>>>> - __u16 reserved2;
>>>> + __u8 is_mdix;
>>>>
>>>>
>>> Since this is specific to Ethernet over twisted-pair cable, could you
>>> please rename this to "eth_tp_mdix".
>>>
>>>
>> Will do for sure.
>>
>>>
>>>> + __u8 reserved2;
>>>> __u32 lp_advertising; /* Features the link partner advertises */
>>>> __u32 reserved[2];
>>>> };
>>>> @@ -632,6 +633,11 @@ struct ethtool_ops {
>>>> #define AUTONEG_DISABLE 0x00
>>>> #define AUTONEG_ENABLE 0x01
>>>> +/* Mode MDI or MDI-X */
>>>> +#define MDI_INVALID 0x00
>>>> +#define MDI 0x01
>>>> +#define MDI_X 0x02
>>>>
>>>>
>>> [...]
>>>
>>> Similarly, please add the prefix "ETH_TP_" to these.
>>>
>>>
>> Sure.
>>
>
> Chaitanya, I have made the requested changes to the patch in my tree.
>
>
Thanks. I am very new to procedure of submitting kernel patches. Just
want to make sure if this means that I not need to send another patch to
netdev ?
Thanks,
Chaitanya
^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: [PATCH net-next-2.6 1/1] e1000e: Expose MDI-X status via ethtool change
2009-06-03 21:19 ` Chaitanya Lala
@ 2009-06-03 21:31 ` Jeff Kirsher
2009-06-03 21:41 ` Chaitanya Lala
0 siblings, 1 reply; 22+ messages in thread
From: Jeff Kirsher @ 2009-06-03 21:31 UTC (permalink / raw)
To: Chaitanya Lala; +Cc: Ben Hutchings, netdev@vger.kernel.org
On Wed, Jun 3, 2009 at 2:19 PM, Chaitanya Lala <clala@riverbed.com> wrote:
> Jeff Kirsher wrote:
>>
>> On Wed, Jun 3, 2009 at 10:45 AM, Chaitanya Lala <clala@riverbed.com>
>> wrote:
>>
>>>
>>> Ben Hutchings wrote:
>>>
>>>>
>>>> On Wed, 2009-05-27 at 16:15 -0700, Chaitanya Lala wrote:
>>>> [...]
>>>>
>>>>
>>>>>
>>>>> diff --git a/include/linux/ethtool.h b/include/linux/ethtool.h
>>>>> index 380b042..b553bdb 100644
>>>>> --- a/include/linux/ethtool.h
>>>>> +++ b/include/linux/ethtool.h
>>>>> @@ -30,7 +30,8 @@ struct ethtool_cmd {
>>>>> __u32 maxtxpkt; /* Tx pkts before generating tx int */
>>>>> __u32 maxrxpkt; /* Rx pkts before generating rx int */
>>>>> __u16 speed_hi;
>>>>> - __u16 reserved2;
>>>>> + __u8 is_mdix;
>>>>>
>>>>>
>>>>
>>>> Since this is specific to Ethernet over twisted-pair cable, could you
>>>> please rename this to "eth_tp_mdix".
>>>>
>>>>
>>>
>>> Will do for sure.
>>>
>>>>
>>>>
>>>>>
>>>>> + __u8 reserved2;
>>>>> __u32 lp_advertising; /* Features the link partner advertises
>>>>> */
>>>>> __u32 reserved[2];
>>>>> };
>>>>> @@ -632,6 +633,11 @@ struct ethtool_ops {
>>>>> #define AUTONEG_DISABLE 0x00
>>>>> #define AUTONEG_ENABLE 0x01
>>>>> +/* Mode MDI or MDI-X */
>>>>> +#define MDI_INVALID 0x00
>>>>> +#define MDI 0x01
>>>>> +#define MDI_X 0x02
>>>>>
>>>>>
>>>>
>>>> [...]
>>>>
>>>> Similarly, please add the prefix "ETH_TP_" to these.
>>>>
>>>>
>>>
>>> Sure.
>>>
>>
>> Chaitanya, I have made the requested changes to the patch in my tree.
>>
>>
>
> Thanks. I am very new to procedure of submitting kernel patches. Just want
> to make sure if this means that I not need to send another patch to netdev ?
>
> Thanks,
> Chaitanya
> --
When there are changes requested on a patch, yes the patch needs to be
re-submitted to netdev. Since I will be pushing this patch along with
other patches for Intel drivers to Dave once testing has been
completed, there is no need for you to re-submit this patch. I have
already sucked in the changes that Ben has requested into the patch
that is in my tree.
--
Cheers,
Jeff
^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: [PATCH net-next-2.6 1/1] e1000e: Expose MDI-X status via ethtool change
2009-06-03 21:31 ` Jeff Kirsher
@ 2009-06-03 21:41 ` Chaitanya Lala
0 siblings, 0 replies; 22+ messages in thread
From: Chaitanya Lala @ 2009-06-03 21:41 UTC (permalink / raw)
To: Jeff Kirsher; +Cc: Ben Hutchings, netdev@vger.kernel.org
Jeff Kirsher wrote:
> On Wed, Jun 3, 2009 at 2:19 PM, Chaitanya Lala <clala@riverbed.com> wrote:
>
>> Jeff Kirsher wrote:
>>
>>> On Wed, Jun 3, 2009 at 10:45 AM, Chaitanya Lala <clala@riverbed.com>
>>> wrote:
>>>
>>>
>>>> Ben Hutchings wrote:
>>>>
>>>>
>>>>> On Wed, 2009-05-27 at 16:15 -0700, Chaitanya Lala wrote:
>>>>> [...]
>>>>>
>>>>>
>>>>>
>>>>>> diff --git a/include/linux/ethtool.h b/include/linux/ethtool.h
>>>>>> index 380b042..b553bdb 100644
>>>>>> --- a/include/linux/ethtool.h
>>>>>> +++ b/include/linux/ethtool.h
>>>>>> @@ -30,7 +30,8 @@ struct ethtool_cmd {
>>>>>> __u32 maxtxpkt; /* Tx pkts before generating tx int */
>>>>>> __u32 maxrxpkt; /* Rx pkts before generating rx int */
>>>>>> __u16 speed_hi;
>>>>>> - __u16 reserved2;
>>>>>> + __u8 is_mdix;
>>>>>>
>>>>>>
>>>>>>
>>>>> Since this is specific to Ethernet over twisted-pair cable, could you
>>>>> please rename this to "eth_tp_mdix".
>>>>>
>>>>>
>>>>>
>>>> Will do for sure.
>>>>
>>>>
>>>>>
>>>>>> + __u8 reserved2;
>>>>>> __u32 lp_advertising; /* Features the link partner advertises
>>>>>> */
>>>>>> __u32 reserved[2];
>>>>>> };
>>>>>> @@ -632,6 +633,11 @@ struct ethtool_ops {
>>>>>> #define AUTONEG_DISABLE 0x00
>>>>>> #define AUTONEG_ENABLE 0x01
>>>>>> +/* Mode MDI or MDI-X */
>>>>>> +#define MDI_INVALID 0x00
>>>>>> +#define MDI 0x01
>>>>>> +#define MDI_X 0x02
>>>>>>
>>>>>>
>>>>>>
>>>>> [...]
>>>>>
>>>>> Similarly, please add the prefix "ETH_TP_" to these.
>>>>>
>>>>>
>>>>>
>>>> Sure.
>>>>
>>>>
>>> Chaitanya, I have made the requested changes to the patch in my tree.
>>>
>>>
>>>
>> Thanks. I am very new to procedure of submitting kernel patches. Just want
>> to make sure if this means that I not need to send another patch to netdev ?
>>
>> Thanks,
>> Chaitanya
>> --
>>
>
> When there are changes requested on a patch, yes the patch needs to be
> re-submitted to netdev. Since I will be pushing this patch along with
> other patches for Intel drivers to Dave once testing has been
> completed, there is no need for you to re-submit this patch. I have
> already sucked in the changes that Ben has requested into the patch
> that is in my tree.
>
>
Thanks for the clarification.
Chaitanya
^ permalink raw reply [flat|nested] 22+ messages in thread
* Re-submit [PATCH 1/1] ethtool: Expose MDI-X status
2009-05-26 16:02 ` Ben Hutchings
2009-05-27 23:13 ` Chaitanya Lala
2009-05-27 23:15 ` [PATCH net-next-2.6 1/1] e1000e: Expose MDI-X status via ethtool change Chaitanya Lala
@ 2009-06-10 19:11 ` Chaitanya Lala
2009-06-10 19:22 ` Ben Hutchings
2 siblings, 1 reply; 22+ messages in thread
From: Chaitanya Lala @ 2009-06-10 19:11 UTC (permalink / raw)
To: jgarzik; +Cc: jeff, netdev
The MDI-X status is a useful tool for diagnosing network
connectivity issues. We expose MDI-X status as a tri-state value
status which drivers can optionally implement.
Signed-off-by: Chaitanya Lala <clala@riverbed.com>
Signed-off-by: Arthur Jones <ajones@riverbed.com>
---
ethtool-copy.h | 8 +++++++-
ethtool.c | 13 +++++++++++++
2 files changed, 20 insertions(+), 1 deletions(-)
diff --git a/ethtool-copy.h b/ethtool-copy.h
index 3ca4e2c..48fb1d3 100644
--- a/ethtool-copy.h
+++ b/ethtool-copy.h
@@ -26,7 +26,8 @@ struct ethtool_cmd {
__u32 maxtxpkt; /* Tx pkts before generating tx int */
__u32 maxrxpkt; /* Rx pkts before generating rx int */
__u16 speed_hi;
- __u16 reserved2;
+ __u8 is_mdix;
+ __u8 reserved2;
__u32 reserved[3];
};
@@ -416,6 +417,11 @@ struct ethtool_rxnfc {
#define AUTONEG_DISABLE 0x00
#define AUTONEG_ENABLE 0x01
+/* Mode MDI or MDI-X */
+#define MDI_INVALID 0x00
+#define MDI 0x01
+#define MDI_X 0x02
+
/* Wake-On-Lan options. */
#define WAKE_PHY (1 << 0)
#define WAKE_UCAST (1 << 1)
diff --git a/ethtool.c b/ethtool.c
index 0110682..bf12168 100644
--- a/ethtool.c
+++ b/ethtool.c
@@ -964,6 +964,19 @@ static int dump_ecmd(struct ethtool_cmd *ep)
fprintf(stdout, " Auto-negotiation: %s\n",
(ep->autoneg == AUTONEG_DISABLE) ?
"off" : "on");
+
+ switch (ep->is_mdix) {
+ case MDI:
+ fprintf(stdout, " MDI-X: off\n");
+ break;
+ case MDI_X:
+ fprintf(stdout, " MDI-X: on\n");
+ break;
+ default:
+ fprintf(stdout, " MDI-X: Unknown\n");
+ break;
+ }
+
return 0;
}
--
1.6.0.4
^ permalink raw reply related [flat|nested] 22+ messages in thread
* Re: Re-submit [PATCH 1/1] ethtool: Expose MDI-X status
2009-06-10 19:11 ` Re-submit [PATCH 1/1] ethtool: Expose MDI-X status Chaitanya Lala
@ 2009-06-10 19:22 ` Ben Hutchings
0 siblings, 0 replies; 22+ messages in thread
From: Ben Hutchings @ 2009-06-10 19:22 UTC (permalink / raw)
To: Chaitanya Lala; +Cc: jgarzik, jeff, netdev
[-- Attachment #1: Type: text/plain, Size: 1548 bytes --]
On Wed, 2009-06-10 at 12:11 -0700, Chaitanya Lala wrote:
> The MDI-X status is a useful tool for diagnosing network
> connectivity issues. We expose MDI-X status as a tri-state value
> status which drivers can optionally implement.
>
> Signed-off-by: Chaitanya Lala <clala@riverbed.com>
> Signed-off-by: Arthur Jones <ajones@riverbed.com>
> ---
> ethtool-copy.h | 8 +++++++-
> ethtool.c | 13 +++++++++++++
> 2 files changed, 20 insertions(+), 1 deletions(-)
>
> diff --git a/ethtool-copy.h b/ethtool-copy.h
> index 3ca4e2c..48fb1d3 100644
> --- a/ethtool-copy.h
> +++ b/ethtool-copy.h
> @@ -26,7 +26,8 @@ struct ethtool_cmd {
> __u32 maxtxpkt; /* Tx pkts before generating tx int */
> __u32 maxrxpkt; /* Rx pkts before generating rx int */
> __u16 speed_hi;
> - __u16 reserved2;
> + __u8 is_mdix;
> + __u8 reserved2;
> __u32 reserved[3];
> };
>
> @@ -416,6 +417,11 @@ struct ethtool_rxnfc {
> #define AUTONEG_DISABLE 0x00
> #define AUTONEG_ENABLE 0x01
>
> +/* Mode MDI or MDI-X */
> +#define MDI_INVALID 0x00
> +#define MDI 0x01
> +#define MDI_X 0x02
> +
> /* Wake-On-Lan options. */
> #define WAKE_PHY (1 << 0)
> #define WAKE_UCAST (1 << 1)
[...]
This doesn't match the changes in <linux/ethtool.h>. I'm attaching the
patch I applied locally for testing MDI-X reporting in sfc.
Ben.
--
Ben Hutchings, Senior Software Engineer, Solarflare Communications
Not speaking for my employer; that's the marketing department's job.
They asked us to note that Solarflare product names are trademarked.
[-- Attachment #2: 0001-ethtool-Expose-MDI-X-status.patch --]
[-- Type: application/mbox, Size: 1883 bytes --]
^ permalink raw reply [flat|nested] 22+ messages in thread
end of thread, other threads:[~2009-06-10 19:22 UTC | newest]
Thread overview: 22+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <F169D4F5E1F1974DBFAFABF47F60C10A33527C9D@orsmsx507.amr.corp.intel.com>
2009-05-22 14:54 ` [PATCH 1/1] ethtool: Expose MDI-X status Chaitanya Lala
2009-05-22 15:02 ` Stephen Hemminger
2009-05-22 15:03 ` Ben Hutchings
2009-05-22 14:55 ` [net-next-2.6 PATCH 1/1] e1000e: Expose MDI-X status via ethtool change Chaitanya Lala
2009-05-22 15:05 ` Ben Hutchings
2009-05-22 15:24 ` Chaitanya Lala
2009-05-22 17:18 ` [PATCH 1/1] ethtool: Expose MDI-X status Chaitanya Lala
2009-05-23 1:04 ` Ben Hutchings
2009-05-26 15:34 ` Chaitanya Lala
2009-05-26 16:02 ` Ben Hutchings
2009-05-27 23:13 ` Chaitanya Lala
2009-05-27 23:15 ` [PATCH net-next-2.6 1/1] e1000e: Expose MDI-X status via ethtool change Chaitanya Lala
2009-06-02 23:02 ` Jeff Kirsher
2009-06-03 17:34 ` Ben Hutchings
2009-06-03 17:45 ` Chaitanya Lala
2009-06-03 21:04 ` Jeff Kirsher
2009-06-03 21:19 ` Chaitanya Lala
2009-06-03 21:31 ` Jeff Kirsher
2009-06-03 21:41 ` Chaitanya Lala
2009-06-10 19:11 ` Re-submit [PATCH 1/1] ethtool: Expose MDI-X status Chaitanya Lala
2009-06-10 19:22 ` Ben Hutchings
2009-05-22 17:20 ` [net-next-2.6 PATCH 1/1] e1000e: Expose MDI-X status via ethtool change Chaitanya Lala
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).