структура NDIS_SWITCH_NIC_PARAMETERS (ntddndis.h)
Структура NDIS_SWITCH_NIC_PARAMETERS задает параметры конфигурации сетевого адаптера, подключенного к порту расширяемого коммутатора Hyper-V.
Синтаксис
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 .
Элемент Typeзаголовка должен иметь значение NDIS_OBJECT_TYPE_DEFAULT. Чтобы указать версию структуры NDIS_SWITCH_NIC_PARAMETERS , необходимо задать для элемента Revisionзаголовка следующее значение:
NDIS_SWITCH_NIC_PARAMETERS_REVISION_1
Исходная версия для NDIS 6.30 и более поздних версий.
Задайте для элемента Размерзначение NDIS_SIZEOF_NDIS_SWITCH_NIC_PARAMETERS_REVISION_1.
Flags
Значение ULONG , содержащее побитовое ИЛИ флагов. Определяется следующее значение флага.
Значение | Значение |
---|---|
|
Этот флаг устанавливается, когда 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 также называется виртуальной машиной.
VmFriendlyName
NetCfgInstanceId
Значение GUID, указывающее значение реестра NetCfgInstanceId базового сетевого адаптера.
MTU
Значение ULONG , указывающее максимальный размер единицы передачи (MTU) (в байтах) для сетевого адаптера.
NumaNodeId
Значение USHORT , указывающее идентификатор предпочтительного узла NUMA ЦП. На компьютерах, поддерживающих архитектуру NUMA, предпочтительным узлом NUMA является ЦП с наименьшим расстоянием до сетевого адаптера.
PermanentMacAddress[NDIS_MAX_PHYS_ADDRESS_LENGTH]
Массив UCHAR , указывающий MAC-адрес управления доступом к мультимедиа, настроенный в разделе узла для сетевого адаптера. Это может отличаться от MAC-адреса, используемого в настоящее время сетевым адаптером.
VMMacAddress[NDIS_MAX_PHYS_ADDRESS_LENGTH]
Массив UCHAR , указывающий MAC-адрес, настроенный на сетевом адаптере внутри самой виртуальной машины. Поле содержит все нули для сетевых адаптеров, отличных от виртуальных машин. Если параметр AllowMacSpoofing (из NDIS_SWITCH_PORT_PROPERTY_SECURITY) имеет значение TRUE, этот адрес также будет применяться к CurrentMacAddress.
CurrentMacAddress[NDIS_MAX_PHYS_ADDRESS_LENGTH]
Массив UCHAR , указывающий MAC-адрес, который в настоящее время используется в коммутаторе для сетевого адаптера. Если значения AllowMacSpoofing и AllowTeaming имеют значение FALSE, это значение будет равно PermanentMacAddress. Если параметр AllowMacSpoofing имеет значение TRUE, это значение будет равно VMMacAddress. Если параметр AllowTeaming имеет значение TRUE и на виртуальной машине была выполнена отработка отказа при объединенности, currentMacAddress будет равен MAC-адресу, который был переключен на сетевой адаптер, или PermanentMacAddress , если отработка отказа не была выполнена.
VFAssigned
Значение BOOLEAN , если задано значение TRUE, указывает, что сетевой адаптер подключен к виртуальной функции PCI Express (PCIe) (VF). VF предоставляется базовым физическим сетевым адаптером, поддерживающим интерфейс виртуализации однокорневого ввода-вывода (SR-IOV).
Дополнительные сведения см. в разделе «Примечания».
NdisReserved[2]
Комментарии
Запросы OID OID_SWITCH_NIC_ARRAY возвращают структуру 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 создается диспетчером Plug and Play, который выполняется в операционной системе управления. -
Если для элемента NicType задано значение NdisSwitchNicTypeInternal, значением элемента NicName является отображаемое имя устройства, определяющее внутренний сетевой адаптер. Этот тип сетевого адаптера предоставляется в операционной системе управления родительского раздела Hyper-V.
Доступ к внутреннему сетевому адаптеру может осуществляться из родительского раздела Hyper-V и всех дочерних секций. Однако внутренний сетевой адаптер не подключается к физическому сетевому интерфейсу, который доступен на узле.
Примечание Отображаемое имя устройства создается уровнем управления WMI Hyper-V, который выполняется в операционной системе управления. - Для всех остальных значений элементов NicType значение элемента NicName однозначно присваивается искусственному или эмулированному сетевому адаптеру с помощью интерфейса управления политиками. Эти типы сетевых адаптеров предоставляются в гостевой операционной системе, которая выполняется дочерним разделом Hyper-V.
Рекомендации по члену VFAssigned
VF PCIe создается и выделяется базовым физическим адаптером, поддерживающим интерфейс SR-IOV. После создания PCIe VF стек виртуализации присоединяет или назначает дочерний раздел Hyper-V к VF. Гостевая операционная система, запущенная в этом разделе, предоставляет сетевой адаптер виртуальной машины, подключенный или назначенный базовому физическому адаптеру SR-IOV.Если для элемента VFAssigned задано значение TRUE, пакеты направляются непосредственно между базовым физическим сетевым адаптером SR-IOV и виртуальным адаптером. Однако, поскольку расширяемый коммутатор не участвует в доставке пакетов, политики портов расширяемого коммутатора, такие как списки управления доступом (ACL), не применяются к этим пакетам.
Расширение может удалить назначение VF, выдав NDIS_STATUS_SWITCH_PORT_REMOVE_VF указание состояния. Это означает, что пакеты доставляются через расширяемый порт коммутатора, а не непосредственно между сетевым адаптером виртуальной машины и физическим адаптером SR-IOV. Это позволяет применять политики портов расширяемого коммутатора к пакетам, которые принимаются или отправляются через порт расширяемого коммутатора. Когда расширение указывает состояние NDIS_STATUS_SWITCH_PORT_REMOVE_VF , оно указывает, к какому расширяемому порту коммутатора подключен виртуальный сетевой адаптер.
Дополнительные сведения см. в разделе NDIS_STATUS_SWITCH_PORT_REMOVE_VF.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Поддерживается в NDIS 6.30 и более поздних версиях. |
Верхняя часть | ntddndis.h (включая Ndis.h, Fwpsk.h) |
См. также раздел