|
|
|
|
The Broadcom 5703 ASIC contains two DMA engines, one read, one write; it also contains a 10/100/1000 MAC, a set of hardware state machines, and two 133 MHz processors. The NIC includes initialization firmware and PXE boot ROM firmware.
The Broadcom 5703 is PCI 2.2 and PCI-X 1.0 compatible.
DEGXA Devices lists and describes the devices and drivers of the DEGXA.
DEGXA Internal Counters
With LANCP, the command SHOW DEVICE/INTERNAL_COUNTERS EWc
displays the entire set of internal counters maintained by the driver.
Some counters are special debug counters. These are not displayed
unless the additional qualifier /DEBUG is specified. The debug counters
include the address of the status block, statistics block, and the
contents of significant CSRs. The significant CSRs are read just
prior to returning the internal counters to LANCP and when the system
is shutting down.
The LAN$SDA SDA extension also displays the complete set of internal counters with the command LAN INTERNAL/DEVICE=EWc. This extension includes the debug counters.
The following sections present various groupings of internal counters. The definition of these counters may change from one driver version to the next.
Basic
Counters
DEGXA Basic Counters describes the basic
counters displayed by the DEGXA Gigabit Ethernet NIC.
Status Block
Status Block Fields lists
and describes fields that are part of the 128-byte status and ring
indexes written to host memory after each interrupt.
Statistics Block
The NIC updates the statistics once a second. The driver maintains
the bytes and packets that are transmitted and received but obtains
the error counters from this statistics block. The block includes
many counters that are useful in diagnosing device and system operations.
The statistics are displayed in sections according to the type of
counter.
Statistics: Receive MAC
Receive MAC Statistics lists
and describes the receive MAC statistics.
Counter | Meaning |
---|---|
Bytes received
|
The total number of bytes
successfully received.
|
Runt packets
received (bad CRC)
|
The number of runt packets
less than 64 bytes long received and discarded.
|
Unicast packets
received
|
The number of packets successfully
received that were not addressed to a multicast or broadcast address.
|
Multicast packets
received
|
The number of packets successfully
received that were addressed to a multicast address, but not the
broadcast address.
|
Broadcast packets
received
|
The number of packets successfully
received that were addressed to the broadcast address.
|
FCS errors
|
The number of packets received
with CRC errors and that are an integral number of bytes long. These
packets are discarded and are counted by the device.
|
Alignment errors
|
The number of packets received
with CRC errors and that are not an integral number of bytes long.
These packets are discarded and are counted by the device.
|
MAC control
XON frames received
|
The number of XON frames
received. An XON frame is a MAC control frame with a pause command
and a length equal to 0.
|
MAC control
XOFF frames received
|
The number of XOFF frames
received. An XOFF frame is a MAC control frame with a pause command
and a length greater than 0.
|
MAC control
other frames received
|
The number of other MAC
control frames received. These are MAC control frames with no pause
command.
|
Transmitting
disabled (xoff)
|
The number of times the
transmitter was disabled because of a receive of an XOFF frame.
|
Frame too long
errors
|
The number of received frames
that were longer than the jumbo packet size. These packets are discarded
and are counted by the device.
|
Frame exceed
jabber time errors
|
The number of frames received
that are longer than the specified maximum frame time, for example,
a jabber frame.
|
Runt packets
received (good CRC)
|
The number of frames received
with a size less than 64 bytes (including a correct CRC field).
|
Length errors
(length field neq actual)
|
The number of frames received
where the 802-length field does not match the total frame size.
|
Length errors (type field
1523-1535)
|
The number of frames received where the
field is in the range of 1523 to 1535, for example, an invalid type
field and a length error.
|
Statistics: Transmit MAC
Transmit MAC Statistics lists and
describes the counters for the transmit MAC statistics.
Counter | Meaning |
---|---|
Bytes sent
|
The total number of bytes
successfully transmitted.
|
Collisions
experienced
|
The total number of collisions
experienced.
|
XON packets
sent
|
The number of XON packets
sent in support of flow control.
|
XOFF packets
sent
|
The number of XOFF packets
sent in support of flow control.
|
Flow control
sequences done
|
The number of flow control
sequences done.
|
Internal MAC
transmit errors
|
The number of transmits
that failed because of an internal MAC sublayer error that is not
late collision, excessive collisions, or carrier sense error.
|
Single collisions
|
The number of successfully
transmitted packets that encountered exactly one collision during
transmission (successful after retransmit). These occur in half-duplex
mode only.
|
Multiple collisions
|
The number of successfully
transmitted packets that encountered more than one collision during
transmission (successful after multiple retransmits). These occur
in half-duplex mode only.
|
Deferred transmits
|
The number of successful
transmits that were delayed because the medium was busy. These occur
in half-duplex mode only.
|
Excessive collisions
|
The number of transmits
that failed because of excessive collisions. These occur in half-duplex
mode only.
|
Late collisions
|
The number of times a collision
was detected longer than 512 bit-times into the transmission of
a packet. The transmit fails. These occur in half-duplex mode only.
|
MAC transmit
2..15 collisions
|
The number of successfully
transmitted packets which encountered n collisions
during transmission (successful after n retransmits).
These occur in half-duplex mode only.
|
Unicast packets
sent
|
The total number of successfully
transmitted packets that were not addressed to a multicast or broadcast
address.
|
Multicast packets
sent
|
The total number of successfully
transmitted packets that were addressed to a multicast address but
not the broadcast address.
|
Broadcast packets
sent
|
The total number of successfully
transmitted packets that were addressed to a broadcast address.
|
Carrier sense
errors
|
The number of transmits
that failed because a carrier was not present during any or all
of the transmission attempts.
|
Outbound discards
|
The number of outbound packets
that were chosen to be discarded even though no errors had been
detected to prevent their being transmitted. One possible reason
for discarding such a packet could be to free up buffer space.
|
Outbound errors
|
The number of outbound packets that could
not be transmitted because of errors.
|
Statistics: Receive List Placement State
Machine
Receive List Placement State Machine lists
and describes the counters for the receive list placement state
machine.
Counter | Meaning |
---|---|
Frames received
onto return ring 1..16
|
The number of frames received
onto each of the return rings.
|
Frames discarded
using filters
|
The number of frames received
but discarded after validation by the receive filters.
|
DMA write queue
full
|
The number of times the
DMA write queue was full.
|
DMA high priority
write queue full
|
The number of times the
DMA write high-priority queue was full.
|
No more receive
BDs
|
The number of times the
NIC ran out of receive buffer descriptors.
|
Inbound discards
|
The number of inbound packets
that were chosen to be discarded even though no errors had been
detected to prevent their being deliverable to a higher-layer protocol. One
possible reason for discarding such a packet could be to free up
buffer space.
|
Inbound errors
|
The number of inbound packets
that contained errors that prevented them from being deliverable
to a higher-layer protocol.
|
Receive threshold hit
|
The number of times the receive max coalesce
frames threshold was reached, resulting in a status block update and
interrupt.
|
Statistics: Send Data Initiator State Machine
Send Data Initiator State Machine lists and
describes the counters for the send data initiator state machine.
Counter | Meaning |
---|---|
Frames sent
from send ring 1..16
|
The number of frames sent
from each of the send rings.
|
DMA read queue
full
|
The number of times the
DMA read queue was full.
|
DMA high priority
read queue full
|
The number of times the
DMA read high-priority queue was full.
|
Send data completion queue
full
|
The number of times the send data completion flow-thorough-queue
(FTQ) was full.
|
Statistics: Host Coalescing State Machine
Host Coalescing State Machine lists the
counters for the host coalescing state machine statistics.
Counter | Meaning |
---|---|
Send producer
index updates
|
The number of times the
NIC has seen updates to any send producer ring index.
|
Ring status
updates
|
The number of times the
status block was updated (written to host memory). If the driver
is not currently in its interrupt service routine, an interrupt
is generated after the update.
|
Interrupts
generated
|
The number of interrupts
generated by the NIC.
|
Interrupts
avoided
|
The number of interrupts
avoided by the NIC (because of interrupt mitigation).
|
Send threshold hit
|
The number of times the send max coalesce
frames threshold was reached, resulting in a status block update
and interrupt.
|
Fork Delay Debug Data
To help determine whether the buffering requirements of the
driver and the NIC are sufficient for the system configuration,
the driver records the amount of time from fork scheduled to the
time the fork is actually run. The data is recorded in 10-millisecond
increments from 10 to 310 milliseconds.
This data can be used in conjunction with the number of packets discarded because there were insufficient buffers to determine whether the buffering settings of the driver (minimum and maximum receive buffers) and the amount of buffering on the NIC are sufficient for normal operation. If packets are being discarded, the buffering should be increased until the number of packets lost is minimal.
Driver Messages
The following is the last 32 driver messages broadcast to
the console, describing events such as link transitions, changes
to jumbo packet settings, changes to autonegotiation settings, and
startup messages.
Driver messages are issued for the following:
Failed to enable interrupts |
Failed during map register allocation |
Failed to enable interrupts |
Failed to read MAC address |
Autonegotiation disabled per SYSGEN parameter LAN_FLAGS |
Autonegotiation enabled per SYSGEN parameter LAN_FLAGS |
Jumbo frames enabled per SYSGEN parameter LAN_FLAGS |
Jumbo frames disabled per SYSGEN parameter LAN_FLAGS |
Flow control changed per SYSGEN parameter LAN_FLAGS |
Flow control change disallowed -- full-duplex mode required |
Flow control enabled per SYSGEN parameter LAN_FLAGS |
Flow control disabled per SYSGEN parameter LAN_FLAGS |
Link set to speed, duplex, flow control setting |
Link set to auto-negotiate speed, duplex, flow control setting |
Link state change -- link up: speed, duplex, flow control setting |
Link state change -- link down |
Device-Specific Functions
The driver allows some device-specific parameters to be adjusted.
These adjustments are useful for debug purposes or for performance
tuning.
You specify device specific functions by using the following
LANCP command:LANCP>
SET DEVICE/DEVICE_SPECIFIC=(FUNCTION="func", VALUE=n) EWc
Like other LANCP commands which affect a device, this command requires the SYSPRV privilege.
LANCP Device-Specific Commands lists and describes the device-specific LANCP commands.
Command | Meaning |
---|---|
FUNCTION="CCOU"
|
Clears all device and driver
counters. The value, if supplied, is ignored.
|
FUNCTION="DXMT",
VALUE=n
|
Changes the transmit delay
value, which is the number of microseconds after completion of a
transmit request that an interrupt is generated.
The current setting is displayed in the internal counters. This function is applicable to Gigabit Ethernet NICs. |
FUNCTION="DRCV",
VALUE=n
|
Changes the receive delay
value, which is the number of microseconds after completion of a
receive that an interrupt is generated.
The current setting is displayed in the internal counters. This function is applicable to Gigabit Ethernet NICs. |
FUNCTION="CXMT",VALUE=n
|
Changes the transmit coalesce
value, which is the number of transmit buffer descriptors that are
processed before an interrupt is generated. An interrupt may be
generated earlier if the transmit delay threshold is reached or
when an interrupt on behalf of receive or a link state change is
generated.
The current setting is displayed in the internal counters. This function is applicable to Gigabit Ethernet NICs. |
FUNCTION="CRCV", VALUE=n
|
Changes the receive coalesce value, which
is the number of receive buffer descriptors that are filled in before
an interrupt is generated. An interrupt may be generated earlier
if the receive delay threshold is reached or when an interrupt on behalf
of transmit or a link state change is generated.
The current setting is displayed in the internal counters. This function is applicable to Gigabit Ethernet NICs. |
|
|