Mapping of NDIS Network Interfaces to NDIS OIDs

To respond to NDIS interface object requests, NDIS interface providers can cache information that they obtain from underlying drivers and can also issue OID requests to obtain information about underlying interfaces.

As a proxy interface provider, NDIS typically caches information that it receives about miniport adapters and filter modules. The NDIS proxy interface provider uses the cached information, if appropriate, to respond to interface requests. In some cases, the NDIS proxy interface provider issues OIDs to obtain information for interfaces. For example, the primary source of interface information for NDIS 5.x and earlier drivers is through OID requests. In NDIS 6.0 drivers, there are additional sources of interface information, such as the NDIS_RESTART_ATTRIBUTES and NDIS_MINIPORT_ADAPTER_GENERAL_ATTRIBUTES structures. For more information about alternate sources of information in the OIDs, see the reference page for each OID.

The NDIS proxy interface provider also generates some interface information on behalf of miniport adapters and filter modules. For example, NDIS generates an interface alias (ifAlias in RFC 2863) in response to the ifAlias request. NDIS defines additional OIDs to obtain such information from NDIS interface providers. For example, OID_GEN_ALIAS allows an interface provider to specify an ifAlias object. Such OIDs are specific to interface providers and are never used to obtain information from other NDIS drivers.

In addition to the OIDs that are specific to interface providers, interface providers must support the other NDIS OIDs that NDIS can use to obtain interface information. NDIS can issue these OIDs to the provider and the provider can issue these OIDs, if necessary, to collect information from underlying interfaces.

Note  NDIS defines additional statistics that are not included in RFC 2863. For a list that maps all of the NDIS-supported interface statistics to OIDs, see the members of the NDIS_INTERFACE_INFORMATION structure. The table in this topic defines the mapping for statistics that are defined in the RFC 2863 specification for readers that are trying to relate the specification to the NDIS implementation.

The following table shows the mapping from the objects that are defined in the management information base (MIB) to NDIS 6.0 OIDs and to OIDs that NDIS might use to obtain information from NDIS 5.x and earlier drivers. The table also includes some additional interface objects that are not defined as MIB objects. The interface objects also correspond to members in the NDIS_INTERFACE_INFORMATION structure that is associated with the OID_GEN_INTERFACE_INFO OID.

Note  The NDIS 6.0 OIDs in the table that are marked with a asterisk (*) prefix are specific to interface providers. The other NDIS 6.0 OIDs can be issued to interface providers and other NDIS drivers.

Interfaces MIB value NDIS 6.0 OIDs NDIS 5.x and earlier OIDs

ifAdminStatus

* OID_GEN_ADMIN_STATUS

ifAlias

* OID_GEN_ALIAS

ifCounterDiscontinuityTime

* OID_GEN_DISCONTINUITY_TIME

ifHCInBroadcastPkts

OID_GEN_BROADCAST_FRAMES_RCV

OID_GEN_BROADCAST_FRAMES_RCV

ifHCInMulticastPkts

OID_GEN_MULTICAST_FRAMES_RCV

OID_GEN_MULTICAST_FRAMES_RCV

ifHCInOctets

OID_GEN_BYTES_RCV

NDIS adds the results from these OIDs to collect the ifHCInOctets value from NDIS 5.x drivers:

OID_GEN_DIRECTED_BYTES_RCV+

OID_GEN_MULTICAST_BYTES_RCV+

OID_GEN_BROADCAST_BYTES_RCV

NDIS 6.0 interface providers should also support these OIDs.

ifHCInUcastPkts

OID_GEN_DIRECTED_FRAMES_RCV

OID_GEN_DIRECTED_FRAMES_RCV

ifHCOutBroadcastPkts

OID_GEN_BROADCAST_FRAMES_XMIT

OID_GEN_BROADCAST_FRAMES_XMIT

ifHCOutMulticastPkts

OID_GEN_MULTICAST_FRAMES_XMIT

OID_GEN_MULTICAST_FRAMES_XMIT

ifHCOutOctets

OID_GEN_BYTES_XMIT

NDIS adds the results from these OIDs to collect the ifHCInOctets value from NDIS 5.x drivers:

OID_GEN_DIRECTED_BYTES_XMIT+

OID_GEN_MULTICAST_BYTES_XMIT+

OID_GEN_BROADCAST_BYTES_XMIT

NDIS 6.0 interface providers should also support these OIDs.

ifHCOutUCastPkts

OID_GEN_DIRECTED_FRAMES_XMIT

OID_GEN_DIRECTED_FRAMES_XMIT

ifHighSpeed

* OID_GEN_LINK_SPEED_EX, * OID_GEN_XMIT_LINK_SPEED, * OID_GEN_RCV_LINK_SPEED

OID_GEN_LINK_SPEED

ifInDiscards

OID_GEN_RCV_DISCARDS

ifInErrors

OID_GEN_RCV_ERROR

OID_GEN_RCV_ERROR

ifLastChange

* OID_GEN_LAST_CHANGE

ifMtu

OID_GEN_MAXIMUM_FRAME_SIZE

OID_GEN_MAXIMUM_FRAME_SIZE

ifOperStatus

* OID_GEN_OPERATIONAL_STATUS

ifOutDiscards

OID_GEN_XMIT_DISCARDS

OID_GEN_XMIT_DISCARDS

ifOutErrors

OID_GEN_XMIT_ERROR

OID_GEN_XMIT_ERROR

ifPhysAddress

OID_802_3_CURRENT_ADDRESS

OID_802_3_CURRENT_ADDRESS

ifPromiscuousMode

* OID_GEN_PROMISCUOUS_MODE

Not applicable

OID_802_3_PERMANENT_ADDRESS

OID_802_3_PERMANENT_ADDRESS

Not applicable

* OID_GEN_INTERFACE_INFO

Not applicable

* OID_GEN_MEDIA_CONNECT_STATUS_EX

Not applicable

* OID_GEN_MEDIA_DUPLEX_STATE

Not applicable

OID_GEN_STATISTICS