NDIS_NIC_SWITCH_VPORT_INFO structure (ntddndis.h)
The NDIS_NIC_SWITCH_VPORT_INFO structure specifies the configuration for a virtual port (VPort) on a network adapter switch of the network adapter.
Syntax
typedef struct _NDIS_NIC_SWITCH_VPORT_INFO {
NDIS_OBJECT_HEADER Header;
NDIS_NIC_SWITCH_VPORT_ID VPortId;
ULONG Flags;
NDIS_NIC_SWITCH_ID SwitchId;
NDIS_VPORT_NAME VPortName;
NDIS_SRIOV_FUNCTION_ID AttachedFunctionId;
ULONG NumQueuePairs;
NDIS_NIC_SWITCH_VPORT_INTERRUPT_MODERATION InterruptModeration;
NDIS_NIC_SWITCH_VPORT_STATE VPortState;
GROUP_AFFINITY ProcessorAffinity;
ULONG LookaheadSize;
ULONG NumFilters;
} NDIS_NIC_SWITCH_VPORT_INFO, *PNDIS_NIC_SWITCH_VPORT_INFO;
Members
Header
The type, revision, and size of the NDIS_NIC_SWITCH_VPORT_INFO structure. This member is formatted as an NDIS_OBJECT_HEADER structure.
The miniport driver must set the Type member of Header to NDIS_OBJECT_TYPE_DEFAULT. To specify the version of the NDIS_NIC_SWITCH_VPORT_INFO structure, the driver must set the Revision member of Header to the following value:
NDIS_NIC_SWITCH_VPORT_INFO_REVISION_1
Original version for NDIS 6.30 and later.
Set the Size member to NDIS_SIZEOF_NIC_SWITCH_VPORT_INFO_REVISION_1.
VPortId
An NDIS_NIC_SWITCH_VPORT_ID value that uniquely identifies the virtual port (VPort) on the network adapter.
A value of NDIS_DEFAULT_VPORT_ID specifies the default VPort on the switch. The default VPort is always attached to the PCI Express (PCIe) Physical Function (PF) of the network adapter.
Flags
A ULONG value that contains a bitwise OR of flags. This member is reserved for NDIS.
SwitchId
An NDIS_NIC_SWITCH_ID value that uniquely identifies a network adapter switch that was created on the network adapter. The VPort identified through the VPortId member is created on the switch specified by the SwitchId member.
The switch identifier is an integer between zero and the number of switches that the network adapter supports. A value of NDIS_DEFAULT_SWITCH_ID indicates the default network adapter switch.
VPortName
An NDIS_VPORT_NAME value that specifies the name of the VPort that was created on the network adapter switch. This member contains the user-friendly description of the VPort.
AttachedFunctionId
An NDIS_SRIOV_FUNCTION_ID value that specifies the identifier of a VF or the PF to which the VPort is attached.
NumQueuePairs
A ULONG value that specifies the number of queue pairs configured for this VPort.
A queue pair consists of a transmit queue and receive queue. Queue pairs associated with the default VPort are configured at the time of switch creation through an OID method request of OID_NIC_SWITCH_CREATE_SWITCH. One or more queue pairs are configured on a nondefault VPort through an OID method request of OID_NIC_SWITCH_CREATE_VPORT.
InterruptModeration
An NDIS_NIC_SWITCH_VPORT_INTERRUPT_MODERATION value that specifies the interrupt moderation setting of the VPort.
VPortState
An NDIS_NIC_SWITCH_VPORT_STATE value that specifies the state of the VPort.
ProcessorAffinity
A GROUP_AFFINITY value that specifies the group number and a bitmap of the CPUs that this VPort can be associated with.
This member is valid only for the VPorts attached to the PF. This field is not valid for nondefault VPorts that are attached to a VF.
LookaheadSize
This member is reserved for future use. This member must be set to zero.
NumFilters
A ULONG value that specifies the number of receive filters that have been configured on the network adapter.
Remarks
An NDIS_NIC_SWITCH_VPORT_INFO structure contains information about one of the following:
- A nondefault VPort that was previously created through an OID method request of OID_NIC_SWITCH_CREATE_VPORT.
- The default VPort that is attached to the PF. The default VPort always exists and cannot be deleted.
One or more NDIS_NIC_SWITCH_VPORT_INFO structures are returned through the NDIS_NIC_SWITCH_VPORT_INFO_ARRAY structure.
For more information about the SR-IOV interface, see Overview of Single Root I/O Virtualization (SR-IOV).
Requirements
Requirement | Value |
---|---|
Minimum supported client | Supported in NDIS 6.30 and later. |
Header | ntddndis.h (include Ndis.h) |
See also