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.
Table 8 DEGPA Status and Counters
Status/Counters |
Meaning |
Driver version
|
The driver version number
is numbered 1...n that usually is identical to the x--n
ID displayed by an ANA/IMAGE of the driver image. It includes variant
information, if any. The full driver version includes the target
OpenVMS release and is displayed by SDA LAN/DEV=EWA in the quadword
driver version field.
|
Firmware version
|
The version number is in
hexadecimal; it is read from right to left.
|
Device interrupts
|
The number of times the
interrupt service routine was called.
|
Events completed
|
The number of events completed
from the event ring.
|
Link transitions
|
The total number of link
state up and link state down events.
|
Transmit timeouts
|
The number of times the
driver has timed out a transmit and has reset the device and completed
outstanding I/O requests with error status.
|
Initialization
timeouts
|
The number of times the
driver has timed out an initialization request and has reset the
device and completed outstanding I/O requests with error status.
|
Resets issued
|
The number of times the
driver has reset the device.
|
Initialization
done
|
The number of times the
driver performed the device initialization procedure (done when
the first user is started).
|
Initialization
(with or without map registers)
|
The number of unit initializations
executed; since unit initialization is only executed once, this
counter will be one. Which counter is set depends on whether map
registers were used to map the device data structures.
|
User change
requests
|
The number of user startup
and shutdown requests processed by the driver, generally one or
two when a user starts up, and one when a user stops.
|
PTE to PFN
translations
|
The number of times a global
page was encountered during a chained transmit request, causing
the driver to convert an invalid PTE to a valid PFN.
|
Transmits queued
|
The number of transmit requests
queued because the link was not available or because too many transmit
requests were already outstanding.
|
Transmit errors
(too few segments)
|
The number of transmit requests
completed with error status (SS$_INCSEGTRA) because the application
did not specify the transmit buffer completely.
|
Transmit copies
(too many segments)
|
The number of transmit requests
that exceeded the maximum number of chain segments that the driver
can handle; the counter then copied some of them to a temporary
buffer so that it could transmit the packet.
|
Jumbo transmits
issued
|
The number of transmit requests
with a packet length exceeding 1514 bytes, excluding CRC.
|
Transmits issued
(using map registers)
|
The number of transmit requests
that were described to the device using map registers because part
of the request existed in memory outside the DMA window.
|
Jumbo receives
issued
|
The number of jumbo receive
buffers allocated and given to the device.
|
Receives issued
(using map registers)
|
The number of receive buffers
that were described to the device using map registers, because part
of the request existed in memory outside the DMA window, because
the receive buffer crossed a page boundary, or because the receive
buffer was a jumbo buffer.
|
Soft errors
|
The number of times errors
were recovered in the driver by resetting the device.
|
Commands outstanding
|
The number of commands outstanding
to the device.
|
Commands queued
|
The number of commands that
have been queued to the device.
|
Command pending
mask
|
The commands that the driver
has not yet issued to the device.
|
Invalid command
|
The event code of the last
event.
|
Unexpected
event
|
The event code of the last
event that was not recognized.
|
Rescheduled
forks
|
The number of times that
a rescheduled fork was done. In transmit and receive processing,
the driver limits the amount of time spent in the fork process before
rescheduling.
|
Standard receive
buffers
|
The number of 1518-byte
receive buffers owned by the device.
|
Standard receive
buffer deallocations
|
The number of 1518-byte
buffer deallocations done by the driver because the number of outstanding
buffers exceeded the maximum number allowed by the driver.
|
Jumbo receive
buffers (current)
|
The number of 7552-byte
receive buffers owned by the device.
|
Jumbo receive
buffers (minimum)
|
The minimum number of 7552-byte
receive buffers owned by the device. This is set to 1 initially.
After the first jumbo receive, the driver sets the minimum to 32.
|
Jumbo receive
buffer allocations
|
The number of jumbo receive
buffer allocations done by the driver.
|
Jumbo receive
buffer deallocations
|
The number of 7552-byte
buffer deallocations done by the driver because the number of outstanding
buffers exceeded the maximum number allowed by the driver.
|
Standard buffer
size (bytes)
|
The size of the standard
receive buffers. It is the CSMA/CD packet size, 1518 bytes including
header and CRC, plus the overhead of the receive buffer structure
(640 bytes).
|
Standard packet
size (bytes)
|
This is the CSMA/CD size
(1518 bytes).
|
Jumbo buffer
size (bytes)
|
The size of the jumbo receive
buffers. The device allows up to 9018-byte packets, including header
and CRC, plus the 640-byte receive buffer structure overhead. But
the driver limits the buffer size to the maximum size supported
by the pool lookaside lists, which is 8192 bytes in current and
recent OpenVMS releases. In a future release, the buffer size will
be 9018 plus 640 bytes of overhead, rounded up to the next 64-byte
boundary, to accommodate the full jumbo packet size.
|
Requested speed
|
The speed requested by a
user.
|
Requested link
value
|
The link control bits set
by the driver to use during link initialization.
|
Current link
state
|
The current link state determined
by the device.
|
Jumbo packets
|
The size of jumbo frames,
which is 7552 bytes. The SYSGEN parameter LAN_FLAGS bit 6 or the
LANCP command SET DEV/[NO]JUMBO determines whether the maximum user
data size for VCI applications is the standard size (1518 bytes
less header and CRC) or jumbo size. The default is disabled, LAN_FLAGS
bit 6 set to zero.
|
Link autonegotiation
|
Determines whether the link
state that the driver requests the device to use allows autonegotiation.
The SYSGEN parameter LAN_FLAGS bit 5 or the LANCP command SET DEV/[NO]AUTO determines
the setting. The default is enabled.
|
DMA operation
|
Displays the result of the
determination by the device whether it is in a 32-bit or 64-bit
PCI bus.
|
Current PCI
state
|
The current value of the
PCI state register which controls the DMA hardware and other PCI
characteristics.
|
Transmit coalesce
value
|
Transmit interrupts are
generated every 32 "coalesce value" transmit completions,
but no later than 50 "interrupt delay" microseconds after completion
of a packet.
|
Receive coalesce
value
|
Receive interrupts are generated
every 32 "coalesce value" receive completions,
but no more than 50 "interrupt delay" microseconds after receipt
of a packet.
|
Transmit interrupt
delay
|
Transmit interrupts are
generated every 32 "coalesce value" transmit completions,
but no more than 50 "interrupt delay" microseconds
after completion of a packet.
|
Receive interrupt
delay sec
|
Receive interrupts are generated
evert 32 "coalesce valure" receive completions,
but no more than 50 "interrupt delay" microseconds after
receipt of a packet.
|
Current EXE$GL_ABSTIM_TICS
|
The current time in 10-milliseconds
ticks of the counters request from LANCP.
|
Statistics EXE$GL_ABSTIM_TICS
|
The time in 10-millisecond ticks of the
last statistics update from the device.
|
Table 9 MAC Counter Statistics
Counter Statistics |
Meaning |
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 then counted by the device.
|
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 then counted by the device.
|
Single collisions
|
The number of successfully
transmitted packets which 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.
|
SQE test errors
|
The number of SQE test errors
generated after successful transmission. These are also called heartbeat
errors. Some network hardware does not support this test function,
so this error happens on every transmit. 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.
|
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.
|
Excessive collisions
|
The number of transmits
which failed due to excessive collisions. These occur in half-duplex
mode only.
|
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.
|
Carrier sense
errors
|
The number of transmits
that failed because carrier was not present during any or all of
the transmission attempt.
|
Frame too long
errors
|
The number of received frames
that were longer than the jumbo packet size. These packets are discarded
and are then counted by the device.
|
Internal MAC receive errors
|
The number of receive packets discarded
because of an internal MAC sublayer error that is not frame too
long, alignment error, or FCS error. These packets are discarded
and are then counted by the device.
|
Table 10 Interface Counter Statistics
Counter Statistics |
Meaning |
Index
|
ifIndex: "A unique value
for each interface. Its value ranges between 1 and the value of
ifNumber. The value for each interface must remain constant at least
from one re-initialization of the entity's network management system
to the next re-initialization."
|
Type
|
ifType: "The type of interface,
distinguished according to the physical/link protocol(s) immediately
'below' the network layer in the protocol stack. The value set by
the NIC is 6 'ethernet-csmacd'."
|
Mtu
|
ifMtu: "The size of the
largest datagram which can be sent/ received on the interface, specified
in octets. For interfaces that are used for transmitting network
datagrams, this is the size of the largest network datagram that
can be sent on the interface." This field is specified by the driver
and is set to the jumbo buffer size previously described.
|
Speed
|
ifSpeed: "An estimate of
the interface's current bandwidth in bits per second. For interfaces
which do no vary in bandwidth or for those where no accurate estimation
can be made, this object should contain the nominal bandwidth."
|
Admin requested
status
|
ifAdminStatus: "The desired
state of the interface. The testing(3) state indicates that no operational
packets can be passed." The values are:
1 -- Up;
2 -- Down; 3 -- Testing.
This field
is always 1 because the driver does not obtain statistical updates
from the NIC in any other state.
|
Operational
status
|
ifOperStatus: "The current
operational state of the interface. The testing(3) state indicates
that no operational packets can be passed." The values are:
1 -- Up;
2 -- Down; 3 -- Testing.
This field
is always 1 because the driver does not obtain statistical updates
from the NIC in any other state.
|
Last change
|
ifLastChange: "The value
of sysUpTime at the time the interface entered its current operational
state. If the current state was entered prior to the last reinitialization
of the local network management subsystem, then this object contains
a 0 value."
|
Inbound discards
|
ifInDiscards: "The number
of inbound packets which 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
|
ifInErrors: "The number
of inbound packets that contained errors preventing them from being
deliverable to a higher-level protocol."
|
Inbound unknown
protos
|
ifInUnknownProtos: "The
number of packets received via the interface which were discarded
because of an unknown or unsupported protocol."
|
Outbound discards
|
ifOutDiscards: "The number
of outbound packets which 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
|
ifOutErrors: "The number
of outbound packets that could not be transmitted because of errors."
|
Outbound queue
length
|
ifOutQlen: "The length of
the output packet queue (in packets)."
|
Physical address
|
ifPhysAddress: "The interface's
address at the protocol layer immediately 'below' the network layer
in the protocol stack. For interfaces which do not have such an
address (for example, a serial line), this object should contain
an octet string of zero length."
|
Description
|
ifDescr: "A textual string
containing information about the interface. This string should include
the name of the manufacturer, the product name and the version of
the hardware interface." The value set by the NIC is blank.
|
Bytes received
|
ifHCInOctets: "The total
number of octets received on the interface, including framing characters.
This object is a 64-bit version of ifInOctets."
|
Unicast packets
received
|
ifHCInUcastPkts: "The number
of packets, delivered by this sublayer to a higher sublayer, which
were not addressed to a multicast or broadcast address at this sublayer.
This object is a 64-bit version of ifInUcastPkts."
|
Multicast packets
received
|
ifHCInMulticastPkts: "The
number of packets, delivered by this sublayer to a higher sublayer,
which were addressed to a multicast address at this sublayer. For
a MAC layer protocol, this includes both Group and Functional addresses.
This object is a 64-bit version of ifInMulticastPkts."
|
Broadcast packets
received
|
ifHCInBroadcastPkts: "The
number of packets, delivered by this sublayer to a higher sublayer,
which were addressed to a broadcast address at this sublayer. This
object is a 64-bit version of ifInBroadcastPkts." It appears the
NIC does not implement the distinctions between broadcast multicast
and nonbroadcast multicast. So this counter is 0.
|
Bytes sent
|
ifHCOutOctets: "The total
number of octets transmitted out of the interface, including framing
characters. This object is a 64-bit version of ifOutOctets."
|
Unicast packets
sent
|
ifHCOutUcastPkts: "The total
number of packets that higher-level protocols requested be transmitted,
and which were not addressed to a multicast of broadcast address
at this sublayer, including those that were discarded or not sent.
This object is a 64-bit version of ifOutUcastPkts."
|
Multicast packets
sent
|
ifHCOutMulticastPkts: "The
total number of packets that higher-level protocols requested be
transmitted, and which were addressed to a multicast address at
this sublayer, including those that were discarded or not sent.
For a MAC layer protocol, this includes both Group and Functional
addresses. This object is a 64-bit version of ifOutMulticastPkts."
|
Broadcast packets
sent
|
ifHCOutBroadcastPkts: "The
total number of packets that high-level protocols requested be transmitted,
and which were addressed to a broadcast address at this sub-layer,
including those that were discarded or not sent. This ojbect is
a 64-bit version of ifOutBroadcastPkts." The NIC does not implement
the distinction between broadcast multicast and nonbroadcast multicast.
So this counter is 0.
|
Link updown
trap enable
|
ifLinkUpDownTrapEnable:
"Indicates whether linkUp/linkDown traps should be generated for
this interface. By default, this object should have the value enabled
(1) for interfaces which do not operate on 'top' of any other interface
(as defined in the ifStackTable), and disabled (2) otherwise." This
value is set to 2 by the NIC.
|
High speed
status
|
ifHighSpeed: "An estimate
of the interface's current bandwidth in units of 1,000,000 bits
per second. If this object reports a value of 'n', then the speed
of the interface is somewhere in the range of 'n-500,000' to 'n+499,999'.
For interfaces which do not vary in bandwidth or for those where
no accurate estimation can be made, this object should contain the
nominal bandwidth. For a sub-layer which has no concept of bandwidth,
this object should be 0." This value is set to 1000 by the NIC.
|
Promiscuous
mode status
|
ifPromiscuousMode: "This
object has a value of false (2) if this interface only accepts packets/frames
that are addressed to this station. This object has a value of true
(1) when the station accepts all packets/frames transmitted on the
media. The value true (1) is only legal on certain type of media.
If legal, setting this object to a value of true (1) may require
the interface to be reset before becoming effective. The value of
ifPromiscuousMode does not affect the reception of broadcast and
multicast packets/frames by the interface."
|
Connector present status
|
ifConnectorPresent: "This object has
the value 'true (1)' if the interface sublayer has a physical connector
and the value 'false (2)' otherwise."
|
Table 11 Host Commands Statistics
Command |
Meaning |
Host state
commands
|
The number of times the
driver changed the host state. It can be in one of two states, up
or down. The driver issues a host state up command when the first
user starts, and a host state down when the last user stops.
|
FDR filtering
commands
|
Unused.
|
Set receive
producer index commands
|
Unused.
|
Update GENCOMM
statistics commands
|
Unused.
|
Reset jumbo
ring commands
|
Unused.
|
Add mcast address
commands
|
The number of times the
driver issued a multicast address add command to the device to add
a new multicast address to the multicast filtering table. The driver
maintains its own multicast address table and updates the device
whenever its table changes.
|
Del mcast address
commands
|
The number of times the
driver issued a multicast address delete command to the device to
delete a multicast address from the multicast filtering table. The
driver maintains its own multicast address table and updates the
device whenever its table changes.
|
Set promiscuous
mode commands
|
The number of times the
driver enabled or disabled promiscuous receive mode. The driver
issues these commands whenever a user enables or disables promiscous
mode.
|
Link negotiate
commands
|
The number of times the
driver issued a link negotiate command to the device to cause it
to set up the link again. The driver issues this command only when
a device-specific (debug) command is issued via LANCP to explicitly
set a new link value.
|
Set MAC address
commands
|
The number of times the
driver issues a set MAC address command to change the MAC address
of the device. Typically, this is issued by the driver once when
DECnet starts.
|
Clear profile
commands
|
Unused.
|
Set multicast
mode commands
|
The number of times the
driver enabled or disabled all multicast receive mode. The driver
issues these commands whenever a user enables or disables all multicast
mode.
|
Clear statistics
commands
|
The number of clear statistics
commands the driver issued to the device, on device startup. Normally,
there is one clear statistics command for every reset that is done,
plus any device-specific (debug) commands issued via LANCP to explicitly
clear the counters.
|
Set receive
jumbo producer index commands
|
Unused.
|
Set receive
mini producer index commands
|
Unused.
|
Refresh statistics
commands
|
Unused.
|
Unknown commands
|
The number of commands issued by the
driver that were not recognized by the device.
|
Table 15 Ring Counters
Ring Counters |
Meaning |
DMA write ring
full
|
The number of times the
DMA write ring was full.
|
DMA read ring
full
|
The number of times the
DMA read ring was full.
|
Event ring
full
|
The number of times the
device event ring was full.
|
Event producer
ring full
|
The number of times the
DMA write ring was full trying to write either the DMA event or
event producer to host memory.
|
MAC transmit
descriptor ring full
|
The number of times the
MAC transmit descriptor ring was full.
|
Transmit buffer
space full
|
The number of times the
transmit buffer space was full.
|
No more DMA
write descriptors
|
The number of times the
device ran out of DMA write descriptors.
|
No more receive
BDs
|
The number of times the
device ran out of receive buffer descriptors.
|
No space in
return ring
|
The number of times the
device could not place a buffer descriptor in the return ring because
it was full.
|
Send BDs owned
by NIC
|
The number of send buffer
descriptors currently being processed by the device.
|
Receive BDs
owned by NIC
|
The number of standard (1518
bytes) receive buffer descriptors owned by the device.
|
Jumbo receive
BDs owned by NIC
|
The number of jumbo receive
buffer descriptors owned by the device.
|
Mini receive
BDs owned by NIC
|
Unused, always 0.
|
Total receive
BDs owned by NIC
|
The total number of receive
buffer descriptors owned by the device.
|
Jumbo frames
split into multiple standard BDs
|
The number of times a jumbo
frame was split into multiple standard buffer descriptors.
|
Bus hang cleared
|
The number of times an SBus
DMA bug was worked around.
|
Posting an event was delayed
|
The number of times posting an event
was delayed.
|
Table 16 Internal MAC Receive Statistics
Internal MAC Receive Statistics |
Meaning |
Packets dropped
due to late collisions
|
The number of receive packets
dropped because of late collisions. These occur in half-duplex mode only.
|
Packets dropped
because of loss of link
|
The number of receive packets
dropped because of the loss of a link, such as a cable disconnect,
broken cable, NIC hardware failure, or link partner hardware failure.
|
Packets dropped
because of PHY decode errors
|
The number of receive packets
dropped because of PHY decode errors, such as a hardware failure
that generates so much noise that the PHY cannot recognize the signal,
or some other hardware failure.
|
Packets aborted
by MAC because of remote errors
|
The number of receive packets
aborted by MAC because of remote errors, such as receiving a packet smaller
than 64 bytes, a PHY decode error, a collision detected during receipt,
or an error occurring during gigabit half-duplex frame extension.
|
Frames dropped
due to lack of NIC internal resources
|
The number of receive packets
dropped because of a lack of NIC internal resource, such as memory space
or MAC descriptors. This usually occurs because the bus is too slow.
|
Unicast packets
dropped -- DA doesn't match
|
The number of receive packets
dropped because the destination address in the packet does not match our
address. This happens regularly on full-duplex repeaters or during
switch flooding.
|
Multicast packets
dropped -- DA doesn't match
|
The number of receive packets
dropped because the destination address in the packet does not match the
multicast address list.
|
Flow control
packets received
|
The number of flow control
packets received.
|
Packets dropped
because of lack of space
|
The number of receive packets
dropped because of lack of space. This usually occurs because the
bus is too slow.
|
Packets dropped
because of collisions
|
The number of receive packets
dropped because of collisions. This is caused by two nodes sending messages
simultaneously. These occur in half-duplex mode only.
|
MAC receive
attentions
|
The number of MAC receive
attentions, including receive descriptor attention, receive buffer attention,
flow control XON sent, flow control XOFF sent, and FIFO overrun.
|
Link state
change attentions
|
The number of link state
change attentions, including autonegotiation changed, link state
error, and link ready changed.
|
Sync lost attentions
|
The number of sync lost
attentions.
|
Link config
attentions
|
The number of link config
attentions, possibly caused by the link partner changing its link configuration.
This does not indicate hardware failure unless the actual number
of link configuration changes is smaller than this counter.
|
MAC resets
|
The number of times the
MAC was reset. This is caused by link loss and trying to reestablish
the link.
|
Receive BD
attentions
|
Unused.
|
Receive buffer
attentions
|
The number of receive buffer
descriptor attentions which is triggered by the number of received
buffer descriptors reaching a predefined threshold.
|
No frame cleanups
after receive buffer attention
|
The number of times the
receive buffer got cleaned up when it was full and the frame received
count was 0. This indicates that the data in the receive buffer
is garbage and can happen if the remote mode sent continuous error
frames.
|
One frame cleanups
after receive buffer attention
|
The number of times the
receive buffer got cleaned up when it was full and the frame received
count was one. This can happen if the remote node sent continuous
error frames.
|
Multiple frame
cleanups after receive buffer attention
|
The number of times the
receive buffer got cleaned up when it was full and the frame received
count was greater than 1. This can happen if the remote node sent
continuous error frames.
|
Receive buffer
cleanups by time
|
The number of times the
device set up a timer to wait for receive buffer space to be freed
up when the receive buffer was full. This can happen if the remote
node sent continuous error frames.
|
DMA cleanups due to DMA
attentions
|
The number of times the DMA buffer got
cleaned up when the receive buffer was full. This can happen if
the remote node sent continuous error frames.
|