The protocol edge of the Hyper-V extensible switch issues an object identifier (OID) set request of OID_SWITCH_NIC_CONNECT to notify underlying extensible switch extensions that a network connection between an extensible switch port and a network adapter is completely established. The protocol edge previously notified extensions that this connection is being established when it issued an OID set request of OID_SWITCH_NIC_CREATE.
The PortId member of the NDIS_SWITCH_NIC_PARAMETERS structure specifies the extensible switch port for which the connect notification is being made. The extensible switch extension can obtain the parameter information for this port and other extensible switch ports in the following ways:
By issuing OID query requests of OID_SWITCH_PORT_ARRAY. The extension issues this OID on FilterAttach only when OID_SWITCH_PARAMETERS returns an NDIS_SWITCH_PARAMETERS structure with IsActive set to TRUE. If IsActive is FALSE, the extension issues the OID when the NetEventSwitchActivate NET_PNP_EVENT is issued by the extension miniport adapter.
The Index member of the NDIS_SWITCH_NIC_PARAMETERS structure specifies the index of a network adapter for which the connection notification is being made. The network adapter with the specified Index value is connected to the extensible switch port specified by the PortId member. For more information on these index values, see Network Adapter Index Values.
When it receives the OID set request of OID_SWITCH_NIC_CONNECT, the extension must follow these guidelines:
When the OID_SWITCH_NIC_CONNECT request completes with NDIS_STATUS_SUCCESS, the network connection and extensible switch port are fully operational. The extension can generate or forward packet traffic to the port's network connection. The extension can also issue extensible switch OIDs or status indications that use the port as the source port. The extension can also call ReferenceSwitchPort to increment the extensible switch reference counter for the port.
The extension must not modify the NDIS_SWITCH_NIC_PARAMETERS structure that is associated with the OID request.
The extension must always call NdisFOidRequest to forward this OID request to underlying extensions. The extension must not complete the OID request itself.
The extensible switch external network adapter can bind to one or more underlying physical adapters. For every physical network adapter that is bound to the external network adapter, the protocol edge of the extensible switch issues a separate OID set request of OID_SWITCH_NIC_CONNECT. Each OID set request specifies a different network adapter connection index value. For more information on these values, see Network Adapter Index Values.
The extension must maintain the connection state for each underlying physical adapter that is bound to the external network adapter. For more information about the different configurations in which physical network adapters can be bound to the external network adapter, see Types of Physical Network Adapter Configurations.
Note The extension must not issue its own OID set requests of OID_SWITCH_NIC_CONNECT.
For more information about the states of extensible switch ports and network adapter connections, see Hyper-V Extensible Switch Port and Network Adapter States.
Return Status Codes
The underlying miniport edge of the extensible switch completes the OID set request of OID_SWITCH_NIC_CONNECT and returns the following status code.
The OID request completed successfully.
Supported in NDIS 6.30 and later.
|Ntddndis.h (include Ndis.h)|