diff options
author | yongari <yongari@FreeBSD.org> | 2008-10-03 03:58:16 +0000 |
---|---|---|
committer | yongari <yongari@FreeBSD.org> | 2008-10-03 03:58:16 +0000 |
commit | 7570f3398aa8c889259ef224e4ce5fdd77cc53ee (patch) | |
tree | 34f83d61d2e7d991c97d21b9ec469d266e0b5e7e /sys/dev/nfe/if_nfevar.h | |
parent | 5af9b4daf219111a13b92959edcef0f894837ad0 (diff) | |
download | FreeBSD-src-7570f3398aa8c889259ef224e4ce5fdd77cc53ee.zip FreeBSD-src-7570f3398aa8c889259ef224e4ce5fdd77cc53ee.tar.gz |
Add hardware MAC statistics support. Register information was
obtained from Linux forcedeth driver.
While I'm here move creating a sysctl node for process_limit to
function nfe_sysctl_node().
Tested by: "Arno J. Klaassen" < arno <at> heho dot snv dot jussieu dot fr >
Diffstat (limited to 'sys/dev/nfe/if_nfevar.h')
-rw-r--r-- | sys/dev/nfe/if_nfevar.h | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/sys/dev/nfe/if_nfevar.h b/sys/dev/nfe/if_nfevar.h index b9c7217..3686254 100644 --- a/sys/dev/nfe/if_nfevar.h +++ b/sys/dev/nfe/if_nfevar.h @@ -70,6 +70,39 @@ struct nfe_jrx_ring { int jnext; }; +struct nfe_hw_stats { + uint64_t rx_octets; + uint32_t rx_frame_errors; + uint32_t rx_extra_bytes; + uint32_t rx_late_cols; + uint32_t rx_runts; + uint32_t rx_jumbos; + uint32_t rx_fifo_overuns; + uint32_t rx_crc_errors; + uint32_t rx_fae; + uint32_t rx_len_errors; + uint32_t rx_unicast; + uint32_t rx_multicast; + uint32_t rx_broadcast; + uint32_t rx_pause; + uint32_t rx_drops; + uint64_t tx_octets; + uint32_t tx_zero_rexmits; + uint32_t tx_one_rexmits; + uint32_t tx_multi_rexmits; + uint32_t tx_late_cols; + uint32_t tx_fifo_underuns; + uint32_t tx_carrier_losts; + uint32_t tx_excess_deferals; + uint32_t tx_retry_errors; + uint32_t tx_deferals; + uint32_t tx_frames; + uint32_t tx_pause; + uint32_t tx_unicast; + uint32_t tx_multicast; + uint32_t tx_broadcast; +}; + struct nfe_softc { struct ifnet *nfe_ifp; device_t nfe_dev; @@ -96,10 +129,14 @@ struct nfe_softc { #define NFE_PWR_MGMT 0x0010 #define NFE_CORRECT_MACADDR 0x0020 #define NFE_TX_FLOW_CTRL 0x0040 +#define NFE_MIB_V1 0x0080 +#define NFE_MIB_V2 0x0100 +#define NFE_MIB_V3 0x0200 int nfe_jumbo_disable; uint32_t rxtxctl; uint8_t mii_phyaddr; uint8_t eaddr[ETHER_ADDR_LEN]; + struct nfe_hw_stats nfe_stats; struct taskqueue *nfe_tq; struct task nfe_int_task; struct task nfe_tx_task; |