Solaris network drivers must implement statistics variables. GLD itself tallies some network statistics, but other statistics must be counted by each GLD-based driver. GLD provides support for GLD-based drivers to report a standard set of network driver statistics. Statistics are reported by GLD using the kstat(7D) and kstat(9S) mechanisms. The DL_GET_STATISTICS_REQ DLPI command can also be used to retrieve the current statistics counters. All statistics are maintained as unsigned, and all are 32 bits unless otherwise noted.
GLD maintains and reports the following statistics.
Total bytes successfully received on the interface (64 bits).
Total bytes successfully received on the interface.
Total bytes requested to be transmitted on the interface (64 bits).
Total bytes requested to be transmitted on the interface.
Total packets successfully received on the interface (64 bits).
Total packets successfully received on the interface.
Total packets requested to be transmitted on the interface (64 bits).
Total packets requested to be transmitted on the interface.
Multicast
packets successfully received, including group and functional addresses (long
).
Multicast
packets requested to be transmitted, including group and functional addresses
(long
).
Broadcast
packets successfully received (long
).
Broadcast
packets requested to be transmitted (long
).
Valid
received packets not accepted by any Stream (long
).
Packets
discarded on output because transmit buffer was busy, or no buffer could be
allocated for transmit (long
).
Number
of times a received packet could not be put up a Stream because the queue
was flow-controlled (long
).
Times
transmit was retried after having been delayed due to lack of resources (long
).
Current ``promiscuous'' state of the interface (string).
The device-dependent driver counts the following statistics, keeping track of them in a private per-instance structure. When GLD is asked to report statistics, it calls the driver's gldm_get_stats() entry point, as described in gld(9E), to update the device-specific statistics in the gld_stats(9S) structure. GLD then reports the updated statistics using the named statistics variables shown below.
Current estimated bandwidth of the interface in bits per second (64 bits).
Current media type in use by the device (string).
Times interrupt
handler was called and claimed the interrupt (long
).
Number
of times a valid incoming packet was known to have been discarded because
no buffer could be allocated for receive (long
).
Total
packets received that could not be processed because they contained errors
(long
).
Total
packets that were not successfully transmitted because of errors (long
).
Packets
known to have been dropped by the hardware on receive (long
).
Times FIFO
underflowed on transmit (long
).
Times receiver
overflowed during receive (long
).
The following group of statistics applies to networks of type DL_ETHER. These statistics are maintained by device-specific drivers of that type, as shown previously.
Packets received with framing
errors (not an integral number of octets) (long
).
Packets received with CRC errors (long
).
Current duplex mode of the interface (string).
Number of times carrier was lost or never detected on a transmission attempt
(long
).
Ethernet collisions during transmit (long
).
Frames where excess collisions occurred on transmit, causing transmit failure
(long
).
Number of times a transmit collision occurred late (after 512 bit times)
(long
).
Packets without collisions where first transmit attempt was delayed because
the medium was busy (long
).
Packets successfully transmitted with exactly one collision.
Packets successfully transmitted with multiple collisions.
Number of times SQE test error was reported.
Packets encountering transmit MAC failures, except carrier and collision failures.
Packets received with MAC errors, except align_errors, fcs_errors, and toolong_errors.
Packets received larger than the maximum permitted length.
Packets received smaller than the minimum permitted length (long
).
The following group of statistics applies to networks of type DL_TPR; these are maintained by device-specific drivers of that type, as shown above.
Packets received with non-data bits or FCS errors.
Number of times an absence of transitions for five half-bit timers was detected.
Number of times loss of signal condition on the ring was detected.
Number of times an AMP or SMP frame, in which A is equal to C is equal to 0, was followed by another such SMP frame without an intervening AMP frame.
Number of times the station recognized an internal error.
Number of times the TRR timer expired during transmit.
Number of times a frame addressed to this station was received with the FS field `A' bit set to 1.
Number of times the station acting as the active monitor recognized an error condition that needed a token transmitted.
Number of times the frequency of the incoming signal differed from the expected frequency.
The following group of statistics applies to networks of type DL_FDDI; these are maintained by device-specific drivers of that type, as shown above.
Frames detected in error by this MAC that had not been detected in error by another MAC.
Frames received with format errors such that the frame was stripped.
Number of tokens received (total of non-restricted and restricted).
Number of times that TVX has expired.
Number of TRT expirations since this MAC was reset or a token was received.
Number of times the ring has entered the ``Ring Operational'' state from the ``Ring Not Operational'' state.