Ethernet statistics for a nicinfo command
typedef struct nic_ethernet_stats {
uint32t valid_stats;
uint32t align_errors;
uint32t single_collisions;
uint32t multi_collisions;
uint32t fcs_errors;
uint32t tx_deferred;
uint32t late_collisions;
uint32t xcoll_aborted;
uint32t internal_tx_errors;
uint32t no_carrier;
uint32t internal_rx_errors;
uint32t excessive_deferrals;
uint32t length_field_outrange;
uint32t oversized_packets;
uint32t sqe_errors;
uint32t symbol_errors;
uint32t jabber_detected;
uint32t short_packets;
uint32t total_collision_frames;
uint32t dribble_bits;
} nic_ethernet_stats_t;
This structure holds Ethernet-specific statistics.
Your driver must fill in the following members:
- valid_stats
- A set of flags that indicate what
Ethernet-specific statistics the driver keeps track of.
The following flags are defined:
- NIC_ETHER_STAT_ALIGN_ERRORS -- the align_errors
field is valid.
- NIC_ETHER_STAT_SINGLE_COLLISIONS -- the single_collisions
field is valid.
- NIC_ETHER_STAT_MULTI_COLLISIONS -- the multi_collisions
field is valid.
- NIC_ETHER_STAT_FCS_ERRORS -- the fcs_errors
field is valid.
- NIC_ETHER_STAT_TX_DEFERRED -- the tx_deferred
field is valid.
- NIC_ETHER_STAT_LATE_COLLISIONS -- the late_collisions
field is valid.
- NIC_ETHER_STAT_XCOLL_ABORTED -- the xcoll_aborted
field is valid.
- NIC_ETHER_STAT_INTERNAL_TX_ERRORS -- the internal_tx_errors
field is valid.
- NIC_ETHER_STAT_NO_CARRIER -- the no_carrier
field is valid.
- NIC_ETHER_STAT_INTERNAL_RX_ERRORS -- the internal_rx_errors
field is valid.
- NIC_ETHER_STAT_EXCESSIVE_DEFERRALS -- the excessive_deferrals
field is valid.
- NIC_ETHER_STAT_LENGTH_FIELD_MISMATCH -- the length_field_mismatch
field is valid.
- NIC_ETHER_STAT_LENGTH_FIELD_OUTRANGE -- the length_field_outrange
field is valid.
- NIC_ETHER_STAT_OVERSIZED_PACKETS -- the oversized_packets
field is valid.
- NIC_ETHER_STAT_SQE_ERRORS -- the sqe_errors
field is valid.
- NIC_ETHER_STAT_SYMBOL_ERRORS -- the symbol_errors
field is valid.
- NIC_ETHER_STAT_JABBER_DETECTED -- the jabber_detected
field is valid.
- NIC_ETHER_STAT_SHORT_PACKETS -- the short_packets
field is valid.
- NIC_ETHER_STAT_TOTAL_COLLISION_FRAMES -- the total_collision_frames
field is valid.
- NIC_ETHER_STAT_DRIBBLE_BITS -- the dribble_bits
field is valid.
- align_errors
- The number of frames received that aren't
an integral number of bytes in length.
Corresponds to the AlignmentErrors attribute
defined by the 802.3 spec.
- single_collisions
- The number of frames that experienced
a single collision upon transmission, but
were subsequently transmitted successfully.
Corresponds to the SingleCollisionFrames
attribute defined by the 802.3 spec.
- multi_collisions
- The number of frames that experienced
more than one collision upon transmission,
but were subsequently transmitted successfully.
Corresponds to the MultipleCollisionFrames
attribute defined by the 802.3 spec.
- fcs_errors
- The number of frames received that
are an integral number of bytes in length,
but had an incorrect Frame Check Sequence
field. Corresponds to the FrameCheckSequence
attribute, defined by the 802.3 spec.
- tx_deferred
- The number of frames that experienced a
delay during transmission because the medium was
busy. Corresponds to the FramesWithDeferredXmissions
attribute, defined by the 802.3 spec.
- late_collisions
- The number of frames that experienced a late
collision (out-of-window collision) upon transmission.
Corresponds to the LateCollisions attribute defined
by the 802.3 spec.
- xcoll_aborted
- The number of frame transmissions
that were aborted due to excessive collisions.
Corresponds to the FramesAbortedDueToXSColls
attribute defined by the 802.3 spec.
- internal_tx_errors
- The number of transmits that failed
due to an internal error in the NIC device.
The most common type of internal transmit
error that occurs with a typical device
implementation is a FIFO underrun.
Corresponds to the FramesLostDueToIntMACXmitErrors
attribute defined by the 802.3 spec.
- no_carrier
- The number of times a carrier signal wasn't detected
during frame transmission. Corresponds to the
CarrierSenseErrors attribute defined by
the 802.3 spec.
- internal_rx_errors
- The number of packet reception
attempts that failed due to an internal
error in the NIC device. The most common
type of internal receive error that
occurs with a typical device implementation
is a FIFO overrun. Corresponds to the
FramesLostDueToIntMACRcvErrors attribute
defined by the 802.3 spec.
- excessive_deferrals
- The number of frame transmissions
that were aborted due to excessive deferral.
Corresponds to the FramesWithExcessiveDeferral
attribute defined by the 802.3 spec.
- length_field_mismatch
- The number of received packets where the
type/length field in the Ethernet header is in the
valid range to specify a packet length, but this
length doesn't match the number of bytes that were
actually received. Corresponds to the InRangeLengthErrors
attribute defined by the 802.3 spec.
- length_field_outrange
- The number of received packets where the
type/length field in the Ethernet header isn't in
the valid range to specify a type, but the value
is greater than the maximum Ethernet packet size.
Corresponds to the OutOfRangeLengthField attribute
defined by the 802.3 spec.
- oversized_packets
- The number of received packets whose length
is greater than the maximum Ethernet packet size.
Corresponds to the OutOfRangeLengthField attribute
defined by the 802.3 spec.
- sqe_errors
- The number of signal-quality errors
detected on the medium. Corresponds to the
SQETestErrors attribute defined by the 802.3 spec.
- symbol_errors
- The number of invalid symbols detected on
the medium while a carrier signal was present.
Corresponds to the SymbolErrorDuringCarrier attribute
defined by the 802.3 spec.
- jabber_detected
- The number of times a 10Mbit transceiver
entered the jabber state. Corresponds to the Jabber
attribute defined by the 802.3 spec.
- short_packets
- The number of packets received
that were below the minimun Ethernet frame size.
Corresponds to the Runts attribute defined by the
802.3 spec.
- total_collision_frames
- The total number of packets that experienced
one or more collisions during transmission.
- dribble_bits
- The total number of packets received where
extraneous bits were present on the media at the
end of the frame, but the frame was otherwise valid.
QNX Neutrino