diff mbox

[net-next,v3,5/9] Altera TSE: Add Miscellaneous Files for Altera Ethernet Driver

Message ID 1394663197.3915.61.camel@joe-AO722
State RFC, archived
Delegated to: David Miller
Headers show

Commit Message

Joe Perches March 12, 2014, 10:26 p.m. UTC
On Wed, 2014-03-12 at 21:14 +0000, Ben Hutchings wrote:
> These look like the statistic names specified in IEEE 802.3.  I would
> support a general move to using standard names for MAC stats in Ethernet
> drivers, because they are quite clearly defined and widely implemented
> in hardware.  However, that is not the current practice in most Linux
> drivers.

Hey Ben.

Maybe something like this would be a start?

Change the actual #defines/strings to taste.

Maybe this shouldn't be in uapi or maybe in if_ether.h

---
 include/uapi/linux/ethtool.h | 30 ++++++++++++++++++++++++++++++
 1 file changed, 30 insertions(+)



--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Comments

Ben Hutchings March 13, 2014, 12:28 a.m. UTC | #1
On Wed, 2014-03-12 at 15:26 -0700, Joe Perches wrote:
> On Wed, 2014-03-12 at 21:14 +0000, Ben Hutchings wrote:
> > These look like the statistic names specified in IEEE 802.3.  I would
> > support a general move to using standard names for MAC stats in Ethernet
> > drivers, because they are quite clearly defined and widely implemented
> > in hardware.  However, that is not the current practice in most Linux
> > drivers.
> 
> Hey Ben.
> 
> Maybe something like this would be a start?
> 
> Change the actual #defines/strings to taste.
> 
> Maybe this shouldn't be in uapi or maybe in if_ether.h
[...]

This is pointless without also nailing down the definition of each
statistic.  That could be done with reference to standards/RFCs, of
course.

Ben.
Vince Bridgers March 13, 2014, 12:42 a.m. UTC | #2
On Wed, Mar 12, 2014 at 7:28 PM, Ben Hutchings <ben@decadent.org.uk> wrote:
> On Wed, 2014-03-12 at 15:26 -0700, Joe Perches wrote:
>> On Wed, 2014-03-12 at 21:14 +0000, Ben Hutchings wrote:
>> > These look like the statistic names specified in IEEE 802.3.  I would
>> > support a general move to using standard names for MAC stats in Ethernet
>> > drivers, because they are quite clearly defined and widely implemented
>> > in hardware.  However, that is not the current practice in most Linux
>> > drivers.
>>
>> Hey Ben.
>>
>> Maybe something like this would be a start?
>>
>> Change the actual #defines/strings to taste.
>>
>> Maybe this shouldn't be in uapi or maybe in if_ether.h
> [...]
>
> This is pointless without also nailing down the definition of each
> statistic.  That could be done with reference to standards/RFCs, of
> course.

As I was working through the V4 patch and looking at the names used by
other drivers, it occurred to me it would be useful to create a set of
standard definitions that referenced the relevant IEEE Specification
and RFC. I'm willing to take that on for this submission by adding
those to the driver documentation. I think that would be useful to
users and could then be moved to a "standard definitions" text file
that other drivers could reference.

Joe had a few more comments I'd like to address (thanks Joe), I could
pick this up as part of a V5 submission if you agree, or if you have a
different suggestion I could possibly take that on as well.

>
> Ben.
>
> --
> Ben Hutchings
> Experience is directly proportional to the value of equipment destroyed.
>                                                          - Carolyn Scheppner

All the best,

Vince
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Joe Perches March 13, 2014, 3:46 a.m. UTC | #3
On Wed, 2014-03-12 at 19:42 -0500, Vince Bridgers wrote:
> As I was working through the V4 patch and looking at the names used by
> other drivers, it occurred to me it would be useful to create a set of
> standard definitions that referenced the relevant IEEE Specification
> and RFC. I'm willing to take that on for this submission by adding
> those to the driver documentation. I think that would be useful to
> users and could then be moved to a "standard definitions" text file
> that other drivers could reference.

[]

> I could
> pick this up as part of a V5 submission if you agree, or if you have a
> different suggestion I could possibly take that on as well.

I suggest if you want to do it, you do it
separately from this Altera TSE submission.


--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/include/uapi/linux/ethtool.h b/include/uapi/linux/ethtool.h
index fd161e9..24b8b51 100644
--- a/include/uapi/linux/ethtool.h
+++ b/include/uapi/linux/ethtool.h
@@ -498,6 +498,36 @@  struct ethtool_pauseparam {
 
 #define ETH_GSTRING_LEN		32
 
+#define ETH_GSTRING_RX_PKTS		"rx_packets"
+#define ETH_GSTRING_RX_BYTES		"rx_bytes"
+#define ETH_GSTRING_RX_TOTAL_BYTES	"rx_total_bytes"
+#define ETH_GSTRING_RX_TOTAL_PKTS	"rx_total_packets"
+#define ETH_GSTRING_RX_CRC_ERRS		"rx_crc_errors"
+#define ETH_GSTRING_RX_ALIGN_ERRS	"rx_align_errors"
+#define ETH_GSTRING_RX_PAUSE		"rx_pause"
+#define ETH_GSTRING_RX_ERRS		"rx_errors"
+#define ETH_GSTRING_RX_UNICAST		"rx_unicast"
+#define ETH_GSTRING_RX_MULTICAST	"rx_multicast"
+#define ETH_GSTRING_RX_BROADCAST	"rx_broadcast"
+#define ETH_GSTRING_RX_FIFO_DROPS	"rx_fifo_drops"
+#define ETH_GSTRING_RX_UNDERSIZE	"rx_undersize"
+#define ETH_GSTRING_RX_OVERSIZE		"rx_oversize"
+#define ETH_GSTRING_RX_DUPLICATES	"rx_duplicates"
+#define ETH_GSTRING_RX_DROPPED		"rx_dropped"
+#define ETH_GSTRING_RX_FRAGMENTS	"rx_fragments"
+
+#define ETH_GSTRING_TX_PKTS		"tx_packets"
+#define ETH_GSTRING_TX_BYTES		"tx_bytes"
+#define ETH_GSTRING_TX_TOTAL_BYTES	"tx_total_bytes"
+#define ETH_GSTRING_TX_TOTAL_PKTS	"tx_total_packets"
+#define ETH_GSTRING_TX_PAUSE		"tx_pause"
+#define ETH_GSTRING_TX_ERRS		"tx_errors"
+#define ETH_GSTRING_TX_DISCARDS		"tx_discards"
+#define ETH_GSTRING_TX_UNICAST		"tx_unicast"
+#define ETH_GSTRING_TX_MULTICAST	"tx_multicast"
+#define ETH_GSTRING_TX_BROADCAST	"tx_broadcast"
+#define ETH_GSTRING_TX_DROPPED		"tx_dropped"
+
 /**
  * enum ethtool_stringset - string set ID
  * @ETH_SS_TEST: Self-test result names, for use with %ETHTOOL_TEST