структура NDIS_NIC_SWITCH_CAPABILITIES (ntddndis.h)
Структура NDIS_NIC_SWITCH_CAPABILITIES определяет возможности сетевого коммутатора на сетевом адаптере.
Синтаксис
typedef struct _NDIS_NIC_SWITCH_CAPABILITIES {
NDIS_OBJECT_HEADER Header;
ULONG Flags;
ULONG NdisReserved1;
ULONG NumTotalMacAddresses;
ULONG NumMacAddressesPerPort;
ULONG NumVlansPerPort;
ULONG NdisReserved2;
ULONG NdisReserved3;
ULONG NicSwitchCapabilities;
ULONG MaxNumSwitches;
ULONG MaxNumVPorts;
ULONG NdisReserved4;
ULONG MaxNumVFs;
ULONG MaxNumQueuePairs;
ULONG NdisReserved5;
ULONG NdisReserved6;
ULONG NdisReserved7;
ULONG MaxNumQueuePairsPerNonDefaultVPort;
ULONG NdisReserved8;
ULONG NdisReserved9;
ULONG NdisReserved10;
ULONG NdisReserved11;
ULONG NdisReserved12;
ULONG MaxNumMacAddresses;
ULONG NdisReserved13;
ULONG NdisReserved14;
ULONG NdisReserved15;
ULONG NdisReserved16;
ULONG NdisReserved17;
ULONG MaxNumRssCapableNonDefaultPFVPorts;
ULONG NumberOfIndirectionTableEntriesForDefaultVPort;
ULONG NumberOfIndirectionTableEntriesPerNonDefaultPFVPort;
ULONG MaxNumQueuePairsForDefaultVPort;
} NDIS_NIC_SWITCH_CAPABILITIES, *PNDIS_NIC_SWITCH_CAPABILITIES;
Члены
Header
Тип, редакция и размер структуры NDIS_NIC_SWITCH_CAPABILITIES . Этот элемент имеет формат структуры NDIS_OBJECT_HEADER .
Драйвер мини-порта должен задать для элемента Typeзаголовка значение NDIS_OBJECT_TYPE_DEFAULT. Чтобы указать версию структуры NDIS_NIC_SWITCH_CAPABILITIES , драйвер должен задать для члена Редакциизаголовка одно из следующих значений:
NDIS_NIC_SWITCH_CAPABILITIES_REVISION_3
Добавлены члены интерфейса RSS для NDIS 6.60.
Задайте для элемента Размер значение NDIS_SIZEOF_NIC_SWITCH_CAPABILITIES_REVISION_3.
NDIS_NIC_SWITCH_CAPABILITIES_REVISION_2
Добавлены члены интерфейса sr-IOV для NDIS 6.30.
Задайте для элемента Размер значение NDIS_SIZEOF_NIC_SWITCH_CAPABILITIES_REVISION_2.
NDIS_NIC_SWITCH_CAPABILITIES_REVISION_1
Исходная версия для NDIS 6.20.
Задайте для элемента Размер значение NDIS_SIZEOF_NIC_SWITCH_CAPABILITIES_REVISION_1.
Flags
Значение ULONG, содержащее побитовое ИЛИ флагов. Этот элемент зарезервирован для NDIS.
NdisReserved1
Зарезервировано для NDIS.
NumTotalMacAddresses
Значение ULONG, содержащее общее количество MAC-адресов, поддерживаемых сетевым адаптером.
NumMacAddressesPerPort
Значение ULONG, содержащее количество MAC-адресов, поддерживаемых для каждого порта.
NumVlansPerPort
Значение ULONG, содержащее количество виртуальных локальных сетей, поддерживаемых для каждого порта.
NdisReserved2
Зарезервировано для NDIS.
NdisReserved3
Зарезервировано для NDIS.
NicSwitchCapabilities
Значение ULONG, содержащее побитовое ИЛИ следующих флагов, определяющих возможности коммутатора сетевой карты:
NDIS_NIC_SWITCH_CAPS_RSS_ON_PF_VPORTS_SUPPORTED
Указывает, что сетевой адаптер поддерживает VMMQ для VPorts PF.
NDIS_NIC_SWITCH_CAPS_RSS_PER_PF_VPORT_INDIRECTION_TABLE_SUPPORTED
Если задано значение 1, указывает, что сетевой адаптер может поддерживать таблицы косвенного обращения VPort по каждому PF.
NDIS_NIC_SWITCH_CAPS_RSS_PER_PF_VPORT_HASH_FUNCTION_SUPPORTED
Если задано значение 1, указывает, что сетевой адаптер поддерживает настройку другой хэш-функции для каждого VPort PF. Если этот флаг установлен, необходимо также задать NDIS_NIC_SWITCH_CAPS_RSS_PER_PF_VPORT_HASH_KEY_SUPPORTED .
NDIS_NIC_SWITCH_CAPS_RSS_PER_PF_VPORT_HASH_TYPE_SUPPORTED
Если задано значение 1, указывает, что сетевой адаптер поддерживает настройку разных типов хэша для каждого порта PF VPort.
NDIS_NIC_SWITCH_CAPS_RSS_PER_PF_VPORT_HASH_KEY_SUPPORTED
Если задано значение 1, указывает, что сетевой адаптер поддерживает настройку другого секретного ключа хэша для VPort PF. Этот флаг должен быть установлен, если задано NDIS_NIC_SWITCH_CAPS_RSS_PER_PF_VPORT_HASH_FUNCTION_SUPPORTED .
NDIS_NIC_SWITCH_CAPS_RSS_PER_PF_VPORT_INDIRECTION_TABLE_SIZE_RESTRICTED
Если задано значение 1, указывает, что сетевой адаптер имеет ограничение на размер таблицы косвенного обращения для VPorts PF. Этот флаг заставляет издателя RSS OID использовать размер таблицы косвенного обращения VPort по каждому PF, равный количеству очередей VPort, округленных до следующего значения из двух. Это относится только к VPorts PF и не применяется к VF VPorts. Этот флаг можно объединить с флагом NDIS_NIC_SWITCH_CAPS_ASYMMETRIC_QUEUE_PAIRS_FOR_NONDEFAULT_VPORT_SUPPORTED (разные VPorts PF могут иметь разное количество очередей). Этот флаг не позволяет пользователям VMMQ выполнять детализированное управление очередью.
NDIS_NIC_SWITCH_CAPS_NIC_SWITCH_WITHOUT_IOV_SUPPORTED
Этот флаг, появившийся в NDIS 6.60, указывает, что коммутатор сетевого адаптера можно создать без использования SR-IOV. Этот флаг позволяет отделить коммутатор сетевого адаптера от ключевое слово *SRIOV. Это означает, что коммутатор сетевого адаптера можно создать с помощью OID_NIC_SWITCH_CREATE_SWITCH даже если *SRIOV = 0.
Дополнительные сведения о возможностях переключения сетевого адаптера для драйверов NDIS 6.60 и более поздних версий см. в статье Определение возможностей коммутатора сетевого адаптера.
NDIS_NIC_SWITCH_CAPS_VLAN_SUPPORTED
Этот флаг указывает, что коммутатор сетевого адаптера поддерживает аппаратную фильтрацию пакетов на основе идентификатора виртуальной локальной сети (VLAN).
NDIS_NIC_SWITCH_CAPS_PER_VPORT_INTERRUPT_MODERATION_SUPPORTED
Этот флаг указывает, что коммутатор сетевой карты может поддерживать конфигурацию модерации прерываний в отдельных виртуальных портах.
NDIS_NIC_SWITCH_CAPS_ASYMMETRIC_QUEUE_PAIRS_FOR_NONDEFAULT_VPORT_SUPPORTED
Этот флаг указывает, что коммутатор сетевой карты может настроить разное количество пар очередей для каждого неразрешимого VPort. Это означает, что каждый неразрешимый VPort можно настроить асимметрично, чтобы иметь разное количество пар очередей.
Если этот флаг не задан, все неразрешимые виртуальные порты должны быть настроены симметрично, чтобы иметь одинаковое количество пар очередей.
Независимо от того, установлен ли этот флаг, коммутатор сетевой карты должен поддерживать возможность установки количества пар очередей в VPort по умолчанию. Они могут отличаться от количества пар очередей, заданных в неразрешаемых виртуальных портах.
NDIS_NIC_SWITCH_CAPS_VF_RSS_SUPPORTED
Этот флаг указывает, что для масштабирования на стороне получения (RSS) можно использовать пары очередей из виртуальных портов, подключенных к виртуальной функции PCI Express (PCIe) (VF). Драйвер мини-порта VF выполняется в гостевой операционной системе дочернего раздела Hyper-V.
Если этот флаг установлен, драйвер мини-порта поддерживает RSS на виртуальном компьютере и может использовать одну или несколько пар очередей из нестандартного VPort для RSS.
NDIS_NIC_SWITCH_CAPS_SINGLE_VPORT_POOL
Этот флаг указывает, что виртуальные порты, не являющиеся стандартными, можно создать не зарезервированным способом из пула VPort на сетевом адаптере. Это позволяет создавать и назначать по мере необходимости доступные виртуальные порты, не являющиеся стандартными, и выделенными виртуальными машинами. Если сетевой адаптер поддерживает интерфейс очереди виртуальных машин (VMQ), для очередей получения виртуальных машин можно также использовать неисключаемые виртуальные порты, назначенные PF.
Дополнительные сведения о VMQ см. в разделе Очередь виртуальных машин (VMQ).
Дополнительные сведения о виртуальных портах см. в разделе Управление виртуальными портами.
MaxNumSwitches
Значение ULONG, указывающее максимальное количество коммутаторов, которые можно создать в физической функции (PF) PCI Express (PCIe) сетевого адаптера.
MaxNumVPorts
Значение ULONG, указывающее максимальное количество виртуальных портов, которые можно создать на сетевом адаптере. Сюда входит VPort по умолчанию, который всегда подключен к PF.
NdisReserved4
Зарезервировано для NDIS.
MaxNumVFs
Значение ULONG, указывающее максимальное количество виртуальных машин, которые можно создать в коммутаторе сетевого адаптера.
MaxNumQueuePairs
Значение ULONG, указывающее максимальное количество пар очередей, которые могут быть назначены всем VPorts. Сюда входит VPort по умолчанию, подключенный к PF.
NdisReserved5
Зарезервировано для NDIS.
NdisReserved6
Зарезервировано для NDIS.
NdisReserved7
Зарезервировано для NDIS.
MaxNumQueuePairsPerNonDefaultVPort
Значение ULONG, указывающее максимальное количество пар очередей, которые могут быть назначены неразрешимому порту VPort.
Это значение указывается в полномочиях 2 и обеспечивает асимметричную конфигурацию и назначение пар очередей для VPorts. Дополнительные сведения см. в статье Симметричное и асимметричное назначение пар очередей.
NdisReserved8
Зарезервировано для NDIS.
NdisReserved9
Зарезервировано для NDIS.
NdisReserved10
Зарезервировано для NDIS.
NdisReserved11
Зарезервировано для NDIS.
NdisReserved12
Зарезервировано для NDIS.
MaxNumMacAddresses
Значение ULONG, указывающее максимальное количество фильтров одноадресных MAC-адресов, доступных в коммутаторе сетевой карты.
NdisReserved13
Зарезервировано для NDIS.
NdisReserved14
Зарезервировано для NDIS.
NdisReserved15
Зарезервировано для NDIS.
NdisReserved16
Зарезервировано для NDIS.
NdisReserved17
Зарезервировано для NDIS.
MaxNumRssCapableNonDefaultPFVPorts
Значение ULONG, указывающее максимальное число PFVPorts с поддержкой RSS по умолчанию.
NumberOfIndirectionTableEntriesForDefaultVPort
Значение ULONG, указывающее количество записей таблицы косвенного обращения для VPort по умолчанию.
NumberOfIndirectionTableEntriesPerNonDefaultPFVPort
Значение ULONG, указывающее количество записей таблицы косвенного обращения для каждого нестандартного PFVPort.
MaxNumQueuePairsForDefaultVPort
Значение ULONG, указывающее максимальное количество пар очередей, которые могут быть назначены VPort по умолчанию.
Это значение указывается в полномочиях 2 и обеспечивает асимметричную конфигурацию и назначение пар очередей для VPorts. Дополнительные сведения см. в статье Симметричное и асимметричное назначение пар очередей.
Комментарии
Структура NDIS_NIC_SWITCH_CAPABILITIES используется в членах следующих структур:
- Элементы HardwareNicSwitchCapabilities и CurrentNicSwitchCapabilities структура NDIS_MINIPORT_ADAPTER_HARDWARE_ASSIST_ATTRIBUTES .
- Член NicSwitchCapabilities структуры NDIS_FILTER_ATTACH_PARAMETERS и NDIS_BIND_PARAMETERS .
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Поддерживается в NDIS 6.20 и более поздних версиях. |
Верхняя часть | ntddndis.h (включая Ndis.h) |
См. также раздел
NDIS_MINIPORT_ADAPTER_HARDWARE_ASSIST_ATTRIBUTES