SYS$HELP:LAN_COUNTERS_AND_FUNCTIONS.TXT This document describes the driver-specific counters and functions maintained by the LAN drivers internally. The counters provide more visibility into the operation of the drivers than the standard counters displayed by the LANCP SHOW DEVICE/COUNTERS command. These are called internal counters. The functions allow diagnostic and test operations which are specific to the particular driver and device. These are called device-specific functions. The devices covered in this document are: - DEMNA Ethernet - SGEC/TGEC Ethernet - LANCE Ethernet - DEQNA Ethernet - DEUNA Ethernet - LEMAC Ethernet - 3C589 Ethernet - Tulip Ethernet - 82559 Ethernet - DEGPA Ethernet - Broadcom 5700 Ethernet - Intel 82540 Ethernet - Shared Memory emulated Ethernet - DEMFA FDDI - DEFZA FDDI - PDQ FDDI - TMS380 Token Ring - OTTO ATM - FORE ATM ============= === DEMNA === ============= The DEMNA Ethernet devices are: Device Bus Characteristics ------ --- --------------- DEMNA XMI 10Base5 (thickwire), Ethernet only DEBNI BI 10Base5 (thickwire), Ethernet only DEBNT BI 10Base5 (thickwire), Ethernet + TK50 combo adapter DEBNK BI 10Base5 (thickwire), Ethernet + TK50 combo adapter DEBNA BI 10Base5 (thickwire), Ethernet + TK50 combo adapter DEMNA Internal Counters ----------------------- The DEMNA driver includes driver-specific counters, but does not support the LANCP command to display them. Access to these counters is through SDA with the command SHOW LAN/INTERNAL. DEMNA Device-Specific Counters ------------------------------ The DEMNA driver provides no device-specific functions. ================= === SGEC/TGEC === ================= The SGEC/TGEC Ethernet devices are: Device Platform Characteristics ------ -------- --------------- SGEC VAX 10Base2 (thinwire) TGEC Alpha 10Base2 (thinwire) SGEC/TGEC Internal Counters ----------------------- The SGEC/TGEC driver includes driver-specific counters, but does not support the LANCP command to display them. Access to these counters is through SDA with the command SHOW LAN/INTERNAL. SGEC/TGEC Device-Specific Counters ------------------------------ The SGEC/TGEC driver provides no device-specific functions. ============= === LANCE === ============= The LANCE Ethernet devices are: Device Platform Characteristics ------ -------- --------------- LANCE VAX, Alpha LOM, 10Base2 (thinwire) PMAD VAX, Alpha TURBOchannel NIC, 10Base5 (thickwire) DELTA VAX, Alpha Dual TURBOchannel, 10Base5 (thickwire) DESQA VAX QBUS NIC, 10Base2 (thinwire), 10Base5 (thickwire) KFE52 VAX Fault-tolerant VAX, 10Base2 (thinwire) DE422 Alpha EISA, 10BaseT (UTP), 10Base2 (thinwire) DE200 Alpha ISA, 10Base2 (thinwire), 10Base5 (thickwire) DE201 Alpha ISA, 10BaseT (UTP) DE202 Alpha ISA, 10Base2 (thinwire), 10BaseT (UTP) LANCE Internal Counters ----------------------- The LANCE driver includes driver-specific counters, but does not support the LANCP command to display them. Access to these counters is through SDA with the command SHOW LAN/INTERNAL. LANCE Device-Specific Counters ------------------------------ The LANCE driver provides no device-specific functions. ============= === DEQNA === ============= The DEQNA Ethernet devices are: Device Characteristics ------ --------------- DEQNA Not supported for cluster use. 10Base2 (thinwire), 10Base5 (thickwire) DELQA LANCE-based DEQNA replacement, 10Base2 (thinwire), 10Base5 (thickwire) DEQTA DELQA with new firmware, 10Base2 (thinwire), 10Base5 (thickwire) DEQNA Internal Counters ----------------------- The DEQNA driver includes driver-specific counters, but does not support the LANCP command to display them. Access to these counters is through SDA with the command SHOW LAN/INTERNAL. DEQNA Device-Specific Counters ------------------------------ The DEQNA driver provides no device-specific functions. ============= === DEUNA === ============= The DEUNA Ethernet devices are: Device Characteristics ------ --------------- DEUNA 10Base5 (thickwire) DELUA DEUNA replacement, 10Base5 (thickwire) DEUNA Internal Counters ----------------------- The DEUNA driver includes driver-specific counters, but does not support the LANCP command to display them. Access to these counters is through SDA with the command SHOW LAN/INTERNAL. DEUNA Device-Specific Counters ------------------------------ The DEUNA driver provides no device-specific functions. ============= === LEMAC === ============= The LEMAC Ethernet devices are: Device Characteristics ------ --------------- DE203 10Base2 (thinwire) DE204 10BaseT (UTP) DE205 10Base2 (thinwire), 10Base5 (thickwire), 10BaseT (UTP) LEMAC Internal Counters ----------------------- The LEMAC driver includes driver-specific counters, but does not support the LANCP command to display them. Access to these counters is through SDA with the command SHOW LAN/INTERNAL. LEMAC Device-Specific Counters ------------------------------ The LEMAC driver provides no device-specific functions. ============= === 3C589 === ============= The 3C589 Ethernet devices are: Device Characteristics ------ --------------- 3C589B 10Base2 (thinwire), 10BaseT (UTP) 3C589D 10Base2 (thinwire), 10BaseT (UTP) 3C589 Internal Counters ----------------------- The 3C589 driver includes driver-specific counters, but does not support the LANCP command to display them. Access to these counters is through SDA with the command SHOW LAN/INTERNAL. 3C589 Device-Specific Counters ------------------------------ The 3C589 driver provides no device-specific functions. ============= === Tulip === ============= The Tulip Ethernet devices are: Device Bus Characteristics ------ --- --------------- DE425 EISA 10Base2 (thinwire), 10Base5 (thickwire), 10BaseT (UTP) DE434 PCI 10BaseT (UTP) DE435 PCI 10Base2 (thinwire), 10Base5 (thickwire), 10BaseT (UTP) DE436 PCI Quad DE435 DE450 PCI 10Base2 (thinwire), 10Base5 (thickwire), 10BaseT (UTP) DE500-XA PCI 10BaseT (UTP), 100BaseTX (UTP), auto-neg not supported DE500-AA PCI 10BaseT (UTP), 100BaseTX (UTP), auto-neg supported DE500-BA PCI 10BaseT (UTP), 100BaseTX (UTP), auto-neg supported DE500-FA PCI 100BaseFX (multimode fiber), auto-neg not supported DE504-BA PCI Quad DE500-BA P2SE PCI Combo SCSI + DE434 P2SE+ PCI Combo SCSI + DE500-XA 21142 PCI LOM, Digital Personal Workstation, all modes depending on MAU options, auto-negotiation supported 21143 PCI LOM, Alpha Professional Workstation XP900/XP1000, all modes depending on MAU options, auto-neg. supported A5230A PCI DE500-BA equivalent A5506B PCI DE504-BA equivalent Tulip Driver Internal Counters ------------------------------ The LANCP command SHOW DEVICE/INTERNAL_COUNTERS EWA displays the entire set of internal counters maintained by the Tulip driver. Some counters are special debug counters. These are not displayed unless the additional qualifier /DEBUG is specified. Counters that are zero are not displayed unless the additional qualifier /ZERO is specified. The LAN$SDA SDA extension also displays the complete set of internal counters with the command LAN INTERNAL/DEVICE=EWA. The definition of these counters may change from one driver version to the next. The counters are: Driver version Driver version numbered 1...n that usually is identical to the x-n ID displayed by an ANALYZE/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. Driver flags Driver flags including the following bits: - Map_ALL - All transmit and receive buffers are described using map registers. - CSR6 - CSR6 needs to be written. - Setup - A setup buffer needs to be transmitted. - Hash - Hash filtering is in use. - Stop - The Tulip chip is stopping. - Autosense - Autosense is selected. - Auto-neg - Auto-negotiation is selected. - PDet - Parallel Detection was used to determine speed. - HdxOper - Tulip chip is in half-duplex mode. - FdxOper - Tulip chip is in full-duplex mode. - 10mbit - Tulip chip is running at 10 megabits/second. - 100mbit - Tulip chip is running at 100 megabits/second. - SoftError - Soft error handling is in progress (a reset of the chip without telling applications, as compared to a hard error for which applications are notified that error recovery is in progress). - LWalign - Unaligned transmit buffers are being copied to longword aligned buffers. - AUI - AUI mode is selected. - BNC - BNC mode is selected. - UTP - UTP mode is selected. - Phy_Chip - An external PHY chip has been detected. - SMC_BNC - The BNC autosense selection has been made for this SMC NIC. - P2SE_BNC - The BNC autosense selection has been made for this P2SE combo card. - More_Rcv - A larger quantity of receive buffers have been enabled. - FailoverInProgress - A failover operation is in progress. - FdxEna - Full-duplex mode is enabled. Device type Device type, one of the following: - DE435_PASS1 - DE425, DE434, DE435, or DE436 NIC. - DE435_PASS2 - DE425, DE434, DE435, or DE436 NIC. - DE435_PASS3 - DE425, DE434, DE435, or DE436 NIC. - DC21040 - Embedded Tulip chip (LOM) on the AlphaServer 2100 system. - DC21041 - DE450 NIC. - DC21140 - DE500-XA NIC. - DC21140A - DE500-AA or P2SE+ NIC. - DE500BA - DE500-BA NIC. - DE500FA - DE500-FA NIC. - MIATA - Embedded chip on the Digital Personal Workstation (PWS). - MAU - A 10Base2 (thinwire), 10Base5 (thickwire), or 10BaseT (UTP) option has been selected (as compared to the default UTP connection on the back of the system). - DC21142 - Some Miata chips. - DC21143 - DE500-BA or some Miata chips. - TSUNAMI - Embedded 21143 chip (LOM) on the XP900/1000. - HP-SINGLE - A5230A NIC. Link status Current link state, one of: - Undefined - Link state not determined yet or not applicable to this Tulip chip. - LinkDown - Link is down, disconnected from the network. - LinkWait - Link is down and we are waiting a few seconds before doing link down handing in case it comes back up. - LinkUp - Link is up, connected to the network, ready to transmit and receive. Link down timer Number of seconds before doing a transition from LinkWait to LinkDown. Link transition count Total number of link state up and link state down events. Tulip reset count Number of times the driver has reset the Tulip chip. Transmit timeouts Number of times the driver has timed out a transmit and has reset the Tulip chip and completed outstanding I/O requests with error status. Transmit underflows Number of transmits that failed because the Tulip chip stopped transmitting in the middle of a packet because it ran out of data (DMA from the transmit buffer in host memory took too long). Transmit length errors Number of transmits that exceeded the 1518 byte limit and were therefore truncated by the Tulip chip. Receive overflows Number of receives that failed because the Tulip could not DMA the received packet to host memory before its internal FIFO was overrun. Receive collisions seen Number of receives that failed because the packet was damaged by a collision that occurred after the first 64 bytes of the packet, i.e., a late collision. Calls to TU_START_TULIP Number of times the Tulip chip was started. Setup buffers issued Number of setup buffers sent to the Tulip chip for initialization purposes. CSR6 changes Number of times CSR6 (Command Register) was written for initialization purposes. PTE to PFN translations 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. Original CSR13 contents Original contents of CSR13 (SIA Connectivity Register), shows how the console or boot driver had set up the Tulip chip. Transmit copies (too many segments) Number of buffers copied because the transmit request contained so many segments. Transmit failures (too few segments) Number of transmits that failed because the transmit request did not include enough data. Longword align workarounds (1 segment) Number of transmits copied to a longword aligned buffer to work around a Tulip chip hardware bug, where there was only one transmit segment. Loss of carrier workaround Number of times the Tulip chip indicated that a loss of carrier error occurred on a transmit when it really didn't. Transmit multiple workarounds Number of multi-segment transmits which were done to a workaround buffer, which includes transmits with too many segments or multi- segment longword aligned workarounds. Transmit multiple addresses Number of transmits descriptors which required multiple buffer addresses to describe, i.e., a transmit segment crossed a page boundary and was not physically contiguous. Device interrupts Number of times the driver interrupt service routine was called. BNC selections done Number of times a 10Base5 to 10Base2 autosense selection (applies to the DE450 only). FDX selection changes Number of duplex selection changes done (applies if autosense mode is selected only). Inits (not using map registers) Number of unit initializations executed; since unit initialization is only executed once, this counter will be one, if map registers were not used to map the device data structures. Inits (using map registers) Number of unit initializations executed; since unit initialization is only executed once, this counter will be one, if map registers were used to map the device data structures. Transmits issued (using map registers) Number of transmit buffers which described to the Tulip chip using map registers, because part of the request existed in memory outside the DMA window. Receives issued (using map registers) Number of receive buffers which described to the Tulip chip using map registers, because part of the request existed in memory outside the DMA window. Soft errors Number of times errors were recovered in the driver by resetting and reinitializing the Tulip chip, without notification of user applications. Duplex mode mismatches Number of times a potential duplex mode mismatch was detected by checking for transmit and receive errors. Rescheduled forks (fork time limit) Number of times that transmit and receive processing was suspended and the fork process rescheduled, to allow fair usage of the CPU by other drivers. Auto-negotiations done Number of auto-negotiation sequences done. Auto-negotiation enable (1 if so) Auto-negotiation enable flag. Auto-negotiation state Current auto-negotiation state. Auto-negotiation link state counter Counts half-second increments during the auto-negotiation process. Autosense state Current autosense state. Saved speed setting Speed setting saved before auto-negotiation is done. Saved duplex setting Duplex setting saved before auto-negotiation is done. Link partner ability Link partner ability mask recorded the last time auto-negotiation was done. LAN_FLAGS system parameter Current value of the LAN_FLAGS system parameter. Transmit time limit Transmit time limit in seconds after which a timeout is declared. Timer routine interval Resolution of the transmit timer (the real timeout is Limit + Interval). Autosense failure switches Number of times remaining to do an autosense failover (starts at 1). Time autoselection timer started Time that the last autosense was initiated. Current time (EXE$GL_ABSTIM_TICS) Current time (that these counters have been read). Last duplex mode mismatch reported Time that the last duplex mode mismatch was reported. Previous CRC or late collision error Time of the last CRC or late collision error was recorded. Fork Delay (after scheduled) To help determine whether the buffering requirements of the driver and the Tulip 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 Tulip are sufficient for normal operation. If packets are being discarded, the buffering should be increased until the number of packets lost is minimal. Lost Packets after Fork Delay The Tulip records how many packets are lost after it runs out of receive buffers. When the driver processes each receive packet, it also reads this 'missed packet' counter to identify the fork delay value resulting in the most packets being lost. Minimum buffers requested Minimum number of receive buffers as set by default or by management request (setmode or LANCP command). This is used to determine the "Current minimum limit". Maximum buffers requested Maximum number of receive buffers as set by default or by management request (setmode or LANCP command). This is used to determine the "Current maximum limit". Current minimum limit Minimum number of receive buffers as determined by the driver and by management request, "Minimum buffers requested". The driver will not allow the number of receive buffers in its receive queues to drop below this value. This does not include receive buffers handed up to applications (and not yet returned). Current maximum limit Maximum number of receive buffers as determined by the driver and by management request, "Maximum buffers requested". The driver will deallocate receive buffers until the number allocated does not exceed than this maximum. When applications return receive buffers, the number may exceed this maximum at which point they are deallocated. Note that the driver allows this maximum to be exceeded somewhat to limit allocation and deallocation activity. See "Target number of buffers maximum" below. Current number of buffers Current number of receive buffers owned by the driver. Target number of buffers Desired number of receive buffers. As receive activity does not result in lost packets, this number is slowly decreased toward the "Current minimum limit". If packets are lost this number is sharply increased toward the "Current maximum limit". When the driver allocates receive buffers, it allocates them until reaching this target number. Target number of buffers maximum Maximum desired number of receive buffers. When an application returns a buffer to the driver, if the current number does not exceed this target maximum, the buffer is kept by the driver. Otherwise, it is deallocated. Driver Messages Console messages issued by the driver. Tulip Device-Specific Functions ------------------------------- The LANCP command SET DEVICE/DEVICE_SPECIFIC=(FUNCTION="FUNC",VALUE=(V1,V2,...)) provides a mechanism to issue device-specific functions to the Tulip driver. Some functions are common to many LAN drivers. But most are useful in a diagnostic context and not necessarily appropriate for formal inclusion in the LANCP command repertoire. Note that the function name is case sensitive and is always 4 characters in length. The command requires the SYSPRV privilege. The definition of these functions may change from one driver version to the next. The functions are: DEVICE_SPECIFIC=FUNCTION="CCOU" Clear the driver counters. This is useful in debug or test scenarios. DEVICE_SPECIFIC=FUNCTION="MAPR" Force all transmit and receive buffers to be described to the Tulip chip using map registers. If enabled, this setting is displayed in the driver flags in the driver internal counters. DEVICE_SPECIFIC=FUNCTION="SOFT" Force a non-fatal, i.e., soft error. The Tulip chip is stopped and restarted. DEVICE_SPECIFIC=(FUNCTION="FIL1",VALUE=(32bits,16bits)) DEVICE_SPECIFIC=(FUNCTION="FIL2",VALUE=(32bits,16bits)) DEVICE_SPECIFIC=(FUNCTION="FIL3",VALUE=(32bits,16bits)) DEVICE_SPECIFIC=(FUNCTION="FIL4",VALUE=(32bits,16bits)) Specify a receive or transmit packet trace address for use in driver tracing. If the source or destination address does not match one of the four filter addresses, the packet data is not traced. For example, to filter on addresses AA-00-04-00-EF-4F and AB-00-04-01-D2-01, issue the following LANCP commands: $ mc lancp set device ewa/device_specific=(function="FIL1",value=(%x000400aa,%x4fef)) $ mc lancp set device ewa/device_specific=(function="FIL2",value=(%x010400ab,%x01d2)) DEVICE_SPECIFIC=FUNCTION="SYSI" Send the periodic System ID messages now instead of waiting until expiry of the 8-12 minute System ID timer. This is a convenient way to get the driver to send 2 packets. DEVICE_SPECIFIC=FUNCTION="STOP" Stop the Tulip chip, thereby inducing a transmit timeout on the next transmit request. DEVICE_SPECIFIC=(FUNCTION="FXMT",VALUE=ticks) Override the default transmit timer. The time value is in timer ticks and is limited to the range 2..40. If the fast transmit timer is enabled, each tick is 0.25 seconds, otherwise, it is 1 second. The current setting is displayed in the driver internal counters. ============= === 82559 === ============= The 82559 Ethernet devices are: Device Characteristics ------ --------------- DE600-AA 10BaseT (UTP), 100BaseTX (UTP) DE602-AA Dual DE600-AA DE602-BA Dual DE600-AA DE602-BB Dual DE600-AA DE602-TA Dual DE600-AA daughter card for the DE602 DE602-FA Dual 100BaseFX (multimode fiber) daughter card for the DE602 Trifecta Combo SCSI + DE600 82559ER LOM, 10BaseT (UTP), 100BaseTX (UTP) 82559 LOM, 10BaseT (UTP), 100BaseTX (UTP) 82559 Driver Internal Counters ------------------------------ The LANCP command SHOW DEVICE/INTERNAL_COUNTERS EIA displays the entire set of internal counters maintained by the 82559 driver. Some counters are special debug counters. These are not displayed unless the additional qualifier /DEBUG is specified. Counters that are zero are not displayed unless the additional qualifier /ZERO is specified. The LAN$SDA SDA extension also displays the complete set of internal counters with the command LAN INTERNAL/DEVICE=EIA. The definition of these counters may change from one driver version to the next. The counters are: Driver version (X-n) Driver version numbered 1...n that usually is identical to the x-n ID displayed by an ANALYZE/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=EIA in the quadword driver version field. Driver flags Driver flags including the following bits: - Auto - Auto-negotiation is enabled. - PDet - Parallel Detection was used to select speed. - 10mbit - 82559 chip is running at 10 megabits/second. - 100mbit - 82559 chip is running at 100 megabits/second. - Hdx - 82559 chip is in half-duplex mode. - Fdx - 82559 chip is in full-duplex mode. - Flow - Flow control is enabled for auto-negotiation. - Prm - 82559 chip is in promiscuous mode. - AMC - 82559 chip is in all-multicast mode. - Map_All - all transmit and receive buffers are described using map registers. - CSR_IO - 82559 CSRs are mapped in I/O space. - CSR_MEM - 82559 CSRs are mapped in memory space. - 100TX - The media type is UTP. - 100FX - The media type is multimode fiber. - CFG_Pend - A configuration buffer request is pending. - RFlow - The link partner supports flow control. - TXFlow - Transmit flow control is enabled. - RXFlow - Receive flow control is enabled. Device ID (subvendor ID<31:16>) Device type, one of the following: - NC3121 (Curveball) - NC3123 (Hascal) - NC3131 (Tornado) - NC3132 (Thunder) - NC3133 (El Nino) - NC3134 - NC3135 - Embedded 82559ER - Unknown - NC3120 - NC3122 Dual - Embedded 82558 (RX2600) LAN_FLAGS system parameter Current value of the LAN_FLAGS system parameter. Soft errors Number of times errors were recovered in the driver by resetting and reinitializing the 82559 chip, without notification of user applications. Hard errors Number of errors that resulted in notification of user applications. Duplex mode mismatches Number of times a potential duplex mode mismatch was detected by checking for transmit and receive errors. Link state Current link state, one of: - Undefined - Link state not determined yet or not applicable to this 82559 chip. - LinkDown - Link is down, disconnected from the network. - LinkWait - Link is down and we are waiting a few seconds before doing link down handing in case it comes back up. - LinkUp - Link is up, connected to the network, ready to transmit and receive. Link transitions Total number of link state up and link state down events. Auto-negotiation resets Number of times auto-negotiation was restarted. Auto-negotiation state Current auto-negotiation state. Rescheduled forks (fork time limit) Number of times that transmit and receive processing was suspended and the fork process rescheduled, to allow fair usage of the CPU by other drivers. Device interrupts Number of times the driver interrupt service routine was called. Device resets done Number of times the driver has reset the 82559 chip. CXB transmits Number of transmits issued via the QIO interface. Inits (not using map registers) Number of unit initializations executed; since unit initialization is only executed once, this counter will be one, if map registers were not used to map the device data structures. Inits (using map registers) Number of unit initializations executed; since unit initialization is only executed once, this counter will be one, if map registers were used to map the device data structures. Receive buffers mapped Number of receive buffers which were described to the device using map registers, because part of the request existed in memory outside the DMA window. Transmit segments mapped Number of transmit buffer segments which were described to the device using map registers, because part of the request existed in memory outside the DMA window. Page boundary transmits Number of transmit buffer segments that crossed a page boundary. PTE to PFN translations 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. PTE to PFN translations (2nd page) Number of PTE to PFN translations where the segment crossed a page boundary. Chained VCRP transmits Number of transmit requests consisting of more than one buffer segment. Transmit errors (too few segments) 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) Number of transmit requests that exceeded the maximum number of chain segments that the driver can handle; the driver then copied some of them to a temporary buffer so that it could transmit the packet. Transmit zero length DCBEs Number of chained transmit request buffer segments that contained no data. Transmit timeouts Number of times the driver has timed out a transmit and has reset the 82559 chip and completed outstanding I/O requests with error status. Transmits queued Number of transmit requests queued because the link was not available or because too many transmit requests were already outstanding. Control commands done Number of control commands issued to the 82559 chip, i.e., configuration and address filtering commands. Receive lockups Number of times the driver issued a start receiver command to the 82559 chip and it didn't start after 100 milliseconds, resulting in the need to reset and restart the chip. Last duplex mode mismatch reported Time that the last duplex mode mismatch was reported. Previous CRC or late collision error Time of the last CRC or late collision error was recorded. Transmit time limit Transmit time limit in seconds after which a timeout is declared. Timer routine interval Resolution of the transmit timer (the real timeout is Limit + Interval). Good transmit frames Number of packets transmitted successfully, tallied by the 82559 chip. Transmit maximum collisions Number of transmits that failed due to excessive collisions, tallied by the 82559 chip. These occur in half-duplex mode only. Transmit late collisions Number of transmits that failed because a collision was detected longer than 512 bit-times into the transmission of the packet, tallied by the 82559 chip. These occur in half-duplex mode only. Transmit underruns Number of transmits that failed because the 82559 chip could not DMA data from the transmit buffers fast enough, tallied by the 82559 chip. Transmit lost carrier Number of transmits that failed because the 82559 chip detected loss of carrier during the transmission, tallied by the 82559 chip. Transmit deferred Number of successful transmits that were delayed because the medium was busy, tallied by the 82559 chip. These occur in half-duplex mode only. Transmit single collisions Number of successfully transmitted packets which encountered exactly one collision during transmission (successful after retransmit), tallied by the 82559 chip. These occur in half-duplex mode only. Transmit multiple collisions Number of successfully transmitted packets that encountered more than one collision during transmission (successful after multiple retransmits), tallied by the 82559 chip. These occur in half-duplex mode only. Transmit total collisions Total number of collisions detected on transmit, tallied by the 82559 chip. Transmit flow control pause Number of flow control pause frames transmitted by the 82559 chip, tallied by the 82559 chip. Good receive frames Number of receive packets delivered to the LAN driver successfully, tallied by the 82559 chip. Receive crc errors Number of packets received with CRC errors and that are an integral number of bytes long, tallied by the 82559 chip. These packets are discarded. Receive alignment errors Number of packets received with CRC errors and that are not an integral number of bytes long, tallied by the 82559 chip. These packets are discarded. Receive resource errors Number of receive packets discarded due to lack of receive buffers, tallied by the 82559 chip. Receive overrun errors Number of receive packets discarded because the internal 82559 receive FIFO overflowed, i.e., the 82559 was not able to DMA receive data to host memory fast enough, tallied by the 82559 chip. Receive collision detect errors Number of receive packets discarded because a collision occurred during reception, tallied by the 82559 chip. Receive short frame errors Number of receive packets that were shorter than 64 bytes (and therefore discarded), tallied by the 82559 chip. Receive flow control pause Number of flow control pause frames received by the 82559 chip, tallied by the 82559 chip. Receive flow control unsupported Number of flow control frames received with an unsupported type, tallied by the 82559 chip. Number of rus state updates Number of times the 82559 driver checked and updated the 82559 chip receive unit state. Number of rus idle state Number of times the 82559 chip receive unit was in the idle state. Number of rus ready state Number of times the 82559 chip receive unit was in the ready state. Number of rus ready state with no RBDs Number of times the 82559 chip receive unit was in the ready state but with no remaining buffer descriptors (RBDs). Number of rus no resources Number of times the 82559 chip receive unit was in the no resources state discarding incoming receive packets. Number of rus fork instead of restart Number of times the driver delayed an 82559 chip restart to do another receive completion check via a fork. RX fifo limit (128 bytes - 8n, 1 = 120) Bytes remaining in the receive FIFO before the 82559 chip will request the bus. The default value is 8, i.e., 64 bytes. Diagnostic self-test status Results of selt-test done by the 82559 chip during driver unit initialization. Fork Delay (after scheduled) To help determine whether the buffering requirements of the driver and the 82559 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 82559 are sufficient for normal operation. If packets are being discarded, the buffering should be increased until the number of packets lost is minimal. Transmit Time To help understand the operation of the system, driver, and 82559 chip, the driver records the time that each transmit buffer is given to the 82559 chip. When the transmit completes, the driver calculates the elapsed time, creating a histogram of transmit times from 10 to 310 milliseconds. Minimum buffers requested Minimum number of receive buffers as set by default or by management request (setmode or LANCP command). This is used to determine the "Current minimum limit". Maximum buffers requested Maximum number of receive buffers as set by default or by management request (setmode or LANCP command). This is used to determine the "Current maximum limit". Current minimum limit Minimum number of receive buffers as determined by the driver and by management request, "Minimum buffers requested". The driver will not allow the number of receive buffers in its receive queues to drop below this value. This does not include receive buffers handed up to applications (and not yet returned). Current maximum limit Maximum number of receive buffers as determined by the driver and by management request, "Maximum buffers requested". The driver will deallocate receive buffers until the number allocated does not exceed than this maximum. When applications return receive buffers, the number may exceed this maximum at which point they are deallocated. Note that the driver allows this maximum to be exceeded somewhat to limit allocation and deallocation activity. See "Target number of buffers maximum" below. Current number of buffers Current number of receive buffers owned by the driver. Target number of buffers Desired number of receive buffers. As receive activity does not result in lost packets, this number is slowly decreased toward the "Current minimum limit". If packets are lost this number is sharply increased toward the "Current maximum limit". When the driver allocates receive buffers, it allocates them until reaching this target number. Target number of buffers maximum Maximum desired number of receive buffers. When an application returns a buffer to the driver, if the current number does not exceed this target maximum, the buffer is kept by the driver. Otherwise, it is deallocated. Driver Messages Console messages issued by the driver. 82559 Device-Specific Functions ------------------------------- The LANCP command SET DEVICE/DEVICE_SPECIFIC=(FUNCTION="FUNC",VALUE=(V1,V2,...)) provides a mechanism to issue device-specific functions to the 82559 driver. Some functions are common to many LAN drivers. But most are useful in a diagnostic context and not necessarily appropriate for formal inclusion in the LANCP command repertoire. Note that the function name is case sensitive and is always 4 characters in length. The command requires the SYSPRV privilege. The definition of these functions may change from one driver version to the next. The functions are: DEVICE_SPECIFIC=FUNCTION="CCOU" Clear the driver counters. This is useful in debug or test scenarios. DEVICE_SPECIFIC=FUNCTION="MAPR" Force all transmit and receive buffers to be described to the 82559 chip using map registers. If enabled, this setting is displayed in the driver flags in the driver internal counters. DEVICE_SPECIFIC=FUNCTION="SOFT" Force a non-fatal, i.e., soft error. The 82559 chip is stopped and restarted. DEVICE_SPECIFIC=(FUNCTION="FIL1",VALUE=(32bits,16bits)) DEVICE_SPECIFIC=(FUNCTION="FIL2",VALUE=(32bits,16bits)) DEVICE_SPECIFIC=(FUNCTION="FIL3",VALUE=(32bits,16bits)) DEVICE_SPECIFIC=(FUNCTION="FIL4",VALUE=(32bits,16bits)) Specify a receive or transmit packet trace address for use in driver tracing. If the source or destination address does not match one of the four filter addresses, the packet data is not traced. For example, to filter on addresses AA-00-04-00-EF-4F and AB-00-04-01-D2-01, issue the following LANCP commands: $ mc lancp set device eia/device_specific=(function="FIL1",value=(%x000400aa,%x4fef)) $ mc lancp set device eia/device_specific=(function="FIL2",value=(%x010400ab,%x01d2)) DEVICE_SPECIFIC=FUNCTION="SYSI" Send the periodic System ID messages now instead of waiting until expiry of the 8-12 minute System ID timer. This is a convenient way to get the driver to send 2 packets. DEVICE_SPECIFIC=FUNCTION="STOP" Stop the 82559 chip, thereby inducing a transmit timeout on the next transmit request. DEVICE_SPECIFIC=(FUNCTION="FXMT",VALUE=ticks) Override the default transmit timer. The time value is in timer ticks and is limited to the range 2..40. If the fast transmit timer is enabled, each tick is 0.25 seconds, otherwise, it is 1 second. The current setting is displayed in the driver internal counters. DEVICE_SPECIFIC=(FUNCTION="RFIF",VALUE=fifovalue) For receive DMA, override the number of bytes in the FIFO remaining before requesting the bus, to DMA the data in the FIFO to host memory. The default is 8. The current setting is displayed in the driver internal counters. DEVICE_SPECIFIC=(FUNCTION="RSTA",VALUE=timevalue) Avoid giving receive buffers to the 82559 chip a portion of each 2.55 second time period. The time period is defined as the low byte of the current time (EXE$GL_ABSTIM_TICS) less than the starvation time value specified. EXE$GL_ABSTIM_TICS is the current system uptime in 10 millisecond units. For example, setting a starvation value of 50 avoids giving buffers to the 82559 chip for the first 500 milliseconds of each 2.55 second period. A value of 200 starves the 82559 chip for 2 seconds of every 2.55 second period. This is function is useful when investigating application or device behavior under receive buffer starvation conditions. DEVICE_SPECIFIC=(FUNCTION="XSTA",VALUE=timevalue) Delay completion of the next transmit request for the time specified in 10 millisecond units. Since transmits are completed in order, this delays all transmit completion until after the delay. When the delay is completed, the starvation time value is cleared. If the value is set too high, another device-specific function can be issued to change it. This is function is useful when investigating application behavior when transmit completion is delayed. DEVICE_SPECIFIC=(FUNCTION="WAIT",VALUE=timevalue) Wait the specified time in nanoseconds, at IPL 8 with the driver port lock held. This is a convenient way to introduce a delay at IPL 8. DEVICE_SPECIFIC=FUNCTION="AUTO" Restarts auto-negotiation. DEVICE_SPECIFIC=(FUNCTION="MWIN",VALUE=flagvalue) Set the PCI memory write and invalidate feature of the 82559 chip. Only the low bit of the value is used, 0 to disable the feature, 1 to enable it. The current setting is displayed in the driver internal counters. DEVICE_SPECIFIC=(FUNCTION="RALI",VALUE=flagvalue) Set the DMA read alignment feature of the 82559 chip. Only the low bit of the value is used, 0 to disable the feature, 1 to enable it. If enabled, the 82559 chip attempts to align read DMA on cache block boundaries. The current setting is displayed in the driver internal counters. DEVICE_SPECIFIC=(FUNCTION="WALI",VALUE=flagvalue) Set the DMA write alignment feature of the 82559 chip. Only the low bit of the value is used, 0 to disable the feature, 1 to enable it. If enabled, the 82559 chip attempts to align write DMA on cache block boundaries. The current setting is displayed in the driver internal counters. DEVICE_SPECIFIC=FUNCTION="OMSG" Console messages are displayed by the driver during initialization, auto-negotation, and link handling. But the driver limits the total number of messages displayed. This function resets the count, so additional messages are displayed. ============= === DEGPA === ============= The DEGPA Ethernet devices are: Device Characteristics ------ --------------- DEGPA-SA 1000BaseSX (multimode fiber) DEGPA-TA 10BaseT (UTP), 100BaseTX (UTP), 1000BaseT (UTP) DEGPA Driver Internal Counters ------------------------------ The LANCP command SHOW DEVICE/INTERNAL_COUNTERS displays the entire set of internal counters maintained by the DEGPA driver. Some counters are special debug counters. These are not displayed unless the additional qualifier /DEBUG is specified. Counters that are zero are not displayed unless the additional qualifier /ZERO is specified. The LAN$SDA SDA extension also displays the complete set of internal counters with the command LAN INTERNAL/DEVICE=EWA. The definition of these counters may change from one driver version to the next. The counters are: Device name Name of the DEGPA device. Driver timestamp Compilation timestamp of the driver. Driver version Driver version numbered 1...n that usually is identical to the x-n ID displayed by an ANALYZE/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 Version number in hexadecimal, read from right to left. Device interrupts Number of times the driver interrupt service routine was called. Events completed Number of events completed from the event ring, such as link state changes, statistics updates, multicast address changes. Link transitions Number of link state up and link state down events. Transmit timeouts 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 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 Number of times the driver has reset the device. Inits initated Number of times the driver initiated the device initialization procedure (done at the end of unit initialization and after every device reset and reinitialization). Inits (not using map registers) Number of unit initializations executed; since unit initialization is only executed once, this counter will be one, if map registers were not used to map the device data structures. Inits (using map registers) Number of unit initializations executed; since unit initialization is only executed once, this counter will be one, if map registers were used to map the device data structures. User change requests 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 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 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) 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) Number of transmit requests that exceeded the maximum number of chain segments that the driver can handle; the driver then copied some of them to a temporary buffer so that it could transmit the packet. Jumbo transmits issued Number of transmit requests with a packet length exceeding 1514 bytes, excluding CRC. Transmits issued (using map registers) 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 Number of jumbo receive buffers allocated and given to the device. Receives issued (using map registers) 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 Number of times errors were recovered in the driver by resetting and reinitializing the device, without notification of user applications. Duplex mode mismatches Number of times a potential duplex mode mismatch was detected by checking for transmit and receive errors. Commands outstanding Number of commands outstanding to the device. Note that this count is adjusted when a command is about to be issued and there are no free command entries, i.e., it represents commands that most likely have been completed by the device, but the driver hasn't freed up the completed entries for reuse yet. Commands queued Number of commands issued to the device when the maximum number was outstanding so the driver had to verify completion of the outstanding commands before queuing or issuing the request. Command pending mask Commands that the driver has not yet issued to the device. Invalid command Event code of the last invalid or unimplemented command request. Unexpected event Event code of the last unrecognized command request. Rescheduled forks 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 Number of 1518-byte receive buffers owned by the device. Standard receive buffer deallocations 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) Number of large receive buffers owned by the device. Jumbo receive buffers (minimum) Minimum number of large 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 Number of jumbo receive buffer allocations done by the driver. Jumbo receive buffer deallocations Number of large buffer deallocations done by the driver because the number of outstanding buffers exceeded the maximum number allowed by the driver. Standard buffer size (bytes) Size of the standard receive buffers, 1518 bytes including header and CRC, plus the overhead of the receive buffer structure (640 bytes). Standard packet size (bytes) This is the Ethernet packet size (1518 bytes). Jumbo buffer size (bytes) 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. For OpenVMS V7.3-2 and later the buffer size is 9018 plus 640 bytes of overhead, rounded up to the next 64-byte boundary, to accommodate the full jumbo packet size. Jumbo packet size (bytes) This is the jumbo packet size (9018 bytes). Requested speed Speed requested by the driver. Requested link value Link control bits set by the driver to use during link initialization. Current link state Current link state determined by the device. LAN_FLAGS system parameter Current value of the LAN_FLAGS system parameter. Jumbo packets Size of jumbo frames. 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 auto negotiation 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. More receive buffers Set if more receive buffers have been enabled, currently unused. DMA width (bits) Displays the result of the determination by the device whether it is in a 32-bit or 64-bit PCI bus. BUS speed (mhz) Displays the result of the determination of the PCI bus speed by the device. Current PCI state Current value of the PCI state register which controls the DMA hardware and other PCI characteristics. Transmit coalesce value Transmit interrupt delay (usec) Transmit interrupts are generated every n "coalesce value" transmit completions, but no later than n "interrupt delay" microseconds after transmit completion. Receive coalesce value Receive interrupt delay (usec) Receive interrupts are generated every n "coalesce value" receive completions, but no more than n "interrupt delay" microseconds after receipt of a packet. 4GB workaround buffer in use flag Set if the 4GB workaround buffer is in use. The DEGPA cannot transmit across a 4 gigabyte boundary in memory. If the driver encounters such a transmit request, it copies the transmit packet to a workaround buffer and transmits the workaround buffer. 4GB workarounds done Number of 4GB workarounds done for transmit packets. 4GB workaround buffers orphaned Number of receive buffers which crossed a 4 gigabyte boundary. The driver orphans these buffers to prevent their use (allocates and never deallocates). Receive return ring workarounds On very rare occasions, the DEGPA does not update a receive return ring pointer correctly. The driver detects this condition and resets the device to clear the condition and continue. This is the number of times the workaround was done. Current time (EXE$GL_ABSTIM_TICS) Current time in 10-milliseconds ticks of the counters request from LANCP. Statistics time (EXE$GL_ABSTIM_TICS) Time in 10-millisecond ticks of the last statistics update from the device. Last duplex mode mismatch reported Time that the last duplex mode mismatch was reported. Previous CRC or late collision error Time of the last CRC or late collision error was recorded. Transmit time limit Transmit time limit in seconds after which a timeout is declared. Timer routine interval Resolution of the transmit timer (the real timeout is Limit + Interval). Fork Delay (after scheduled) To help determine whether the buffering requirements of the driver and the DEGPA 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 DEGPA are sufficient for normal operation. If packets are being discarded, the buffering should be increased until the number of packets lost is minimal. Transmit Time To help understand the operation of the system, driver, and DEGPA, the driver records the time that each transmit buffer is given to the DEGPA. When the transmit completes, the driver calculates the elapsed time, creating a histogram of transmit times from 10 to 310 milliseconds. Minimum buffers requested Minimum number of receive buffers as set by default or by management request (setmode or LANCP command). This is used to determine the "Current minimum limit". Maximum buffers requested Maximum number of receive buffers as set by default or by management request (setmode or LANCP command). This is used to determine the "Current maximum limit". Current minimum limit Minimum number of receive buffers as determined by the driver and by management request, "Minimum buffers requested". The driver will not allow the number of receive buffers in its receive queues to drop below this value. This does not include receive buffers handed up to applications (and not yet returned). Current maximum limit Maximum number of receive buffers as determined by the driver and by management request, "Maximum buffers requested". The driver will deallocate receive buffers until the number allocated does not exceed than this maximum. When applications return receive buffers, the number may exceed this maximum at which point they are deallocated. Note that the driver allows this maximum to be exceeded somewhat to limit allocation and deallocation activity. See "Target number of buffers maximum" below. Current number of buffers Current number of receive buffers owned by the driver. Target number of buffers Desired number of receive buffers. As receive activity does not result in lost packets, this number is slowly decreased toward the "Current minimum limit". If packets are lost this number is sharply increased toward the "Current maximum limit". When the driver allocates receive buffers, it allocates them until reaching this target number. Target number of buffers maximum Maximum desired number of receive buffers. When an application returns a buffer to the driver, if the current number does not exceed this target maximum, the buffer is kept by the driver. Otherwise, it is deallocated. --------------- MAC Statistics (RFC 1643) --------------- Alignment errors 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 Number of packets received with CRC errors and that are an integral number of bytes long. These packets are discarded and then are counted by the device. Single collisions Number of successfully transmitted packets which encountered exactly one collision during transmission (successful after retransmit). These occur in half-duplex mode only. Multiple collisions 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 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 Number of successful transmits that were delayed because the medium was busy. These occur in half-duplex mode only. Late collisions 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 Number of transmits which failed due to excessive collisions. These occur in half-duplex mode only. Internal MAC transmit errors 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 Number of transmits that failed because carrier was not present during any or all of the transmission attempt. Frame too long errors 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 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. --------------- Interface Statistics (RFC 1213) --------------- 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 DEGPA 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 not 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 DEGPA 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 DEGPA 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 DEPGA 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." The DEGPA does not distinguish between broadcast multicast and non- broadcast 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 DEGPA does not distinguish between broadcast multicast and non-broadcast 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 DEGPA. 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 DEGPA. 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." --------------- Host Commands Statistics --------------- Host state commands 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 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 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 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 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 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 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 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 Number of commands issued by the driver that were not recognized by the device. --------------- Event Statistics --------------- FW operational events Number of TG_EVENT_FIRMWARE_OPERATIONAL events generated. Link state changed events Number of TG_EVENT_LINK_STATE_CHANGED events generated. Statistics updated events Number of TG_EVENT_STATS_UPDATED events generated. Error events Number of TG_EVENT_ERROR events generated. MCast list updated events Number of TG_EVENT_MULTICAST_LIST_UPDATED events generated. Reset jumbo ring events Number of TG_EVENT_RESET_JUMBO_RING events generated. Set send producer index events Number of times the DEGPA has seen updates to the send producer index. Set send consumer index events Number of times the send consumer index was updated. Set receive return producer index events Number of times the receive return producer index was updated. --------------- Interrupt Statistics --------------- Interrupts generated Number of interrupts generated by the DEGPA. Interrupts avoided Number of interrupts not generated by the DEPGA (because of interrupt mitigation). Event threshold hit Number of times the event max coalesce BD threshold was reached. Send BD threshold hit Number of times the BD_FLAG_COAL_NOW flag was set or that the send max coalesce BD threshold was reached. Receive BD threshold hit Number of times the receive max coalesce BD threshold was reached. When this happens, the firmware updates the receive return producer index to the host. --------------- DMA Statistics --------------- DMA read overrun errors Number of times a DMA read overrun error occurred. DMA read underrun errors Number of times a DMA read underrun error occurred. DMA write overrun errors Number of times a DMA write overrun error occurred. DMA write underrun errors Number of times a DMA write underrun error occurred. DMA write master abort errors Number of times a DMA read Master Abort error occurred. DMA read master abort errors Number of times a DMA write Master Abort error occurred. --------------- Ring Statistics --------------- DMA write ring full Number of times the DMA write ring was full. DMA read ring full Number of times the DMA read ring was full. Event ring full Number of times the device event ring was full. Event producer ring full 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 Number of times the MAC transmit descriptor ring was full. Transmit buffer space full Number of times the transmit buffer space was full. No more DMA write descriptors Number of times the device ran out of DMA write descriptors. No more receive BDs Number of times the device ran out of receive buffer descriptors. No space in return ring Number of times the device could not place a buffer descriptor in the return ring because it was full. Send BDs owned by NIC Number of send buffer descriptors currently being processed by the device. Receive BDs owned by NIC Number of standard (1518 bytes) receive buffer descriptors owned by the device. Jumbo receive BDs owned by NIC 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 Number of receive buffer descriptors owned by the device. Total send BDs owned by NIC Number of transmit buffer descriptors owned by the device. Jumbo frames split into multiple standard BDs Number of times a jumbo frame was split into multiple standard buffer descriptors. Bus hang cleared Number of times an SBUS DMA bug was worked around. Posting an event was delayed Number of times posting an event was delayed. --------------- Internal MAC Receive Statistics --------------- Packets dropped due to late collisions Number of receive packets dropped because of late collisions. These occur in half-duplex mode only. Packets dropped because of loss of link 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 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 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 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 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 Number of receive packets dropped because the destination address in the packet does not match the multicast address list. Flow control packets received Number of flow control packets received. Packets dropped because of lack of space Number of receive packets dropped because of lack of space. This usually occurs because the bus is too slow. Packets dropped because of collisions 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 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 Number of link state change attentions, including autonegotiation changed, link state error, and link ready changed. Sync lost attentions Number of sync lost attentions. Link config attentions 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 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 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 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 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 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 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 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. --------------- Internal MAC Transmit Statistics --------------- MAC TRANSMIT 1..15 collisions Transmit collision histogram. These are updated in half-duplex mode only. Transmit attentions Total number of transmit attentions. Driver Messages Console messages issued by the driver. DEGPA Device-Specific Functions ------------------------------- The LANCP command SET DEVICE/DEVICE_SPECIFIC=(FUNCTION="FUNC",VALUE=(V1,V2,...)) provides a mechanism to issue device-specific functions to the DEGPA driver. Some functions are common to many LAN drivers. But most are useful in a diagnostic context and not necessarily appropriate for formal inclusion in the LANCP command repertoire. Note that the function name is case sensitive and is always 4 characters in length. The command requires the SYSPRV privilege. The definition of these functions may change from one driver version to the next. The functions are: DEVICE_SPECIFIC=FUNCTION="CCOU" Clear the driver counters. This is useful in debug or test scenarios. DEVICE_SPECIFIC=FUNCTION="MAPR" Force all transmit and receive buffers to be described to the DEGPA using map registers. If enabled, this setting is displayed in the driver flags in the driver internal counters. DEVICE_SPECIFIC=FUNCTION="SOFT" Force a non-fatal, i.e., soft error. The DEGPA is stopped and restarted. DEVICE_SPECIFIC=(FUNCTION="FIL1",VALUE=(32bits,16bits)) DEVICE_SPECIFIC=(FUNCTION="FIL2",VALUE=(32bits,16bits)) DEVICE_SPECIFIC=(FUNCTION="FIL3",VALUE=(32bits,16bits)) DEVICE_SPECIFIC=(FUNCTION="FIL4",VALUE=(32bits,16bits)) Specify a receive or transmit packet trace address for use in driver tracing. If the source or destination address does not match one of the four filter addresses, the packet data is not traced. For example, to filter on addresses AA-00-04-00-EF-4F and AB-00-04-01-D2-01, issue the following LANCP commands: $ mc lancp set device ewa/device_specific=(function="FIL1",value=(%x000400aa,%x4fef)) $ mc lancp set device ewa/device_specific=(function="FIL2",value=(%x010400ab,%x01d2)) DEVICE_SPECIFIC=FUNCTION="SYSI" Send the periodic System ID messages now instead of waiting until expiry of the 8-12 minute System ID timer. This is a convenient way to get the driver to send 2 packets. DEVICE_SPECIFIC=FUNCTION="STOP" Stop the DEGPA, thereby inducing a transmit timeout on the next transmit request. DEVICE_SPECIFIC=(FUNCTION="FXMT",VALUE=ticks) Override the default transmit timer. The time value is in timer ticks and is limited to the range 2..40. If the fast transmit timer is enabled, each tick is 0.25 seconds, otherwise, it is 1 second. The current setting is displayed in the driver internal counters. DEVICE_SPECIFIC=(FUNCTION="WAIT",VALUE=timevalue) Wait the specified time in nanoseconds, at IPL 8 with the driver port lock held. This is a convenient way to introduce a delay at IPL 8. DEVICE_SPECIFIC=(FUNCTION="LINK",VALUE=linkvalue) Set the requested link settings for the DEGPA, then issues a command to the DEGPA requesting that link negotiation be redone. DEVICE_SPECIFIC=(FUNCTION="DXMT",VALUE=delayvalue) Change the interrupt mitigation delay on transmit completion value, the "Transmit interrupt delay" value. This value is in microseconds. If out of range, 1 to 1000, it is set to 1. DEVICE_SPECIFIC=(FUNCTION="DRCV",VALUE=delayvalue) Change the interrupt mitigation delay on receive completion value, the "Receive interrupt delay" value. This value is in microseconds. If out of range, 1 to 1000, it is set to 1. DEVICE_SPECIFIC=(FUNCTION="CXMT",VALUE=packetvalue) Change the interrupt mitigation coalesce on transmit completion value, the "Transmit coalesce value". This value is in number of packets. DEVICE_SPECIFIC=(FUNCTION="CRCV",VALUE=packetvalue) Change the interrupt mitigation coalesce on receive completion value, the "Receive coalesce value". This value is in number of packets. ===================== === Broadcom 5700 === ===================== The Broadcom 5700 Ethernet devices are: Device Bus Characteristics ------ --- --------------- DEGXA-SA PCI 1000BaseSX (multimode fiber) DEGXA-TA PCI 10BaseT (UTP), 100BaseTX (UTP), 1000BaseT (UTP) DEGXA-SB PCI-X 1000BaseSX (multimode fiber) DEGXA-TB PCI-X 10BaseT (UTP), 100BaseTX (UTP), 1000BaseT (UTP) BCM5703 (LOM) PCI 10BaseT (UTP), 100BaseTX (UTP), 1000BaseT (UTP) A6847A PCI 1000BaseSX (multimode fiber) A6825A PCI 10BaseT (UTP), 100BaseTX (UTP), 1000BaseT (UTP) AB352A PCI-X 10BaseT (UTP), 100BaseTX (UTP), 1000BaseT (UTP) A9782A PCI-X 1000BaseSX (multimode fiber) A9784A PCI-X 10BaseT (UTP), 100BaseTX (UTP), 1000BaseT (UTP) AB454A PCI-X 10BaseT (UTP), 100BaseTX (UTP), 1000BaseT (UTP) BCM5701 (LOM) PCI 10BaseT (UTP), 100BaseTX (UTP), 1000BaseT (UTP) Broadcom 5700 Driver Internal Counters -------------------------------------- The LANCP command SHOW DEVICE/INTERNAL_COUNTERS EWA displays the entire set of internal counters maintained by the 5700 driver. Some counters are special debug counters. These are not displayed unless the additional qualifier /DEBUG is specified. Counters that are zero are not displayed unless the additional qualifier /ZERO is specified. The LAN$SDA SDA extension also displays the complete set of internal counters with the command LAN INTERNAL/DEVICE=EWA. The definition of these counters may change from one driver version to the next. The counters are: Device name Name of the 5700 device. Driver timestamp Compilation timestamp of the driver. Driver version Driver version numbered 1...n that usually is identical to the x-n ID displayed by an ANALYZE/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. Device revision Hardware revision level identified by the Broadcom 5700 chip revision. It is given as A0, A1, B0, B1, B2, C0, C1, C2. If the version is later than the driver recognizes, it is given as >C2, for example. The actual revision is located in bits <31:16> of the Misc Host Control register displayed in the Registers section. Device PHY ID ID of the PHY chip found on the device. Bits <31:10> is the OUI, bits <9:4> is the Model number and bits <3:0> is the revision. Device interrupts Number of times the driver interrupt service routine was called. Link transitions Number of link transitions seen by the driver. Link transitions avoided Number of times a second check of the link state avoided a transition from link up to link down. Status block errors Number of times the error bit in the status block was set at the same time the fiber link partner was sending configuration data for auto- negotiation. Status block link state changes Number of times the link state change bit was set in the status block. Link checks Number of times the driver checked the current link status. Driver auto-negotiation (fiber) sequences done Number of times the driver executed the auto-negotiation procedure. Device resets Number of times the 5700 chip was reset. Device resets retried (after 1.5 second timeout) Number of times the 5700 chip reset was retried because the 5700 firmware did not complete initialization the first time. Device initializations Number of times the driver initialized the 5700 chip. Unit inits (not using map registers) Number of unit initializations executed; since unit initialization is only executed once, this counter will be one, if map registers were not used to map the device data structures. Unit inits (using map registers) Number of unit initializations executed; since unit initialization is only executed once, this counter will be one, if map registers were used to map the device data structures. User start/change/stop requests 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 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 Number of transmit requests queued because the link was not available or because too many transmit requests were already outstanding. Transmit timeouts Number of times the driver has timed out a transmit and has reset the device and completed outstanding I/O with error status. Transmit errors (too few segments) 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) Number of transmit requests that exceeded the maximum number of chain segments that the driver can handle; the driver then copied some of them to a temporary buffer so that it could transmit the packet. Jumbo transmits issued Number of transmit requests with a packet length exceeding 1514 bytes (excluding CRC). Transmits issued (using map registers) 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 Number of jumbo receive buffers allocated and given to the device. Receives issued (using map registers) 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. Receives discarded (bad frame) Number of receive packets discarded by the driver due to receive error. By default, the 5700 does not deliver damaged receive packets to the driver, but can be asked to do so by a device-specific function. Receive FIFO overflows Number of times the driver detected a receive FIFO overflow. Soft errors Number of times errors were recovered in the driver by resetting and reinitializing the device, without notification of user applications. Duplex mode mismatches Number of times a potential duplex mode mismatch was detected by checking for transmit and receive errors. Rescheduled forks (too long in fork) 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 Number of 1518-byte receive buffers owned by the device. Standard receive buffer deallocations 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) Number of large receive buffers owned by the device. Jumbo receive buffers (minimum) Minimum number of large receive buffers owned by the device. This is set to 32 initially. After the first jumbo receive, the driver sets the minimum to 128. Jumbo receive buffer allocations Number of jumbo receive buffer allocations done by the driver. Jumbo receive buffer deallocations Number of large buffer deallocations done by the driver because the number of outstanding buffers exceeded the maximum number allowed by the driver. Standard buffer size (bytes) Size of the standard receive buffers, 1518 bytes including header and CRC, plus the overhead of the receive buffer structure (640 bytes). Standard packet size (bytes)(device standard ring) This is the Ethernet packet size (1518 bytes). Jumbo buffer size (bytes) 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. For OpenVMS V7.3-2 and later the buffer size is 9018 plus 640 bytes of overhead, rounded up to the next 64-byte boundary, to accommodate the full jumbo packet size. Jumbo packet size (bytes)(device jumbo ring)) This is the jumbo packet size (9018 bytes). Requested link settings Speed and duplex mode requested by a user. Current link settings Current link state. Remote flow capabilities Flow control capabilities reported for the link partner. Current link up timer Current value of the one-second timer that waits for the link to come back before resetting the device to free pending transmit requests. Driver flags Driver flags including the following bits: - Promiscuous - Promiscuous mode enabled. - All_Multicast - All multicast mode enabled. - Jumbo_Frames - Jumbo packets enabled. - More_Rcv - More receive ring entries enabled. - Copper - Copper PHY present. - Fiber - Fiber PHY present. - 5701 - 5701 chip. - 5703 - 5703 chip. - GraniteLOM - Granite 5703 LOM chip. - Receive_Bad_Frames - Receive bad frames enabled. - Bugcheck_XTMO - Bugcheck on transmit timeout. - Setup_Link_In_Progress - Currently setting up the link. - All_Messages_Enabled - Display all messages. - Device_Link_Handling - Device does link handling. - Driver_Link_Handling - Driver does link handling (fiber only). Driver state Current driver state, one of the following: - 0 - Driver state is undefined - 1 - Driver is initializating the device - 2 - Driver is running but the link is down, completing transmits with error status - 4 - Driver is running but the link is down, queueing transmits for now - 8 - Driver is running and the link is up, processing transmits, and receives - 16 - Device is not usable LAN_FLAGS system parameter Current value of the LAN_FLAGS system parameter. DMA width (bits) Device determines whether it is in a 32-bit or 64-bit PCI bus, and the result of that determination is displayed. BUS speed (Mhz) Device determines whether it is in a low speed (33-Mhz PCI or 66-Mhz PCI-X bus) or high speed (66-Mhz PCI or 133-Mhz PCI-X bus), and the result of that determination is displayed. BUS type Device determines whether it is in a PCI or PCI-X bus, and the result of that determination is displayed. MSI control (Alloc<6:4>,Req<3:1>,Enable<0>) Contents of the MSI_CONTROL register that gives MSI status. If MSI is enabled, bit <0> is set. Bits <3:1> are the number of requested messages (always set to 3 by the device). Bits <6:4> are the number of messages allocated to the device by the system. If the /DEBUG qualifier is specified, more MSI context is displayed, such as MSI Address and Data registers. DMA control value Contents of the DMA control register which regulates read and write DMA operations. Transmit coalesce value Transmit interrupt delay (usec) Transmit interrupts are generated every n "coalesce value" transmit completions, but no later than n "interrupt delay" microseconds after transmit completion. Receive coalesce value Receive interrupt delay (usec) Receive interrupts are generated every n "coalesce value" receive completions, but no more than n "interrupt delay" microseconds after receipt of a packet. Initialization delay (usecs) Total time (in microseconds) waiting for the device during initialization including shutdown. Link setup delay (usecs) Total time (in microseconds) waiting for the device during setup of the link. Transmit time limit Transmit time limit in seconds after which a timeout is declared. Timer routine interval Resolution of the transmit timer (the real timeout is Limit + Interval). --------------- Registers (wrote/read) --------------- Misc Host Control Last value written to and read from the Misc Host Control register. MAC Mode Last value written to and read from the MAC Mode register. MAC Status Last value written to and read from the MAC Status register. MI Status Last value written to and read from the MI Status register. RX Mode Last value written to and read from the RX Mode register. TX Status Last value written to and read from the TX Status register. --------------- Time Stamps --------------- Current uptime Current system uptime. Last reset Last time the device was reset. Last link up Last time a link up transition occurred. Last link down Last time a link down transition occurred. Total link uptime Total time the link has been up. Total link downtime Total time the link has been down. Last driver auto-negotiation (fiber) initiated Last time the driver started auto-negotation on the fiber NIC. Last driver auto-negotiation (fiber) completed Last time the driver completed auto-negotation on the fiber NIC. Time spent doing driver auto-negotiation (fiber) Total time spent doing auto-negotiation on the fiber NIC. Last transmit timeout Time of the last transmit timeout. Last soft error Time of the last soft error. Last duplex mode mismatch reported Time of the last console message to report a duplex mode mismatch. Previous CRC or late collision error Time of the previous CRC or late collision error. Driver Auto-Negotiation Context (fiber) Auto-negotation context for driver auto-negotiation on the fiber NIC. Minimum buffers requested Minimum number of receive buffers as set by default or by management request (setmode or LANCP command). This is used to determine the "Current minimum limit". Maximum buffers requested Maximum number of receive buffers as set by default or by management request (setmode or LANCP command). This is used to determine the "Current maximum limit". Current minimum limit Minimum number of receive buffers as determined by the driver and by management request, "Minimum buffers requested". The driver will not allow the number of receive buffers in its receive queues to drop below this value. This does not include receive buffers handed up to applications (and not yet returned). Current maximum limit Maximum number of receive buffers as determined by the driver and by management request, "Maximum buffers requested". The driver will deallocate receive buffers until the number allocated does not exceed than this maximum. When applications return receive buffers, the number may exceed this maximum at which point they are deallocated. Note that the driver allows this maximum to be exceeded somewhat to limit allocation and deallocation activity. See "Target number of buffers maximum" below. Current number of buffers Current number of receive buffers owned by the driver. Target number of buffers Desired number of receive buffers. As receive activity does not result in lost packets, this number is slowly decreased toward the "Current minimum limit". If packets are lost this number is sharply increased toward the "Current maximum limit". When the 5700 driver allocates receive buffers, it allocates them until reaching this target number. Target number of buffers maximum Maximum desired number of receive buffers. When an application returns a buffer to the driver, if the current number does not exceed this target maximum, the buffer is kept by the driver. Otherwise, it is deallocated. Fork Delay (after scheduled) To help determine whether the buffering requirements of the driver and the 5700 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 5700 are sufficient for normal operation. If packets are being discarded, the buffering should be increased until the number of packets lost is minimal. Transmit Time To help understand the operation of the system, driver, and 5700, the driver records the time that each transmit buffer is given to the 5700. When the transmit completes, the driver calculates the elapsed time, creating a histogram of transmit times from 10 to 310 milliseconds. --------------- Status Block --------------- Status After an interrupt, this longword is nonzero. The driver fork process clears the status longword so the driver can recognize whether there is pending work to be done (checking the ring indexes for completions, or checking the link status). The bits in the longword are defined as follows: Bit 1 - Link changed status Bit 2 - Status block updated flag Bit 4 - Status block error Receive mini consumer index Unused. Receive jumbo consumer index Current position of the 5700 in the jumbo receive buffer ring. Receive standard consumer index Current position of the 5700 in the standard receive buffer ring. Receive ring 0 producer index Current position of the 5700 in the receive return ring. Send ring 0 consumer index Current position of the 5700 in the send ring. --------------- Statistics Block --------------- --------------- Statistics - Receive MAC --------------- Bytes received Number of bytes successfully received. Runt packets received (bad CRC) Number of runt packets less than 64 bytes long received and discarded. Unicast packets received Number of packets successfully received that were not addressed to a multicast or broadcast address. Multicast packets received Number of packets successfully received that were addressed to a multicast address, but not the broadcast address. Broadcast packets received Number of packets successfully received that were addressed to the broadcast address. FCS errors 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 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 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 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 Number of other MAC control frames received. These are MAC control frames with no pause command. Transmitting disabled (xoff) Number of times the transmitter was disabled because of a receive of an XOFF frame. Frame too long errors 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 Number of frames received that are longer than the specified maximum frame time, for example, a jabber frame. Runt packets received (good CRC) Number of frames received with a size less than 64 bytes (including a correct CRC field). Length errors (length field neq actual) Number of frames received where the 802-length field does not match the total frame size. Length errors (type field 1523-1535) 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. Packets (64 bytes) Packets (65-127 bytes) Packets (128-255 bytes) Packets (256-511 bytes) Packets (512-1023 bytes) Packets (1024-1522 bytes) Packets (1523-2047 bytes) Packets (2048-4095 bytes) Packets (4096-8191 bytes) Packets (8192-9018 bytes) Number of packets received of this size. --------------- Statistics - Transmit MAC --------------- Bytes sent Number of bytes successfully transmitted. Collisions experienced Number of collisions experienced. XON packets sent Number of XON packets sent in support of flow control. XOFF packets sent Number of XOFF packets sent in support of flow control. Flow control sequences done Number of flow control sequences done. Internal MAC transmit errors 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 Number of successfully transmitted packets that encountered exactly one collision during transmission (successful after retransmit). These occur in half-duplex mode only. Multiple collisions 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 Number of successful transmits that were delayed because the medium was busy. These occur in half-duplex mode only. Excessive collisions Number of transmits that failed because of excessive collisions. These occur in half-duplex mode only. Late collisions 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 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 Number of successfully transmitted packets that were not addressed to a multicast or broadcast address. Multicast packets sent Number of successfully transmitted packets that were addressed to a multicast address but not the broadcast address. Broadcast packets sent Number of successfully transmitted packets that were addressed to a broadcast address. Carrier sense errors Number of transmits that failed because a carrier was not present during any or all of the transmission attempts. Outbound discards 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 Number of outbound packets that could not be transmitted because of errors. -------------- Statistics - Receive List Placement State Machine -------------- Frames received onto return ring 1..16 Number of frames received onto each of the return rings. Frames discarded using filters Number of frames received but discarded after validation by the receive filters. DMA write queue full Number of times the DMA write queue was full. DMA high priority write queue full Number of times the DMA write high-priority queue was full. No more receive BDs Number of times the NIC ran out of receive buffer descriptors. Inbound discards 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 Number of inbound packets that contained errors that prevented them from being deliverable to a higher-layer protocol. Receive threshold hit 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 --------------- Frames sent from send ring 1..16 Number of frames sent from each of the send rings. DMA read queue full Number of times the DMA read queue was full. DMA high priority read queue full Number of times the DMA read high-priority queue was full. Send data completion queue full Number of times the send data completion flow-thorough-queue (FTQ) was full. --------------- Statistics - Host Coalescing State Machine --------------- Send producer index updates Number of times the NIC has seen updates to any send producer ring index. Ring status updates 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 Number of interrupts generated by the NIC. Interrupts avoided Number of interrupts avoided by the NIC (because of interrupt mitigation). Send threshold hit Number of times the send max coalesce frames threshold was reached, resulting in a status block update and interrupt. Debug Data Consists of a list of the contents significant 5700 chip registers, collected when internal driver counters were requested. EEPROM Contents Consists of the contents of the non-volatile memory on the 5700 NIC, which contains manufacturing information. Driver Messages Console messages issued by the driver. Broadcom 5700 Device-Specific Functions --------------------------------------- The LANCP command SET DEVICE/DEVICE_SPECIFIC=(FUNCTION="FUNC",VALUE=(V1,V2,...)) provides a mechanism to issue device-specific functions to the 5700 driver. Some functions are common to many LAN drivers. But most are useful in a diagnostic context and not necessarily appropriate for formal inclusion in the LANCP command repertoire. Note that the function name is case sensitive and is always 4 characters in length. The command requires the SYSPRV privilege. The functions are: DEVICE_SPECIFIC=FUNCTION="CCOU" Clear the driver counters. This is useful in debug or test scenarios. DEVICE_SPECIFIC=FUNCTION="MAPR" Force all transmit and receive buffers to be described to the 5700 chip using map registers. If enabled, this setting is displayed in the driver flags in the driver internal counters. DEVICE_SPECIFIC=FUNCTION="SOFT" Force a non-fatal, i.e., soft error. The 5700 chip is stopped and restarted. DEVICE_SPECIFIC=(FUNCTION="FIL1",VALUE=(32bits,16bits)) DEVICE_SPECIFIC=(FUNCTION="FIL2",VALUE=(32bits,16bits)) DEVICE_SPECIFIC=(FUNCTION="FIL3",VALUE=(32bits,16bits)) DEVICE_SPECIFIC=(FUNCTION="FIL4",VALUE=(32bits,16bits)) Specify a receive or transmit packet trace address for use in driver tracing. If the source or destination address does not match one of the four filter addresses, the packet data is not traced. For example, to filter on addresses AA-00-04-00-EF-4F and AB-00-04-01-D2-01, issue the following LANCP commands: $ mc lancp set device ewa/device_specific=(function="FIL1",value=(%x000400aa,%x4fef)) $ mc lancp set device ewa/device_specific=(function="FIL2",value=(%x010400ab,%x01d2)) DEVICE_SPECIFIC=FUNCTION="SYSI" Send the periodic System ID messages now instead of waiting until expiry of the 8-12 minute System ID timer. This is a convenient way to get the driver to send 2 packets. DEVICE_SPECIFIC=FUNCTION="STOP" Stop the 5700 chip, thereby inducing a transmit timeout on the next transmit request. DEVICE_SPECIFIC=(FUNCTION="FXMT",VALUE=ticks) Override the default transmit timer. The time value is in timer ticks and is limited to the range 2..40. If the fast transmit timer is enabled, each tick is 0.25 seconds, otherwise, it is 1 second. The current setting is displayed in the driver internal counters. DEVICE_SPECIFIC=(FUNCTION="WAIT",VALUE=timevalue) Wait the specified time in nanoseconds, at IPL 8 with the driver port lock held. This is a convenient way to introduce a delay at IPL 8. DEVICE_SPECIFIC=FUNCTION="RBAD" Enable receipt of bad frames. The driver will discard them, but driver tracing can be used to capture these packets. If enabled, this setting is displayed in the driver flags in the driver internal counters. DEVICE_SPECIFIC=(FUNCTION="DXMT",VALUE=delayvalue) Change the interrupt mitigation delay on transmit completion value, the "Transmit interrupt delay" value. This value is in microseconds. If less than 1, it is set to 1. If greater than 1000, it is set to 1000. DEVICE_SPECIFIC=(FUNCTION="DRCV",VALUE=delayvalue) Change the interrupt mitigation delay on receive completion value, the "Receive interrupt delay" value. This value is in microseconds. If less than 1, it is set to 1. If greater than 1000, it is set to 1000. DEVICE_SPECIFIC=(FUNCTION="CXMT",VALUE=packetvalue) Change the interrupt mitigation coalesce on transmit completion value, the "Transmit coalesce value". This value is in number of packets. If less than 1, it is set to 1. If greater than 64, it is set to 64. DEVICE_SPECIFIC=(FUNCTION="CRCV",VALUE=packetvalue) Change the interrupt mitigation coalesce on receive completion value, the "Receive coalesce value". This value is in number of packets. If less than 1, it is set to 1. If greater than 128, it is set to 128. DEVICE_SPECIFIC=FUNCTION="AUTO" Restarts auto-negotiation. DEVICE_SPECIFIC=FUNCTION="INTR" Generate a interrupt. DEVICE_SPECIFIC=(FUNCTION="XDEL",VALUE=timevalue) Delay issuing the next transmit request for the time specified in 10 millisecond units. A maximum of 2000 (20 seconds) is allowed. This is function is useful when investigating application behavior when a transmit request is delayed. DEVICE_SPECIFIC=FUNCTION="XTOB" Toggle the setting of the driver flag 'Bugcheck on transmit timeout'. If set, the driver crashes the system with a NETDLLERR bugcheck if a transmit timeout occurs. If enabled, this setting is displayed in the driver flags in the driver internal counters. DEVICE_SPECIFIC=FUNCTION="ALLM" Toggle the setting of the driver flag 'All messages'. If the 'all messages' flag is set the driver displays all console messages. The default setting is bit 31 of the LAN_FLAGS system parameter. This function allows the 'all messages' setting to be set for an individual device rather than all LAN devices on the system. If enabled, this setting is displayed in the driver flags in the driver internal counters. DEVICE_SPECIFIC=(FUNCTION="LOOP",VALUE=loopvalue) If loop mode is 0, disable loopback mode, if 1, enable it. This is useful in test scenarios, where you would like to run an application in loopback mode when the application normally would not allow selection of loopback mode. The current setting is displayed in the driver internal counters. DEVICE_SPECIFIC=FUNCTION="OMSG" Console messages are displayed by the driver during initialization, auto-negotation, and link handling. But the driver limits the total number of messages displayed. This function resets the count, so additional messages are displayed. =================== === Intel 82540 === =================== The Intel 82540 Ethernet devices are: Device Bus Characteristics ------ --- --------------- A7011A PCI-X Dual 1000BaseSX (multimode fiber) A7012A PCI-X Dual 10BaseT (UTP), 100BaseTX (UTP), 1000BaseT (UTP), Anvik2 chip Intel 82540 Internal Counters ----------------------------- The LANCP command SHOW DEVICE/INTERNAL_COUNTERS EWA displays the entire set of internal counters maintained by the 82540 driver. Some counters are special debug counters. These are not displayed unless the additional qualifier /DEBUG is specified. Counters that are zero are not displayed unless the additional qualifier /ZERO is specified. The LAN$SDA SDA extension also displays the complete set of internal counters with the command LAN INTERNAL/DEVICE=EWA. The definition of these counters may change from one driver version to the next. The counters are: Device name Name of the 82540 device. Driver timestamp Compilation timestamp of the driver. Driver version Driver version numbered 1...n that usually is identical to the x-n ID displayed by an ANALYZE/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=EIA in the quadword driver version field. Device revision Hardware revision level of the 82540 chip. Device PHY ID ID of the PHY chip found on the device. Bits <31:10> is the OUI, bits <9:4> is the Model number and bits <3:0> is the revision. Device interrupts Number of times the driver interrupt service routine was called. Link transitions Number of link transitions seen by the driver. Cabling errors Number of times a cable fault was detected for the fiber NIC. Interrupt link state changes Number of link state changes reported in the interrupt control register. Link checks Number of times the driver checked the current link status. Device resets Number of times the 82540 chip was reset. Unit inits (not using map registers) Number of unit initializations executed; since unit initialization is only executed once, this counter will be one, if map registers were not used to map the device data structures. Unit inits (using map registers) Number of unit initializations executed; since unit initialization is only executed once, this counter will be one, if map registers were used to map the device data structures. User start/change/stop requests 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 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 Number of transmit requests queued because the link was not available or because too many transmit requests were already outstanding. Transmit timeouts Number of times the driver has timed out a transmit and has reset the device and completed outstanding I/O with error status. Transmit errors (too few segments) 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) Number of transmit requests that exceeded the maximum number of chain segments that the driver can handle; the driver then copied some of them to a temporary buffer so that it could transmit the packet. Jumbo transmits issued Number of transmit requests with a packet length exceeding 1514 bytes (excluding CRC). Transmits issued (using map registers) 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 Number of jumbo receive buffers allocated and given to the device. Receives issued (using map registers) 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. Receives discarded (bad frame) Number of receive packets discarded by the driver due to receive error. By default, the 82540 chip does not deliver damaged receive packets to the driver, but can be asked to do so by a device-specific function. Soft errors Number of times errors were recovered in the driver by resetting and reinitializing the device, without notification of user applications. Duplex mode mismatches Number of times a potential duplex mode mismatch was detected by checking for transmit and receive errors. Rescheduled forks (too long in fork) 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. PHY register read/write errors Number of errors reading or writing a PHY register. Standard buffer size (bytes) Size of the standard receive buffers, 1518 bytes including header and CRC, plus the overhead of the receive buffer structure (640 bytes). Standard packet size (bytes) This is the Ethernet packet size (1518 bytes). Jumbo buffer size (bytes) Size of the jumbo receive buffers. The device allows up to 16384-byte packets,, including header and CRC, plus the 640-byte receive buffer structure overhead. But the driver limits the packet size to 8192 bytes, so the buffer size is 8192 plus 640 bytes of overhead, rounded up to the next 64-byte boundary. Jumbo packet size (bytes) This is the jumbo packet size (8192 bytes). Requested link settings Speed and duplex mode requested by a user. Current link settings Current link state. Current link up timer Current value of the one-second timer that waits for the link to come back before resetting the device to free pending transmit requests. Driver flags Driver flags. Driver state Current driver state, one of the following: - 0 - Driver state is undefined - 1 - Driver is initializating the device - 2 - Driver is running but the link is down, completing transmits with error status - 4 - Driver is running but the link is down, queueing transmits for now - 8 - Driver is running and the link is up, processing transmits, and receives - 16 - Device is not usable LAN_FLAGS system parameter Current value of the LAN_FLAGS system parameter. DMA width (bits) Device determines whether it is in a 32-bit or 64-bit PCI bus, and the result of that determination is displayed. BUS speed (Mhz) Device determines whether it is in a low speed (33-Mhz PCI or 66-Mhz PCI-X bus) or high speed (66-Mhz PCI or 133-Mhz PCI-X bus), and the result of that determination is displayed. BUS type Device determines whether it is in a PCI or PCI-X bus, and the result of that determination is displayed. Interrupt delay value Minimum delay between interrupts, in units of 256 nanoseconds. Transmit descriptor threshold Number of descriptors that the 82540 chip will accumulate before writing them back. Transmit interrupt delay (usec) Amount of delay after transmit completion that an interrupt is generated. Receive interrupt delay (usec) Amount of delay after receive completion that an interrupt is generated. Transmit time limit Transmit time limit in seconds after which a timeout is declared. Timer routine interval Resolution of the transmit timer (the real timeout is Limit + Interval). --------------- Time Stamps --------------- Current uptime Current system uptime. Last reset Last time the device was reset. Last link up Last time a link up transition occurred. Last link down Last time a link down transition occurred. Total link uptime Total time the link has been up. Total link downtime Total time the link has been down. Last transmit timeout Time of the last transmit timeout. Last soft error Time of the last soft error. Last duplex mode mismatch reported Time of the last console message to report a duplex mode mismatch. Previous CRC or late collision error Time of the previous CRC or late collision error. --------------- Receive Buffers --------------- Minimum buffers requested Minimum number of receive buffers as set by default or by management request (setmode or LANCP command). This is used to determine the "Current minimum limit". Maximum buffers requested Maximum number of receive buffers as set by default or by management request (setmode or LANCP command). This is used to determine the "Current maximum limit". Current minimum limit Minimum number of receive buffers as determined by the driver and by management request, "Minimum buffers requested". The driver will not allow the number of receive buffers in its receive queues to drop below this value. This does not include receive buffers handed up to applications (and not yet returned). Current maximum limit Maximum number of receive buffers as determined by the driver and by management request, "Maximum buffers requested". The driver will deallocate receive buffers until the number allocated does not exceed than this maximum. When applications return receive buffers, the number may exceed this maximum at which point they are deallocated. Note that the driver allows this maximum to be exceeded somewhat to limit allocation and deallocation activity. See "Target number of buffers maximum" below. Current number of buffers Current number of receive buffers owned by the driver. Target number of buffers Desired number of receive buffers. As receive activity does not result in lost packets, this number is slowly decreased toward the "Current minimum limit". If packets are lost this number is sharply increased toward the "Current maximum limit". When the driver allocates receive buffers, it allocates them until reaching this target number. Target number of buffers maximum Maximum desired number of receive buffers. When an application returns a buffer to the driver, if the current number does not exceed this target maximum, the buffer is kept by the driver. Otherwise, it is deallocated. Fork Delay (after scheduled) To help determine whether the buffering requirements of the driver and the 82540 chip 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 82540 chip are sufficient for normal operation. If packets are being discarded, the buffering should be increased until the number of packets lost is minimal. Transmit Time To help understand the operation of the system, driver, and 82540 chip, the driver records the time that each transmit buffer is given to the 82540 chip. When the transmit completes, the driver calculates the elapsed time, creating a histogram of transmit times from 10 to 310 milliseconds. --------------- Statistics Block --------------- CRC errors 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 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. Symbol errors Number of symbol errors detected. These occur on fiber NICs only. Receive errors Number of packets received with error status. Missed packets count Number of packets missed because the receive FIFO had insufficient space to store incoming packets, either because too few buffers were provided by the driver or because there was insufficient bandwidth on the PCI bus. Single collision count Number of successfully transmitted packets that encountered exactly one collision during transmission (successful after retransmit). These occur in half-duplex mode only. Excessive collision count Number of transmits that failed because of excessive collisions. These occur in half-duplex mode only. Multiple collision count Number of successfully transmitted packets that encountered more than one collision during transmission (successful after multiple retransmits). These occur in half-duplex mode only. Late collision count 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. Collision count Total number of collisions that are not late collisions seen by the transmitter. Defer count Number of successful transmits that were delayed because the medium was busy. These occur in half-duplex mode only. XMT - No CRS Number of packet transmissions in which the carrier signal was lost shortly after the start of transmission. These occur in UTP, full- duplex mode only. Sequence errors Number of sequence errors detected where the frame delimiter symbols were seen in an illegal sequence. These occur on fiber NICs only. Carrier extension errors Number of packets received in which a carrier extension error was detected. Receive length errors Number of packets shorter than 64 bytes or longer than 16384 bytes. XON receive count Number of valid XON packets received. XON transmit count Number of XON packets transmitted. XOFF receive count Number of valid XOFF packets received. XOFF transmit count Number of XOFF packets transmitted. FC Receive Unsupported count Number of unsupported flow control frames received. Packets received (64 bytes) Packets received (65-127 bytes) Packets received (128-255 bytes) Packets received (256-511 bytes) Packets received (512-1023 bytes) Packets received (1024... bytes) Number of packets received of this size. Good packets received Number of good packets received of any legal length. Broadcast packets received Number of good broadcast packets received. Multicast packets received Number of good multicast packets received. Good packets transmitted Number of good packets transmitted. Good octets received Number of good bytes received. Good octets transmitted Number of good bytes transmitted. No receive buffer count Number of packets received where there were no available buffers in host memory. The packets are still received as long a there is sufficient space in the receive FIFO and the driver eventually provides more buffers. Receive undersize count Number of good packets received that were less than 64 bytes in length. Receive fragment count Number of packets received with a CRC error that were less than 64 bytes in length. Receive oversize count Number of good packets received that were larger than the maximum packet size. Receive jabber count Number of packets received with a CRC error that were larger than the maximum packet size. Management packets received Number of managment packets received. Management packets dropped Number of management packets received but lost because the management receive FIFO was full or the packet is longer than 200 bytes. Management packets transmitted Number of management packets sent. Total octets received Total number of bytes received, regardless of errors or type of packet. Total octets transmitted Total number of bytes transmitted, regardless of errors or type of packet. Total packets received Total number of packets received, regardless of errors or type of packet. Total packets transmitted Total number of packets transmitted, regardless of errors or type of packet. Packets transmitted (64 bytes) Packets transmitted (65-127 bytes) Packets transmitted (128-255 bytes) Packets transmitted (256-511 bytes) Packets transmitted (512-1023 bytes) Packets transmitted (1024... bytes) Number of packets transmitted of this size. Multicast packets transmitted Number of multicast packets transmitted. Broadcast packets transmitted Number of broadcast packets transmitted. TCP segmentation xmt count Number of TCP segmentation offload transmissions. TCP segmentation xmt fail Number of TCP segmentation offload transmissions that failed to transmit all of the data. Driver Messages Console messages issued by the driver. Intel 82540 Device-Specific Functions ------------------------------------- The LANCP command SET DEVICE/DEVICE_SPECIFIC=(FUNCTION="FUNC",VALUE=(V1,V2,...)) provides a mechanism to issue device-specific functions to the 82540 driver. Some functions are common to many LAN drivers. But most are useful in a diagnostic context and not necessarily appropriate for formal inclusion in the LANCP command repertoire. Note that the function name is case sensitive and is always 4 characters in length. The command requires the SYSPRV privilege. The definition of these functions may change from one driver version to the next. The functions are: DEVICE_SPECIFIC=FUNCTION="CCOU" Clear the driver counters. This is useful in debug or test scenarios. DEVICE_SPECIFIC=FUNCTION="MAPR" Force all transmit and receive buffers to be described to the 82540 chip using map registers. If enabled, this setting is displayed in the driver flags in the driver internal counters. DEVICE_SPECIFIC=FUNCTION="SOFT" Force a non-fatal, i.e., soft error. The 82540 chip is stopped and restarted. DEVICE_SPECIFIC=(FUNCTION="FIL1",VALUE=(32bits,16bits)) DEVICE_SPECIFIC=(FUNCTION="FIL2",VALUE=(32bits,16bits)) DEVICE_SPECIFIC=(FUNCTION="FIL3",VALUE=(32bits,16bits)) DEVICE_SPECIFIC=(FUNCTION="FIL4",VALUE=(32bits,16bits)) Specify a receive or transmit packet trace address for use in driver tracing. If the source or destination address does not match one of the four filter addresses, the packet data is not traced. For example, to filter on addresses AA-00-04-00-EF-4F and AB-00-04-01-D2-01, issue the following LANCP commands: $ mc lancp set device ewa/device_specific=(function="FIL1",value=(%x000400aa,%x4fef)) $ mc lancp set device ewa/device_specific=(function="FIL2",value=(%x010400ab,%x01d2)) DEVICE_SPECIFIC=FUNCTION="SYSI" Send the periodic System ID messages now instead of waiting until expiry of the 8-12 minute System ID timer. This is a convenient way to get the driver to send 2 packets. DEVICE_SPECIFIC=FUNCTION="STOP" Stop the 82540 chip, thereby inducing a transmit timeout on the next transmit request. DEVICE_SPECIFIC=(FUNCTION="FXMT",VALUE=ticks) Override the default transmit timer. The time value is in timer ticks and is limited to the range 2..40. If the fast transmit timer is enabled, each tick is 0.25 seconds, otherwise, it is 1 second. The current setting is displayed in the driver internal counters. DEVICE_SPECIFIC=(FUNCTION="WAIT",VALUE=timevalue) Wait the specified time in nanoseconds, at IPL 8 with the driver port lock held. This is a convenient way to introduce a delay at IPL 8. DEVICE_SPECIFIC=(FUNCTION="DXMT",VALUE=delayvalue) Change the interrupt mitigation delay on transmit completion value, the "Transmit interrupt delay (usec)" value. This value is in microseconds, limited to 1000. If zero, the delay is disabled. DEVICE_SPECIFIC=(FUNCTION="DRCV",VALUE=delayvalue) Change the interrupt mitigation delay on receive completion value, the "Receive interrupt delay (usec)" value. This value is in microseconds, limited to 1000. If zero, the delay is disabled. DEVICE_SPECIFIC=(FUNCTION="TXMT",VALUE=descriptorcount) Change the transmit descriptor threshold for write back value, allowed range is 0..64. If greater than 64, it is set to 64. DEVICE_SPECIFIC=(FUNCTION="DINT",VALUE=delayvalue) Change the interrupt delay value. The value is in microseconds, limited to 1000. If zero, the delay is disabled. ===================== === Shared Memory === ===================== The Shared Memory Ethernet devices are shared memory emulating an Ethernet LAN on Galaxy Alpha configurations. Shared Memory Internal Counters ------------------------------- The LANCP command SHOW DEVICE/INTERNAL_COUNTERS ELA displays the entire set of internal counters maintained by the Shared Memory driver. Counters that are zero are not displayed unless the additional qualifier /ZERO is specified. The definition of these counters may change from one driver version to the next. The counters are: Index ID Galaxy node ID for this shared memory instance. Transmits queued Number of transmit requests currently queued to other instances. Undelivered MCAs Number of multicast transmit requests that were not delivered. Avoided IPINTs Number of IPINTs that were not done because an interrupt was already pending to the instance. Transmit packets copied (< 256 bytes) Number of transmit requests done by copying the transmit packet data. Transmit packets remapped (>256 bytes) Number of transmit requests done by copying remapping the transmit packet data. Transmit packets copied (too many chained segments) Number of transmit requests that exceeded the maximum number of chain segments that the driver can handle; the driver then copied some of them to a temporary buffer so that it could transmit the packet. PTE->PFN translate 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. Shared Memory Device-Specific Functions --------------------------------------- The LANCP command SET DEVICE/DEVICE_SPECIFIC=(FUNCTION="FUNC",VALUE=(V1,V2,...)) provides a mechanism to issue device-specific functions to the Shared Memory driver. Note that the function name is case sensitive and is always 4 characters in length. The command requires the SYSPRV privilege. The definition of these functions may change from one driver version to the next. The functions are: DEVICE_SPECIFIC=FUNCTION="CCOU" Clear the driver counters. This is useful in debug or test scenarios. ============= === DEMFA === ============= The DEMFA FDDI devices are: Device Bus Characteristics ------ --- --------------- DEMFA XMI Multimode fiber, 100 megabits/second DEMFA Internal Counters ----------------------- The LANCP command SHOW DEVICE/INTERNAL_COUNTERS FXA displays the entire set of internal counters maintained by the DEMFA driver. Counters that are zero are not displayed unless the additional qualifier /ZERO is specified. This command is supported on Alpha systems only. The definition of these counters may change from one driver version to the next. The counters are: Transmit workarounds Number of transmit workarounds done. Bytes mapped for xmt workaround Number of bytes mapped when doing a transmit workaround. Too many segments given Number of transmit requests that exceeded the maximum number of chain segments that the driver can handle; the driver then copied some of them to a temporary buffer so that it could transmit the packet. Too few segments given Number of transmit requests completed with error status (SS$_INCSEGTRA) because the application did not specify the transmit buffer completely. Insufficient memory xmts Number of transmit requests completed with error status (SS$_INSFMEM) because the driver needed to copy the packet but could not allocate memory to do so. Multiple segments processed Number of chained transmit segments processed. Command errors Number of device commands completed with error status. Transmit errors Number of transmits completed with error status, either because the ring was unavailable or because the DEMFA returned error status. Receive errors Number of receives completed by the DEMFA with error status. Adapter in a bad state Number of times the DEMFA was found to be in a bad state, requiring reset and reinitialization. Adapter state errors Number of times the DEMFA was found to be in a bad state during the one- second timer handling, requiring reset and reinitialization. Psq=FF shutdowns Number of times the DEMFA status register contained 0xFF, an illegal value, requiring reset and reinitialization. Fatal errors (software tmo) Number of fatal timeout errors detected. Transmit overrun errors Number of transmit overrun errors reported. Transmit failure errors Number of transmit failure errors reported. Receive overrun errors Number of receive overrun errors reported. Elm Parity errors Number of ELM chip parity errors reported. Times PSBUA bit in PDB was set Number of times the Potential System Buffer Unavailable (PSBUA) bit was set in the Port Data Block. Additional segments on transmit Number of transmits where an additional segment might have been avoided by checking if the buffer was physically contiguous. Command interrupts Number of interrupts on the command and unsolicited ring. Status/error interrupts Number of status or error interrupts. Receives aborted Number of receive buffers recycled during adapter cleanup operations. Transmits aborted Number of transmit buffers recycled during adapter cleanup operations. Command status (for failing command) Command status of the last failing command. Command opcode (for failing command) Command opcode of the last failing command. Transmit zero byte count workarounds Number of zero byte counter workarounds on transmit. Current time Current time in 10-milliseconds ticks of the counters request from LANCP. --------------- Device Status --------------- FDDI Maximum TRT Maximum token rotation time set on the DEMFA. FDDI Negotiated TRT Negotiated token rotation time set on the FDDI ring. FDDI TVX Current valid transmission time (TVX) value. FDDI RTTO Current restricted token timeout (RTTO) value. LEM threshold Link Error Monitor (LEM) threshold. Upstream Neighbor address Upstream Neighbor address. PHA addresses in use Number of distinct individual addresses (PHA) in use. Users in use Number of users (protocols) enabled. MCA addresses in use Number of multicast addresses enabled. Maximum users supported Maximum number of users (protocols) supported. Maximum addresses supported Maximum number of addresses (individual and multicast) supported. PHY link state Current PHY link state. PHY port type PHY port type (0 = SAS, 1 = DAS). Link state Current link state. Duplicate Address Test results Duplicate Address Test results. Ring Purger state Ring Purger state, (0 = Purger, 1 = Non-Purger, 2 = Candidate-Purger). Claim Token Yield Claim Token Yield state (0 = Off, 1 = On). UN Timeout occurred Upstream Neighbor (UN) timeout occurred status. Ring Purger enabled Ring Purger enabled status. FDX enabled Full-duplex enabled flag. FDX in use Full-duplex operational flag. Minimum SMT version Minimum SMT version found. SMT version SMT version of the DEMFA firmware. Maximum SMT version Maximum SMT version found. Old Upstream Neighbor address Previous Upstream Neighbor address. Downstream Neighbor address Downstream Neighbor address. Old Downstream Neighbor address Previous Downstream Neighbor address. Duplicate Addresss Test state Duplicate Addresss Test state. Ring Error Reason Last ring error reason code. Ring latency Current ring latency. PHY type Current PHY type. PMD type Current PMD type. Neighbor PHY type Neighbor PHY type. Link Error Estimate Link Error estimate. Reject Reason Last reject reason code. DEMFA Device-Specific Functions ------------------------------- The LANCP command SET DEVICE/DEVICE_SPECIFIC=(FUNCTION="FUNC",VALUE=(V1,V2,...)) provides a mechanism to issue device-specific functions to the DEMFA driver. Note that the function name is case sensitive and is always 4 characters in length. The command requires the SYSPRV privilege. The definition of these functions may change from one driver version to the next. The functions are: DEVICE_SPECIFIC=FUNCTION="CCOU" Clear the driver counters. This is useful in debug or test scenarios. ============= === DEFZA === ============= The DEFZA FDDI devices are: Device Bus Characteristics ------ --- --------------- DEFZA TURBOchannel Multimode fiber, 100 megabits/second DEFZA Internal Counters ----------------------- The DEFZA driver includes driver-specific counters, but does not support the LANCP command to display them. Access to these counters is through SDA with the command SHOW LAN/INTERNAL. DEFZA Device-Specific Functions ------------------------------- The DEFZA driver provides no device-specific functions. =========== === PDQ === =========== The PDQ FDDI devices are: Device Bus Characteristics ------ --- --------------- DEFQA-SA QBUS Multimode fiber, single attached station (SAS), 100 megabits/second DEFQA-DA QBUS Multimode fiber, dual attached station (DAS), 100 megabits/second DEFQA-SF QBUS UTP, single attached station (SAS), 100 megabits/second DEFQA-DF QBUS UTP, dual attached station (DAS), 100 megabits/second DEFTA-AA TURBOchannel Multimode fiber, single attached station (SAS), 100 megabits/second DEFTA-DA TURBOchannel Multimode fiber, dual attached station (DAS), 100 megabits/second DEFTA-UA TURBOchannel UTP, single attached station (SAS), 100 megabits/second DEFTA-MA TURBOchannel UTP, dual attached station (DAS), 100 megabits/second DEFAA-AA FutureBus+ Multimode fiber, single attached station (SAS), 100 megabits/second DEFAA-DA FutureBus+ Multimode fiber, dual attached station (DAS), 100 megabits/second DEFEA-AA EISA Multimode fiber, single attached station (SAS), 100 megabits/second DEFEA-DA EISA Multimode fiber, dual attached station (DAS), 100 megabits/second DEFEA-UA EISA UTP, single attached station (SAS), 100 megabits/second DEFEA-MA EISA UTP, dual attached station (DAS), 100 megabits/second DEFPA-AA PCI Multimode fiber, single attached station (SAS), 100 megabits/second DEFPA-DA PCI Multimode fiber, dual attached station (DAS), 100 megabits/second DEFPA-UA PCI UTP, single attached station (SAS), 100 megabits/second DEFPA-MA PCI UTP, dual attached station (DAS), 100 megabits/second PDQ Internal Counters --------------------- The LANCP command SHOW DEVICE/INTERNAL_COUNTERS FWA displays the entire set of internal counters maintained by the PDQ driver. Some counters are special debug counters. These are not displayed unless the additional qualifier /DEBUG is specified. Counters that are zero are not displayed unless the additional qualifier /ZERO is specified. The LAN$SDA SDA extension also displays the complete set of internal counters with the command LAN INTERNAL/DEVICE=EWA. The definition of these counters may change from one driver version to the next. The counters are: Driver version (X-n) Driver version numbered 1...n that usually is identical to the x-n ID displayed by an ANALYZE/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=FWA in the quadword driver version field. Device interrupts Number of times the driver interrupt service routine was called. Command errors Number of device commands completed with error status. Transmit errors Number of transmits completed with error status, because the ring was unavailable. Receive errors Number of receives completed by the PDQ with error status. Transmit timeouts Number of times the driver has timed out a transmit and has reset the device and completed outstanding I/O with error status. Command timeouts Number of times the driver has timed out a command request and has reset the device and completed outstanding I/O with error status. CSR command timeouts Number of times the driver has timed out a CSR command request and has reset the device and completed outstanding I/O with error status. Initialization timeouts Number of times the PDQ initialization procedure failed because of a timeout. Unaligned 1 segment transmit copies Number of single segment transmit buffers copied because the buffer was unaligned. Unaligned 2 segment transmit copies Number of multi segment transmit buffers copied because the buffer was unaligned. PTE to PFN translations 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. Transmit copies (too many segments) Number of transmit requests that exceeded the maximum number of chain segments that the driver can handle; the driver then copied some of them to a temporary buffer so that it could transmit the packet. Transmit failures (too few segments) Number of transmit requests completed with error status (SS$_INCSEGTRA) because the application did not specify the transmit buffer completely. Transmit failures (insufficient memory) Number of transmit requests completed with error status (SS$_INSFMEM) because the driver needed to copy the packet but could not allocate memory to do so. RESETs issued PDQ chip resets done. Inits (not using map registers) Number of unit initializations executed; since unit initialization is only executed once, this counter will be one, if map registers were not used to map the device data structures. Inits (using map registers) Number of unit initializations executed; since unit initialization is only executed once, this counter will be one, if map registers were used to map the device data structures. Transmit segments mapped 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. Receive buffers mapped Number of receive buffers that were described to the device using map registers, because part of the buffer existed in memory outside the DMA window. Soft errors handled Number of times errors were recovered in the driver by resetting and reinitializing the device, without notification of user applications. Fatal errors (software timeouts) Number of fatal timeout errors detected. EEPROM update timeouts Number of EEPROM update timeout errors detected. Last receive error status Last status reported on a receive error. Last command error status Last status reported on a command error. Last HTYP0 register contents Last read contents of the Host Type 0 Interrupt register. Last PSTAT register contents Last read contents of the Port Status register. First error code (1-TMO,3=XmtTMO, First fatal error code reported. First error time 9=HwErr,27=SoftErr) Time of the first fatal error. Last error code (1-TMO,3=XmtTMO, Last fatal error code reported. Last error time 9=HWErr,27=SoftErr) Time of the last fatal error. HTYP0 hardware errors Number of hardware errors reported in the Host Type 0 Interrupt register. HTYP0 hardware error mask Accumulated Host Type 0 Interrupt register bits set. Current time Current time in 10-milliseconds ticks of the counters request from LANCP. Statistics time Time of the last statistics report from the PDQ. --------------- Device Status --------------- SMT station ID SMT station ID. SMT station type SMT station type. SMT version SMT version of the PDQ firmware. Maximum SMT version Maximum SMT version found. Minimum SMT version Minimum SMT version found. Station state Station state. MLA of this station MAC address assigned to this station. TReq value in use by this station Requested Token Rotation Time (TReq) set for this station. TVX value in use by this station Valid Transmission Time (TVX) value set for this station. RTTO value in use by this station Restricted Token Timeout (RTTO) Time value set for this station. Ring purger election state Current ring purger election state. Link state Current link state. TNeg value negotiated on this ring Negotiated Target Token Rotation Time (TNeg) value set for this station. Duplicate address test results Duplicate Address Test results. Upstream neighbor address Upstream neighbor address. Old upstream neighbor address Previous upstream neighbor address. Upstream neighbor duplicate address status Duplicate Address Test status from the upstream neighbor. Downstream neighbor address Downstream neighbor address. Old downstream neighbor address Previous downstream neighbor address. Ring purger state Ring Purger state, (0 = Purger, 1 = Non-Purger, 2 = Candidate-Purger). Current frame stripping mode Current frame stripping mode. Ring error reason Last ring error reason code. Loopback mode Current loopback mode state. Ring latency Current ring latency. Source address in last directed beacon Source address in the last directed beacon frame. UNA in the last directed beacon Upstream Neighor Adress (UNA) in the last directed beacon frame. PHY type (A port) PHY type of the A port. PHY type (B port) PHY type of the B port. PMD type (A port) PMD type of the A port. PMD type (B port) PMD type of the A port. LEM threshold (A port) Link Error Monitor (LEM) threshold of the A port. LEM threshold (B port) Link Error Monitor (LEM) threshold of the B port. Current state (A port) Current state of tha A port. Current state (B port) Current state of tha B port. Physical type of neighbor (A port) Physical type of the neighbor on the A port. Physical type of neighbor (B port) Physical type of the neighbor on the B port. Link error rate (A port) Link Error rate of the A port. Link error rate (B port) Link Error rate of the B port. Reason for broken state (A port) Reason code for the broken state of the A port. Reason for broken state (B port) Reason code for the broken state of the B port. Reason for rejected state (A port) Reason code for the rejected state of the A port. Reason for rejected state (B port) Reason code for the rejected state of the B port. Interval (seconds) between counter update How often the PDQ chip delivers counters update to the driver. Module hardware version number PDQ hardware version. Module firmware version number PDQ firmware version. MOP device type (for SYSID) MOP device ID included in System ID messages sent. State of the FDDI LEDs (A port) Current state of the LEDs on the A port. State of the FDDI LEDs (B port) Current state of the LEDs on the B port. Seconds that frames are stale How much time after which frames are considered stale. Fork Delay (after scheduled) To help determine whether the buffering requirements of the driver and the PDQ 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 PDQ are sufficient for normal operation. If packets are being discarded, the buffering should be increased until the number of packets lost is minimal. --------------- Receive Buffers --------------- Minimum buffers requested Minimum number of receive buffers as set by default or by management request (setmode or LANCP command). This is used to determine the "Current minimum limit". Maximum buffers requested Maximum number of receive buffers as set by default or by management request (setmode or LANCP command). This is used to determine the "Current maximum limit". Current minimum limit Minimum number of receive buffers as determined by the driver and by management request, "Minimum buffers requested". The driver will not allow the number of receive buffers in its receive queues to drop below this value. This does not include receive buffers handed up to applications (and not yet returned). Current maximum limit Maximum number of receive buffers as determined by the driver and by management request, "Maximum buffers requested". The driver will deallocate receive buffers until the number allocated does not exceed than this maximum. When applications return receive buffers, the number may exceed this maximum at which point they are deallocated. Note that the driver allows this maximum to be exceeded somewhat to limit allocation and deallocation activity. See "Target number of buffers maximum" below. Current number of buffers Current number of receive buffers owned by the driver. Target number of buffers Desired number of receive buffers. As receive activity does not result in lost packets, this number is slowly decreased toward the "Current minimum limit". If packets are lost this number is sharply increased toward the "Current maximum limit". When the driver allocates receive buffers, it allocates them until reaching this target number. Target number of buffers maximum Maximum desired number of receive buffers. When an application returns a buffer to the driver, if the current number does not exceed this target maximum, the buffer is kept by the driver. Otherwise, it is deallocated. PDQ Device-Specific Functions ----------------------------- The LANCP command SET DEVICE/DEVICE_SPECIFIC=(FUNCTION="FUNC",VALUE=(V1,V2,...)) provides a mechanism to issue device-specific functions to the PDQ driver. Note that the function name is case sensitive and is always 4 characters in length. The command requires the SYSPRV privilege. The definition of these functions may change from one driver version to the next. The functions are: DEVICE_SPECIFIC=FUNCTION="CCOU" Clear the driver counters. This is useful in debug or test scenarios. DEVICE_SPECIFIC=FUNCTION="MAPR" Force all transmit and receive buffers to be described to the PDQ chip using map registers. If enabled, this setting is displayed in the driver flags in the driver internal counters. DEVICE_SPECIFIC=FUNCTION="SOFT" Force a non-fatal, i.e., soft error. The PDQ chip is stopped and restarted. DEVICE_SPECIFIC=(FUNCTION="LOOP",VALUE=loopvalue) If loop mode is 0, disable loopback mode, if 1, enable it. This is useful in test scenarios, where you would like to run an application in loopback mode when the application normally would not allow selection of loopback mode. The current setting is displayed in the driver internal counters. DEVICE_SPECIFIC=FUNCTION="HERR" Forces a fatal device error by damaging a transmit ring entry. ============== === TMS380 === ============== The TMS380 Token Ring devices are: Device Bus Characteristics ------ --- --------------- DETRA TURBOchannel 4/16 megabits/second, STP or UTP DW300 EISA 4/16 megabits/second, STP or UTP DW110 ISA 4/16 megabits/second, STP or UTP, aka P1392+ TC4048 PCI 4/16 megabits/second, STP or UTP, made by Thomas Conrad Corporation M8154 PCI 4/16 megabits/second, STP or UTP, made by Racore Computer Products, Inc. TMS380 Internal Counters ------------------------ The LANCP command SHOW DEVICE/INTERNAL_COUNTERS IWA displays the entire set of internal counters maintained by the TMS380 driver. Counters that are zero are not displayed unless the additional qualifier /ZERO is specified. The definition of these counters may change from one driver version to the next. The counters are: Device interrupts Number of times the driver interrupt service routine was called. Max outstanding interrupts Maximum queued interrupts detected in the interrupt service routine. Transmit copies (too segmented) Number of transmit requests that exceeded the maximum number of chain segments that the driver can handle; the driver then copied some of them to a temporary buffer so that it could transmit the packet. Receive resumptions Number of times receive was resumed after being suspended. Receive suspend status Current receive state (1 if suspended). Receive suspensions Number of times receive was suspended. Last ring status Last ring status value. Open failure reason Reason code for the last failed attempt to open (initialize) the device. Open retries done Number of retries attempting to open (initialize) the device. Rejected command Last rejected command opcode. Rejected command status Last rejected command status. Ucode type Microcode type. Last Hard Xmt Param_0 Last transmit error code. Adapter Check count Number of time the TMS380 failed with adapter check status, requiring reset and reinitialization. Last AdapterCheck status Last adapter check status code. Soft errors Number of times errors were recovered in the driver by resetting and reinitializing the device, without notification of user applications. --------------- Miscellaneous --------------- Current EXE$GL_ABSTIM_TICS Current time in 10-milliseconds ticks of the counters request from LANCP. Current functional address mask Current functional address mask in use. Current speed Current speed selected (4 or 16). Current media set Current media selection (STP or UTP). Current early token release Current setting of the early token release feature. Current monitor contender Current setting of the monitor contendor feature. Current driver state Current driver state. BUD wait counter Bring Up Diagnostics (BUD) wait counter. BUD retry counter Number of remaining retries for BUD. BUD failure reason Last BUD failure reason. INIT wait counter TMS380 initialization wait counter. INIT retry counter Number of remaining retries of initialization. INIT failure reason Last initialization failure code. OPEN retry timer Timer that schedules the next attempted TMS380 open (initialization). TMS380 Device-Specific Functions -------------------------------- The LANCP command SET DEVICE/DEVICE_SPECIFIC=(FUNCTION="FUNC",VALUE=(V1,V2,...)) provides a mechanism to issue device-specific functions to the TMS380 driver. Note that the function name is case sensitive and is always 4 characters in length. The command requires the SYSPRV privilege. The definition of these functions may change from one driver version to the next. The functions are: DEVICE_SPECIFIC=FUNCTION="CCOU" Clear the driver counters. This is useful in debug or test scenarios. ============ === OTTO === ============ The OTTO ATM devices are: Device Bus Characteristics ------ --- --------------- DGLTA TURBOchannel 155 megabits/second (OC3), multimode fiber DGLPB PCI 155 megabits/second (OC3), multimode fiber DGLPA-UA PCI 155 megabits/second (OC3), UTP DGLPA-FA PCI 155 megabits/second (OC3), multimode fiber OTTO Internal Counters ---------------------- The OTTO driver includes driver-specific counters, but does not support the LANCP command to display them. Access to these counters is through SDA with the command SHOW LAN/INTERNAL. OTTO Device-Specific Functions ------------------------------ The OTTO driver provides no device-specific functions. ============ === FORE === ============ The Fore ATM devices are: Device Characteristics ------ --------------- DAPBA-UA 155 megabits/second (OC3), UTP DAPBA-FA 155 megabits/second (OC3), multimode fiber DAPCA-FA 622 megabits/second (OC12), multimode fiber FORE Internal Counters ---------------------- The LANCP command SHOW DEVICE/INTERNAL_COUNTERS HWA displays the entire set of internal counters maintained by the FORE driver. Counters that are zero are not displayed unless the additional qualifier /ZERO is specified. The definition of these counters may change from one driver version to the next. The counters are: Device interrupts Number of times the driver interrupt service routine was called. USB errors TBD Empty interrupts TBD Physical interrupts TBD Barracuda interrupts TBD Unknown interrupts TBD Abort interrupts TBD Pending vc teardowns TBD Active CRCTXs Number of map registers (described by CRCTX structures) actively in use. Allocated CRCTXs Number of map registers currently allocated. RCV length errors TBD RCV padding errors TBD Link down transmits Number of transmit requests received when the link was down. Pte->PFN translations 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. Too few segments Number of transmit requests completed with error status (SS$_INCSEGTRA) because the application did not specify the transmit buffer completely. Transmit copies TBD Transmit padding TBD Mapped transmits 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. Transmit throttles TBD Receive throttles TBD Soft errors Number of times errors were recovered in the driver by resetting and reinitializing the device, without notification of user applications. RCV non-AAL5 errors TBD RCVs held TBD Abort Addr. TBD Current EXE$GL_ABSTIM_TICS Current time in 10-milliseconds ticks of the counters request from LANCP. Current port driver state TBD --------------- EEPROM Information --------------- Hardware Revision TBD Serial Number (decimal) TBD Media Type (hex) TBD Hardware Address TBD Product Id TBD --------------- PMD Statistics --------------- RX carrier present TBD Cell Framing errors TBD Section bit interleaved parity TBD Path bit interleaved parity TBD Line bit interleaved parity TBD Path far end block errors TBD Line far end block errors TBD Correctable header check seq TBD Uncorrectable header check seq TBD --------------- ATM Layer Statistics --------------- RX VPI out of range TBD RX VCI out of range TBD RX VPI not open TBD RX VCI not open TBD --------------- AAL0 Layer Statistics --------------- TX AAL0 cells TBD RX AAL0 cells TBD RX AAL0 cells dropped TBD --------------- AAL4 Layer Statistics --------------- TX AAL4 PDUs TBD TX AAL4 cells TBD RX AAL4 PDUs TBD RX AAL4 cells TBD RX AAL4 CS protocol errors TBD RX AAL4 SAR protocol errors TBD RX AAL4 CRC errors TBD RX AAL4 PDUs dropped TBD RX AAL4 cells dropped TBD --------------- AAL5 Layer Statistics --------------- TX AAL5 PDUs TBD TX AAL5 cells TBD RX AAL5 PDUs TBD RX AAL5 cells TBD RX AAL5 protocol errors TBD RX AAL5 CRC errors TBD RX AAL5 congestion errors TBD RX AAL5 PDUs dropped TBD RX AAL5 cells dropped TBD --------------- Auxiliary Statistics --------------- Allocation failure (small type 1) TBD Allocation failure (small type 2) TBD Allocation failure (large type 1) TBD Allocation failure (large type 2) TBD RX queue full TBD FORE Device-Specific Functions ------------------------------ The FORE driver provides no device-specific functions.