NDIS_SWITCH_NIC_PARAMETERS 結構 (ntddndis.h)
NDIS_SWITCH_NIC_PARAMETERS 結構會指定連線至 Hyper-V 可延伸交換器埠之網路適配器 (NIC) 的組態參數。
語法
typedef struct _NDIS_SWITCH_NIC_PARAMETERS {
NDIS_OBJECT_HEADER Header;
ULONG Flags;
NDIS_SWITCH_NIC_NAME NicName;
NDIS_SWITCH_NIC_FRIENDLYNAME NicFriendlyName;
NDIS_SWITCH_PORT_ID PortId;
NDIS_SWITCH_NIC_INDEX NicIndex;
NDIS_SWITCH_NIC_TYPE NicType;
NDIS_SWITCH_NIC_STATE NicState;
NDIS_VM_NAME VmName;
NDIS_VM_FRIENDLYNAME VmFriendlyName;
GUID NetCfgInstanceId;
ULONG MTU;
USHORT NumaNodeId;
UCHAR PermanentMacAddress[NDIS_MAX_PHYS_ADDRESS_LENGTH];
UCHAR VMMacAddress[NDIS_MAX_PHYS_ADDRESS_LENGTH];
UCHAR CurrentMacAddress[NDIS_MAX_PHYS_ADDRESS_LENGTH];
BOOLEAN VFAssigned;
ULONG64 NdisReserved[2];
} NDIS_SWITCH_NIC_PARAMETERS, *PNDIS_SWITCH_NIC_PARAMETERS;
成員
Header
NDIS_SWITCH_NIC_PARAMETERS 結構的型別、修訂和大小。 這個成員會格式化為 NDIS_OBJECT_HEADER 結構。
Header 的 Type 成員必須設定為 NDIS_OBJECT_TYPE_DEFAULT。 若要指定NDIS_SWITCH_NIC_PARAMETERS結構的版本,標頭的 Revision 成員必須設定為下列值:
NDIS_SWITCH_NIC_PARAMETERS_REVISION_1
NDIS 6.30 和更新版本的原始版本。
將 Size 成員設定為 NDIS_SIZEOF_NDIS_SWITCH_NIC_PARAMETERS_REVISION_1。
Flags
包含旗標位 OR 的 ULONG 值。 已定義下列旗標值。
值 | 意義 |
---|---|
|
當 VM NIC 物件存留期內第一次發出 OID_SWITCH_NIC_CREATE OID 時,就會設定此旗標。 如果已設定此旗標:
|
NicName
NDIS_SWITCH_NIC_NAME值,指定連接到可延伸交換器埠之網路適配器的唯一內部名稱。
如需詳細資訊,請參閱<備註>一節。
NicFriendlyName
NDIS_SWITCH_NIC_FRIENDLYNAME值,指定網路適配器的用戶易記描述。
PortId
NDIS_SWITCH_PORT_ID值,其中包含網路適配器所連線之可延伸交換器埠的唯一標識符。
NicIndex
NDIS_SWITCH_NIC_INDEX值,指定連接到 PortId 成員所指定可延伸交換器埠之網路適配器的索引。
如需NDIS_SWITCH_NIC_INDEX值的詳細資訊,請參閱 網路適配器索引值。
NicType
NDIS_SWITCH_NIC_TYPE值,指定連接到可延伸交換器埠的網路適配器類型。
NicState
指定網路適配器目前狀態的 NDIS_SWITCH_NIC_STATE 值。
VmName
NDIS_VM_NAME值,指定 Hyper-V 子分割區的唯一內部名稱,其中公開網路適配器的客體操作系統正在執行。
Hyper-V 子分割也稱為虛擬機 (VM) 。
VmFriendlyName
NetCfgInstanceId
GUID 值,指定基礎網路適配器的 NetCfgInstanceId 登錄值。
MTU
ULONG 值,指定網路適配器的最大傳輸單位 (MTU) 大小,以位元組為單位。
NumaNodeId
USHORT 值,指定 CPU 的慣用非統一記憶體存取 (NUMA) 節點的識別符。 在支援 NUMA 架構的電腦上,慣用的 NUMA 節點是與網路適配器最小距離的 CPU。
PermanentMacAddress[NDIS_MAX_PHYS_ADDRESS_LENGTH]
UCHAR 陣列,指定在網路適配器的主機分割區上所設定的媒體存取控制 (MAC) 位址。 這與網路適配器目前使用的 MAC 位址不同。
VMMacAddress[NDIS_MAX_PHYS_ADDRESS_LENGTH]
UCHAR 陣列,指定 VM 本身內網路配接器上設定的 MAC 位址。 欄位是非 VM NIC 的所有零。 如果 AllowMacSpoofing (from NDIS_SWITCH_PORT_PROPERTY_SECURITY) 為 TRUE,此位址也會套用至 CurrentMacAddress。
CurrentMacAddress[NDIS_MAX_PHYS_ADDRESS_LENGTH]
UCHAR 陣列,指定目前用於網路適配器交換器中的 MAC 位址。 如果 AllowMacSpoofing 和 AllowTeaming 都是 FALSE,則此值會等於 PermanentMacAddress。 如果 AllowMacSpoofing 為 TRUE,這個值會等於 VMMacAddress。 如果 AllowTeaming 為 TRUE,且在 VM 內發生小組故障轉移, 則 CurrentMacAddress 會等於故障轉移至網路適配器的 MAC 位址;如果未發生故障轉移,則 為 PermanentMacAddress 。
VFAssigned
BOOLEAN 值,如果設定為 TRUE,則會指定網路適配器已連接到 PCI Express (PCIe) 虛擬函式 (VF) 。 VF 是由支援單一根目錄 I/O 虛擬化的基礎實體網路適配器所公開, (SR-IOV) 介面。
如需詳細資訊,請參閱<備註>一節。
NdisReserved[2]
備註
OID_SWITCH_NIC_ARRAY的 OID 查詢要求 會 傳回包含零個或多個專案的 NDIS_SWITCH_NIC_ARRAY 結構。 每個元素都會格式化為 NDIS_SWITCH_NIC_PARAMETERS 結構。
NDIS_SWITCH_NIC_PARAMETERS結構也用於下列 OID 要求:
NicType 和 NicName 成員的指導方針
根據 NicType 成員的值, NicName 成員的格式如下:-
如果 NicType 成員設定為 NdisSwitchNicTypeExternal,NicName 成員的值就是系結至外部網路適配器之實體網路適配器的唯一實例標識碼 (InstanceId) 。 這種類型的網路適配器會在 Hyper-V 父分割區中執行的管理作業系統中公開。
外部網路適配器會提供與主機上可用之實體網路介面的連線。 外部網路適配器可由 Hyper-V 父分割區和所有子分割區存取。
注意InstanceId 值是由在管理作業系統中執行的 隨插即用 管理員所產生。 -
如果 NicType 成員設定為 NdisSwitchNicTypeInternal,NicName 成員的值就是識別內部網路適配器的裝置顯示名稱。 這種類型的網路適配器會在 Hyper-V 父分割區的管理作業系統中公開。
Hyper-V 父分割區和所有子分割區都可以存取內部網路適配器。 不過,內部網路適配器不會連線到主機上可用的實體網路介面。
注意 裝置顯示名稱是由在管理作業系統中執行的 Hyper-V WMI 管理層所產生。 - 對於所有其他 NicType 成員值, NicName 成員的值會由原則管理介面唯一指派給綜合或模擬網路適配器。 這些類型的網路適配器會在執行的客體操作系統中公開,這是 Hyper-V 子分割區。
VFAssigned 成員的指導方針
PCIe VF 是由支援 SR-IOV 介面的基礎實體適配卡所建立和配置。 建立PCIe VF之後,虛擬化堆疊會將 Hyper-V 子分割附加或 指派給 VF。 在此分割區中執行的客體操作系統會公開虛擬機 (VM) 連接的網路適配器,或 指派 給基礎 SR-IOV 實體適配卡。如果 VFAssigned 成員設定為 TRUE,封包會直接在基礎 SR-IOV 實體網路適配器與虛擬適配卡之間路由傳送。 不過,由於可延伸交換器未涉及封包傳遞,因此不會套用至這些封包的可延伸交換器埠原則,例如訪問控制清單 (ACL) 。
延伸模組可以發出 NDIS_STATUS_SWITCH_PORT_REMOVE_VF 狀態指示來移除 VF 指派。 此指示會導致封包透過可延伸交換器埠傳遞,而不是直接在 VM 網路適配器與 SR-IOV 實體適配卡之間傳遞。 這可讓可延伸交換器埠原則套用至透過可延伸交換器埠接收或傳送的封包。 當擴充功能發出 NDIS_STATUS_SWITCH_PORT_REMOVE_VF 狀態指示時,它會指定虛擬網路適配器所連線的可延伸交換器埠。
如需詳細資訊,請參閱 NDIS_STATUS_SWITCH_PORT_REMOVE_VF。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | NDIS 6.30 和更新版本支援。 |
標頭 | ntddndis.h (包含 Ndis.h、Fwpsk.h) |
另請參閱