Previous Next

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 O   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 returns zero, indicating that it supports no options.

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.