Author: jhb
Date: Tue Dec 16 19:45:56 2014
New Revision: 275836
URL: https://svnweb.freebsd.org/changeset/base/275836

Log:
  MFC 272897:
  Various fixes to stats:
  - Read the counts of received, dropped, and transmitted management
    packets and add sysctl nodes for them.
  - Fix the total octets received/transmitted to read all 64 bits of
    the counters.
  - Add missing sysctl nodes for rlec, tncrs, fcruc, tor, and tot.
  - Remove spurious spaces.

Modified:
  stable/9/sys/dev/e1000/if_igb.c
Directory Properties:
  stable/9/sys/   (props changed)
  stable/9/sys/dev/   (props changed)
  stable/9/sys/dev/e1000/   (props changed)

Changes in other areas also in this revision:
Modified:
  stable/10/sys/dev/e1000/if_igb.c
Directory Properties:
  stable/10/   (props changed)

Modified: stable/9/sys/dev/e1000/if_igb.c
==============================================================================
--- stable/9/sys/dev/e1000/if_igb.c     Tue Dec 16 18:57:42 2014        
(r275835)
+++ stable/9/sys/dev/e1000/if_igb.c     Tue Dec 16 19:45:56 2014        
(r275836)
@@ -5410,8 +5410,14 @@ igb_update_stats_counters(struct adapter
        stats->roc += E1000_READ_REG(hw, E1000_ROC);
        stats->rjc += E1000_READ_REG(hw, E1000_RJC);
 
-       stats->tor += E1000_READ_REG(hw, E1000_TORH);
-       stats->tot += E1000_READ_REG(hw, E1000_TOTH);
+       stats->mgprc += E1000_READ_REG(hw, E1000_MGTPRC);
+       stats->mgpdc += E1000_READ_REG(hw, E1000_MGTPDC);
+       stats->mgptc += E1000_READ_REG(hw, E1000_MGTPTC);
+
+       stats->tor += E1000_READ_REG(hw, E1000_TORL) +
+           ((u64)E1000_READ_REG(hw, E1000_TORH) << 32);
+       stats->tot += E1000_READ_REG(hw, E1000_TOTL) +
+           ((u64)E1000_READ_REG(hw, E1000_TOTH) << 32);
 
        stats->tpr += E1000_READ_REG(hw, E1000_TPR);
        stats->tpt += E1000_READ_REG(hw, E1000_TPT);
@@ -5738,6 +5744,9 @@ igb_add_hw_stats(struct adapter *adapter
        SYSCTL_ADD_QUAD(ctx, stat_list, OID_AUTO, "missed_packets",
                        CTLFLAG_RD, &stats->mpc,
                        "Missed Packets");
+       SYSCTL_ADD_QUAD(ctx, stat_list, OID_AUTO, "recv_length_errors",
+                       CTLFLAG_RD, &stats->rlec,
+                       "Receive Length Errors");
        SYSCTL_ADD_QUAD(ctx, stat_list, OID_AUTO, "recv_no_buff",
                        CTLFLAG_RD, &stats->rnbc,
                        "Receive No Buffers");
@@ -5746,7 +5755,7 @@ igb_add_hw_stats(struct adapter *adapter
                        "Receive Undersize");
        SYSCTL_ADD_QUAD(ctx, stat_list, OID_AUTO, "recv_fragmented",
                        CTLFLAG_RD, &stats->rfc,
-                       "Fragmented Packets Received ");
+                       "Fragmented Packets Received");
        SYSCTL_ADD_QUAD(ctx, stat_list, OID_AUTO, "recv_oversize",
                        CTLFLAG_RD, &stats->roc,
                        "Oversized Packets Received");
@@ -5762,6 +5771,9 @@ igb_add_hw_stats(struct adapter *adapter
        SYSCTL_ADD_QUAD(ctx, stat_list, OID_AUTO, "alignment_errs",
                        CTLFLAG_RD, &stats->algnerrc,
                        "Alignment Errors");
+       SYSCTL_ADD_QUAD(ctx, stat_list, OID_AUTO, "tx_no_crs",
+                       CTLFLAG_RD, &stats->tncrs,
+                       "Transmit with No CRS");
        /* On 82575 these are collision counts */
        SYSCTL_ADD_QUAD(ctx, stat_list, OID_AUTO, "coll_ext_errs",
                        CTLFLAG_RD, &stats->cexterr,
@@ -5778,10 +5790,22 @@ igb_add_hw_stats(struct adapter *adapter
        SYSCTL_ADD_QUAD(ctx, stat_list, OID_AUTO, "xoff_txd",
                        CTLFLAG_RD, &stats->xofftxc,
                        "XOFF Transmitted");
+       SYSCTL_ADD_QUAD(ctx, stat_list, OID_AUTO, "unsupported_fc_recvd",
+                       CTLFLAG_RD, &stats->fcruc,
+                       "Unsupported Flow Control Received");
+       SYSCTL_ADD_QUAD(ctx, stat_list, OID_AUTO, "mgmt_pkts_recvd",
+                       CTLFLAG_RD, &stats->mgprc,
+                       "Management Packets Received");
+       SYSCTL_ADD_QUAD(ctx, stat_list, OID_AUTO, "mgmt_pkts_drop",
+                       CTLFLAG_RD, &stats->mgpdc,
+                       "Management Packets Dropped");
+       SYSCTL_ADD_QUAD(ctx, stat_list, OID_AUTO, "mgmt_pkts_txd",
+                       CTLFLAG_RD, &stats->mgptc,
+                       "Management Packets Transmitted");
        /* Packet Reception Stats */
        SYSCTL_ADD_QUAD(ctx, stat_list, OID_AUTO, "total_pkts_recvd",
                        CTLFLAG_RD, &stats->tpr,
-                       "Total Packets Received ");
+                       "Total Packets Received");
        SYSCTL_ADD_QUAD(ctx, stat_list, OID_AUTO, "good_pkts_recvd",
                        CTLFLAG_RD, &stats->gprc,
                        "Good Packets Received");
@@ -5793,7 +5817,7 @@ igb_add_hw_stats(struct adapter *adapter
                        "Multicast Packets Received");
        SYSCTL_ADD_QUAD(ctx, stat_list, OID_AUTO, "rx_frames_64",
                        CTLFLAG_RD, &stats->prc64,
-                       "64 byte frames received ");
+                       "64 byte frames received");
        SYSCTL_ADD_QUAD(ctx, stat_list, OID_AUTO, "rx_frames_65_127",
                        CTLFLAG_RD, &stats->prc127,
                        "65-127 byte frames received");
@@ -5811,12 +5835,18 @@ igb_add_hw_stats(struct adapter *adapter
                        "1023-1522 byte frames received");
        SYSCTL_ADD_QUAD(ctx, stat_list, OID_AUTO, "good_octets_recvd", 
                        CTLFLAG_RD, &stats->gorc, 
-                       "Good Octets Received"); 
+                       "Good Octets Received");
+       SYSCTL_ADD_QUAD(ctx, stat_list, OID_AUTO, "total_octets_recvd", 
+                       CTLFLAG_RD, &stats->tor, 
+                       "Total Octets Received");
 
        /* Packet Transmission Stats */
        SYSCTL_ADD_QUAD(ctx, stat_list, OID_AUTO, "good_octets_txd", 
                        CTLFLAG_RD, &stats->gotc, 
                        "Good Octets Transmitted"); 
+       SYSCTL_ADD_QUAD(ctx, stat_list, OID_AUTO, "total_octets_txd", 
+                       CTLFLAG_RD, &stats->tot, 
+                       "Total Octets Transmitted");
        SYSCTL_ADD_QUAD(ctx, stat_list, OID_AUTO, "total_pkts_txd",
                        CTLFLAG_RD, &stats->tpt,
                        "Total Packets Transmitted");
@@ -5831,7 +5861,7 @@ igb_add_hw_stats(struct adapter *adapter
                        "Multicast Packets Transmitted");
        SYSCTL_ADD_QUAD(ctx, stat_list, OID_AUTO, "tx_frames_64",
                        CTLFLAG_RD, &stats->ptc64,
-                       "64 byte frames transmitted ");
+                       "64 byte frames transmitted");
        SYSCTL_ADD_QUAD(ctx, stat_list, OID_AUTO, "tx_frames_65_127",
                        CTLFLAG_RD, &stats->ptc127,
                        "65-127 byte frames transmitted");
_______________________________________________
svn-src-stable-9@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-stable-9
To unsubscribe, send any mail to "svn-src-stable-9-unsubscr...@freebsd.org"

Reply via email to