5.2 Ethernet Objects

This describes the OIDs for Ethernet objects, both operational and statistical types.

Ethernet Operational Characteristics

The following chart summarizes the OIDs used to get or set Ethernet operational characteristics for underlying NDIS drivers and their NICs.

Length

Q

S

Name

6

M

OID_802_3_PERMANENT_ADDRESS 
Permanent station address

6

M

OID_802_3_CURRENT_ADDRESS 
Current station address

Arr(6)

M

M

OID_802_3_MULTICAST_LIST 
Current multicast address list

4

M

OID_802_3_MAXIMUM_LIST_SIZE 
Maximum size of multicast address list

4

M

OID_802_3_MAC_OPTIONS 
NIC flags (encoded)

The following describes each of the OID_XXX listed in the preceding chart more fully.

OID_802_3_PERMANENT_ADDRESS

The address of the NIC encoded in the hardware.

OID_802_3_CURRENT_ADDRESS

The address the NIC is currently using.

The network management software cannot set the current station address using the NDIS interface library. It must set this address as a configuration parameter.

OID_802_3_MULTICAST_LIST

The multicast address list on the NIC enabled for packet reception.

When a NIC driver initializes, it resets the NIC so the multicast address list is zero. NDIS also initializes the packet filter so it does not allow the protocol driver to receive multicast packets.

To receive a multicast packet, the protocol driver must later set the packet filter to include the NDIS_PACKET_TYPE_MULTICAST flag. At any time, it can disable multicast packet reception by canceling this flag. The order in which the protocol driver enables reception for multicast packets is not important.

The NIC driver can set a limit on the number of multicast addresses bound protocol drivers can enable simultaneously. NDIS returns NDIS_STATUS_MULTICAST_FULL if a protocol driver exceeds this limit or if it specifies an invalid multicast address.

A protocol driver can set the packet filter to enable all multicast packets, and do the filtering itself.

For a query, NDIS returns a list containing the union of all bindings’ multicast address lists.

OID_802_3_MAC_OPTIONS

A protocol can use this OID to determine features supported by the underlying driver, which could be emulating Ethernet.

The underlying driver either returns zero, indicating that it supports no options, or NDIS_802_3_OPTION_PRIORITY, indicating that it supports prioritized packets.

For example, the drivers of NICs for which the native media type is 100VG_AnyLAN or PACE should support packet priority. Such a NIC driver maps the NDIS priority range 0-3 to the medium-specific normal priority (zero) and the NDIS priority range 4-7 to the medium-specific high priority (one).

Any protocol bound to an underlying driver that supports packet priority can send prioritized packets over the network by setting up the out-of-band data block(s) associated with NDIS packet descriptor(s) before that protocol calls NdisSendPackets or NdisSend. However, such a protocol must take care to pass packet arrays in prioritized order to NdisSendPackets.

OID_802_3_MAXIMUM_LIST_SIZE

The maximum number of multicast addresses the NIC driver can manage.

This list is global for all protocols bound to (or above) the NIC. Consequently, a protocol can receive NDIS_STATUS_MULTICAST_FULL from the NIC driver when attempting to set the multicast address list, even if the number of elements in the given list is less than the number originally returned for this query.

Ethernet Statistics

The following chart summarizes the OIDs used to get Ethernet statistics for NICs.

Length

Q

S

Name

4

M

OID_802_3_RCV_ERROR_ALIGNMENT 
Frames received with alignment error

4

M

OID_802_3_XMIT_ONE_COLLISION 
Frames transmitted with one collision

4

M

OID_802_3_XMIT_MORE_COLLISIONS 
Frames transmitted with more than one collision

4

O

OID_802_3_XMIT_DEFERRED 
Frames transmitted after deferral

4

O

OID_802_3_XMIT_MAX_COLLISIONS 
Frames not transmitted due to collisions

4

O

OID_802_3_RCV_OVERRUN 
Frames not received due to overrun

4

O

OID_802_3_XMIT_UNDERRUN 
Frames not transmitted due to underrun

4

O

OID_802_3_XMIT_HEARTBEAT_FAILURE 
Frames transmitted with heartbeat failure

4

O

OID_802_3_XMIT_TIMES_CRS_LOST 
Times carrier sense signal lost during transmission

4

O

OID_802_3_XMIT_LATE_COLLISIONS 
Late collisions detected

The following describes each of the OID_XXX listed in the preceding chart more fully.

OID_802_3_RCV_ERROR_ALIGNMENT

The number of frames received with alignment errors.

OID_802_3_XMIT_ONE_COLLISION

The number of frames successfully transmitted after exactly one collision.

OID_802_3_XMIT_MORE_COLLISIONS

The number of frames successfully transmitted after more than one collision.

OID_802_3_XMIT_DEFERRED

The number of frames successfully transmitted after the NIC defers transmission at least once.

OID_802_3_XMIT_MAX_COLLISIONS

The number of frames not transmitted due to excessive collisions.

OID_802_3_RCV_OVERRUN

The number of frames not received due to overrun errors on the NIC.

OID_802_3_XMIT_UNDERRUN

The number of frames not transmitted due to underrun errors on the NIC.

OID_802_3_XMIT_HEARTBEAT_FAILURE

The number of frames successfully transmitted without detection of the collision-detect heartbeat.

OID_802_3_XMIT_TIMES_CRS_LOST

The number of times the CRS signal has been lost during packet transmission.

OID_802_3_XMIT_LATE_COLLISIONS

The number of collisions detected after the normal window.