1.6 NDIS Management Information and OIDs

Each NIC driver contains its own MIB, an information block in which the driver stores dynamic configuration information and statistical information that a management entity can query or set. Configuration information includes data such as an Ethernet multicast address list, and statistical information includes data such as the number of broadcast packets received. Each information element within the MIB is referred to as an object. To refer to each such managed object, NDIS defines an Object Identifier. Therefore, if a management entity wants to query or set a particular managed object, it must provide the specific OID for that object.

The MIB tracks three classes of objects:

  1. Those general to all NDIS NIC drivers

  2. Those specific to all NDIS NIC drivers for a given medium type, such as Ethernet or Token Ring

  3. Those specific to a particular vendor implementation

 

The general and mandatory media-specific OIDs are documented in the Network Driver Reference. For these system-defined OID_XXX codes, this documentation indicates whether an NDIS driver’s MiniportQueryInformation function can be queried on the associated management object or the MiniportSetInformation function can receive a request to set the management object. In legacy full NIC drivers, the MacRequest function is called to both query and set values, while MacQueryGlobalStatistics is called for global statistics queries. The implementation-specific OIDs for a particular NIC driver should be listed and described in the documentation accompanying a given NIC driver.

Besides being classified as either operational characteristics (for example, multicast address list) or statistics (for example, broadcast packets received), objects are classified as either mandatory or optional. All operational characteristics objects for either general or media-specific classes are mandatory, but only some statistics objects are mandatory. All implementation-specific objects are classified as mandatory.

Figure 1.2 shows the structure of an OID.

Figure 1.2 NDIS OIDs

The first 3 bytes of the OID provide a key to the OID’s various classifications, with the fourth byte identifying the specific information management object within those classifications.

For a listing and descriptions of all NDIS general and media-specific OIDs, refer to the Network Driver Reference.