Creating a NIC Switch

This section describes the requirements and guidelines for creating the NIC switch of a network adapter that supports single root I/O virtualization (SR-IOV). The miniport driver for the PCI Express (PCIe) Physical Function (PF) of the SR-IOV network adapter creates and configures the NIC switch on the adapter.

A NIC switch can be created through one of the following methods:

Static Creation
The NIC switch is statically created on the SR-IOV network adapter by using a set of switch parameters defined by registry settings. After the NIC switch is created, its parameters cannot be changed while the driver is running.

The PF miniport driver statically creates the NIC switch within the context of the call to the driver's MiniportInitializeEx function. However, the NIC switch cannot be used until NDIS issues an object identifier (OID) method request of OID_NIC_SWITCH_CREATE_SWITCH. Even though the NIC switch was previously created, the PF miniport driver enabled the NIC switch for use when it handled this OID request.

For more information about this method, see Static Creation of a NIC Switch.

Dynamic Creation
The NIC switch is dynamically created on the SR-IOV network adapter through the OID method request of OID_NIC_SWITCH_CREATE_SWITCH. This OID request defines the NIC switch parameters through the NDIS_NIC_SWITCH_PARAMETERS structure. These parameters are also based on the staticallydefined registry settings but could change dynamically while the miniport driver is running.

For more information about this method, see Dynamic Creation of a NIC Switch.

For more information on how to handle the OID_NIC_SWITCH_CREATE_SWITCH request, see Handling the OID_NIC_SWITCH_CREATE_SWITCH Request.

For more information on NIC switches for SR-IOV network adapters, see NIC Switches.

Note  The miniport driver for a PCIe Virtual Function (VF) on the SR-IOV network adapter does not create or configure the network adapter's hardware resources, such as the NIC switch. For more information, see Writing SR-IOV VF Miniport Drivers.