Поделиться через


структура NDIS_OFFLOAD_PARAMETERS (ntddndis.h)

Структура NDIS_OFFLOAD_PARAMETERS задает параметры конфигурации разгрузки текущей задачи в ответ на запрос набора OID OID_TCP_OFFLOAD_PARAMETERS.

Синтаксис

typedef struct _NDIS_OFFLOAD_PARAMETERS {
  NDIS_OBJECT_HEADER                 Header;
  UCHAR                              IPv4Checksum;
  UCHAR                              TCPIPv4Checksum;
  UCHAR                              UDPIPv4Checksum;
  UCHAR                              TCPIPv6Checksum;
  UCHAR                              UDPIPv6Checksum;
  UCHAR                              LsoV1;
  UCHAR                              IPsecV1;
  UCHAR                              LsoV2IPv4;
  UCHAR                              LsoV2IPv6;
  UCHAR                              TcpConnectionIPv4;
  UCHAR                              TcpConnectionIPv6;
  ULONG                              Flags;
  UCHAR                              IPsecV2;
  UCHAR                              IPsecV2IPv4;
  struct {
    UCHAR RscIPv4;
    UCHAR RscIPv6;
  };
  struct {
    UCHAR EncapsulatedPacketTaskOffload;
    UCHAR EncapsulationTypes;
  };
  union {
    struct {
      USHORT VxlanUDPPortNumber;
    } VxlanParameters;
    ULONG Value;
  } EncapsulationProtocolParameters;
  _ENCAPSULATION_PROTOCOL_PARAMETERS _ENCAPSULATION_PROTOCOL_PARAMETERS;
  struct {
    UCHAR IPv4;
    UCHAR IPv6;
  } UdpSegmentation;
  struct {
    UCHAR Enabled;
  } UdpRsc;
} NDIS_OFFLOAD_PARAMETERS, *PNDIS_OFFLOAD_PARAMETERS;

Члены

Header

Структура NDIS_OBJECT_HEADER для структуры NDIS_OFFLOAD_PARAMETERS . Задайте для элемента Type структуры, указанной в заголовке , значение NDIS_OBJECT_TYPE_DEFAULT.

Чтобы указать версию структуры NDIS_OFFLOAD_PARAMETERS , задайте для элемента Revision одно из следующих значений:

Значение Значение
NDIS_OFFLOAD_PARAMETERS_REVISION_6
6
Поддерживает элемент UdpRsc для NDIS 6.89. Задайте для элемента Размер значение NDIS_SIZEOF_OFFLOAD_PARAMETERS_REVISION_6.
NDIS_OFFLOAD_PARAMETERS_REVISION_5
5
Поддерживает UdpSegmentation для IPv4 и IPv6 для NDIS 6.83. Задайте для элемента Размер значение NDIS_SIZEOF_OFFLOAD_PARAMETERS_REVISION_5.
NDIS_OFFLOAD_PARAMETERS_REVISION_4
4
Поддерживает EncapsulationProtocolParameters и вложенные VxlanParameters для NDIS 6.50. Задайте для элемента Размер значение NDIS_SIZEOF_OFFLOAD_PARAMETERS_REVISION_4.
NDIS_OFFLOAD_PARAMETERS_REVISION_3
3
Поддерживает члены RscIPv4, RscIPv6, EncapsulatedPacketTaskOffload и EncapsulationTypes для NDIS 6.30. Задайте для элемента Размер значение NDIS_SIZEOF_OFFLOAD_PARAMETERS_REVISION_3.
NDIS_OFFLOAD_PARAMETERS_REVISION_2
2
Поддерживает элементы IPsecV2, IPsecV2IPv4, Reserved1 и Reserved2 для NDIS 6.1. Задайте для элемента Размер значение NDIS_SIZEOF_OFFLOAD_PARAMETERS_REVISION_2.
NDIS_OFFLOAD_PARAMETERS_REVISION_1
1
Исходная версия для NDIS 6.0. Задайте для элемента Размер значение NDIS_SIZEOF_OFFLOAD_PARAMETERS_REVISION_1.

IPv4Checksum

Параметр контрольной суммы IPv4 адаптера мини-порта. Дополнительные сведения см. в разделе "Примечания".

TCPIPv4Checksum

Параметр контрольной суммы IPv4 адаптера miniport для пакетов TCP. Дополнительные сведения см. в разделе "Примечания".

UDPIPv4Checksum

Параметр контрольной суммы IPv4 адаптера минипорта для пакетов UDP. Дополнительные сведения см. в разделе "Примечания".

TCPIPv6Checksum

Параметр контрольной суммы IPv6 адаптера минипорта для пакетов TCP. Дополнительные сведения см. в разделе "Примечания".

UDPIPv6Checksum

Параметр контрольной суммы IPv6 адаптера минипорта для пакетов UDP. Дополнительные сведения см. в разделе "Примечания".

LsoV1

Параметр большой разгрузки отправки версии 1 (LSOV1) адаптера мини-порта. Этот параметр должен иметь одно из следующих значений:

Значение Значение
NDIS_OFFLOAD_PARAMETERS_NO_CHANGE Драйвер мини-порта не должен изменять текущий параметр.
NDIS_OFFLOAD_PARAMETERS_LSOV1_DISABLED LSOV1 отключен.
NDIS_OFFLOAD_PARAMETERS_LSOV1_ENABLED LSOV1 включен.

IPsecV1

Параметр разгрузки IPsec адаптера мини-порта. Этот параметр должен иметь одно из следующих значений:

Значение Значение
NDIS_OFFLOAD_PARAMETERS_NO_CHANGE Драйвер мини-порта не должен изменять текущий параметр.
NDIS_OFFLOAD_PARAMETERS_IPSECV1_DISABLED Разгрузка IPsec отключена.
NDIS_OFFLOAD_PARAMETERS_IPSECV1_AH_ENABLED Функция IPsec offload Authentication Header (AH) должна быть включена для передачи и получения.
NDIS_OFFLOAD_PARAMETERS_IPSECV1_ESP_ENABLED Функция IPsec offload Encapsulating Security Payload (ESP) должна быть включена для передачи и получения.
NDIS_OFFLOAD_PARAMETERS_IPSECV1_AH_AND_ESP_ENABLED Функции IPsec AH и ESP разгрузки IPsec включены для передачи и получения.

LsoV2IPv4

Параметр разгрузки отправки большого размера IPv4 версии 2 (LSOV2) адаптера мини-порта. Этот параметр должен иметь одно из следующих значений:

Значение Значение
NDIS_OFFLOAD_PARAMETERS_NO_CHANGE Драйвер мини-порта не должен изменять текущий параметр.
NDIS_OFFLOAD_PARAMETERS_LSOV2_DISABLED LSOV2 для IPv4 отключен.
NDIS_OFFLOAD_PARAMETERS_LSOV2_ENABLED LSOV2 для IPv4 включен.

LsoV2IPv6

Параметр IPv6 LSOV2 адаптера мини-порта. Эти параметры указываются как одно из следующих значений:

Значение Значение
NDIS_OFFLOAD_PARAMETERS_NO_CHANGE Драйвер мини-порта не должен изменять текущий параметр.
NDIS_OFFLOAD_PARAMETERS_LSOV2_DISABLED LSOV2 для IPv6 отключен.
NDIS_OFFLOAD_PARAMETERS_LSOV2_ENABLED LSOV2 для IPv6 включен.

TcpConnectionIPv4

Параметр разгрузки IPv4-подключения адаптера мини-порта. Эти параметры указываются как одно из следующих значений:

Значение Значение
NDIS_OFFLOAD_PARAMETERS_NO_CHANGE Драйвер мини-порта не должен изменять текущий параметр.

TcpConnectionIPv6

Параметр разгрузки подключения IPv6 адаптера мини-порта. Эти параметры указываются как одно из следующих значений:

Значение Значение
NDIS_OFFLOAD_PARAMETERS_NO_CHANGE Драйвер мини-порта не должен изменять текущий параметр.

Flags

Набор флагов, которые можно объединить с побитовой операцией ИЛИ. Присвойте этому элементу значение ноль или следующее значение:

Значение Значение
NDIS_OFFLOAD_PARAMETERS_SKIP_REGISTRY_UPDATE
0x00000001
Позволяет отключить разгрузку UDP-сегмента объединения (URO) только во время выполнения. Изменения, внесенные с этим флагом, не сохраняются в реестре.

IPsecV2

Параметр разгрузки IPsec для адаптера мини-порта, поддерживающего протоколЫ IPv6 и IPv4, версии 2. Этот элемент задает параметр для поддержки IPv6 и IPv4. Этот параметр должен иметь одно из следующих значений:

Значение Значение
NDIS_OFFLOAD_PARAMETERS_NO_CHANGE Драйвер мини-порта не должен изменять текущий параметр.
NDIS_OFFLOAD_PARAMETERS_IPSECV2_DISABLED Разгрузка IPsec версии 2 отключена.
NDIS_OFFLOAD_PARAMETERS_IPSECV2_AH_ENABLED Функция IPsec offload version 2 Authentication Header (AH) должна быть включена для передачи и получения.
NDIS_OFFLOAD_PARAMETERS_IPSECV2_ESP_ENABLED Для передачи и получения должна быть включена функция разгрузки IPsec версии 2 Инкапсуляция полезных данных безопасности (ESP).
NDIS_OFFLOAD_PARAMETERS_IPSECV2_AH_AND_ESP_ENABLED Функции разгрузки IPsec версии 2 AH и ESP включены для передачи и получения.

IPsecV2IPv4

Параметр разгрузки IPsec для адаптера мини-порта, который поддерживает IPv4 и не поддерживает IPv6. Если драйвер мини-порта поддерживает протокол IPv6, элемент IPsecV2 задает параметр IPv4, и этот элемент не используется. Этот параметр должен иметь одно из следующих значений:

Значение Значение
NDIS_OFFLOAD_PARAMETERS_NO_CHANGE Драйвер мини-порта не должен изменять текущий параметр.
NDIS_OFFLOAD_PARAMETERS_IPSECV2_DISABLED Разгрузка IPsec версии 2 отключена.
NDIS_OFFLOAD_PARAMETERS_IPSECV2_AH_ENABLED Функция IPsec offload version 2 Authentication Header (AH) должна быть включена для передачи и получения.
NDIS_OFFLOAD_PARAMETERS_IPSECV2_ESP_ENABLED Для передачи и получения должна быть включена функция разгрузки IPsec версии 2 Инкапсуляция полезных данных безопасности (ESP).
NDIS_OFFLOAD_PARAMETERS_IPSECV2_AH_AND_ESP_ENABLED Функции разгрузки IPsec версии 2 AH и ESP включены для передачи и получения.

RscIPv4

Указывает состояние объединения сегментов получения для IPv4.

Значение Значение
NDIS_OFFLOAD_PARAMETERS_NO_CHANGE Состояние RSC не изменяется.
NDIS_OFFLOAD_PARAMETERS_RSC_ENABLED Состояние RSC включено.
NDIS_OFFLOAD_PARAMETERS_RSC_DISABLED Состояние RSC отключено.

RscIPv6

Указывает состояние объединения сегментов получения для IPv6.

Значение Значение
NDIS_OFFLOAD_PARAMETERS_NO_CHANGE Состояние RSC не изменяется.
NDIS_OFFLOAD_PARAMETERS_RSC_ENABLED Состояние RSC включено.
NDIS_OFFLOAD_PARAMETERS_RSC_DISABLED Состояние RSC отключено.

EncapsulatedPacketTaskOffload

Драйвер протокола задает encapsulatedPacketTaskOffload следующим образом:

Примечание. Для разгрузки на стороне получения, таких как VMQ и RSS, существуют другие наборы идентификаторов OID, которые драйвер протокола отправляет для включения и настройки параметров разгрузки (например, очередей, хэша и таблицы косвенного обращения). Член EncapsulatedPacketTaskOffload является дополнением к этим идентификаторам OID и предписывает сетевому адаптеру также выполнять эти разгрузки для инкапсулированных пакетов.

Значение Значение
NDIS_OFFLOAD_SET_NO_CHANGE
0
Состояния разгрузки задач NVGRE и VXLAN не изменяются.
NDIS_OFFLOAD_SET_ON
1
Включает разгрузки задач NVGRE и VXLAN.
NDIS_OFFLOAD_SET_OFF
2
Отключает разгрузки задач NVGRE и VXLAN.

EncapsulationTypes

Это поле действует только в том случае, если для параметра EncapsulatedPacketTaskOffload задано значение NDIS_OFFLOAD_SET_ON. Если для элемента EncapsulatedPacketTaskOffload не задано значение NDIS_OFFLOAD_SET_ON, этот элемент равен нулю. Драйвер протокола должен присвоить encapsulationTypes побитовое значение ИЛИ флагов, соответствующих нужным типам инкапсуляции. Он может выбрать флаги из следующих:

Значение Значение
NDIS_ENCAPSULATION_TYPE_GRE_MAC
0x00000001
Указывает инкапсуляцию GRE MAC (NVGRE).
NDIS_ENCAPSULATION_TYPE_VXLAN
0x00000002
Указывает инкапсуляцию VXLAN.

EncapsulationProtocolParameters

Объединение, описывающее параметры инкапсуляции для инкапсуляции VXLAN.

Если драйвер мини-порта объявляет VxlanUDPPortNumerConfigurable как TRUE, то драйвер протокола может задать для EncapsulationProtocolParameters.VxlanParameters.VxlanUDPPortNumber значение, отличное от 0. Драйвер мини-порта должен использовать этот номер порта для сопоставления и создания кадров VXLAN после успешного выполнения OID, а также объявить обновленное значение в своих возможностях. Если драйвер протокола передает значение 0, драйвер мини-порта продолжает использовать номер порта, инициализированный из стандартизованного ключевое слово.

EncapsulationProtocolParameters.VxlanParameters

Структура , содержащая VxlanUDPPortNumber.

EncapsulationProtocolParameters.VxlanParameters.VxlanUDPPortNumber

Значение порта назначения VXLAN. Это значение по умолчанию равно 4789, присвоенное IANA. Если драйвер мини-порта поддерживает настраиваемый номер порта, объявленный в структуре NDIS_OFFLOAD , драйвер протокола может выдать OID OID_TCP_OFFLOAD_PARAMETERS , чтобы включить NDIS_ENCAPSULATION_TYPE_VXLAN с другим значением в VxlanUDPPortNumber. Драйвер мини-порта должен использовать VxlanUDPPortNumber для определения инкапсулированных пакетов VXLAN для выполнения разгрузки приема.

EncapsulationProtocolParameters.Value

Значение порта, если для параметра EncapsulationTypes не задано значение NDIS_ENCAPSULATION_TYPE_VXLAN.

_ENCAPSULATION_PROTOCOL_PARAMETERS

Имя типа для EncapsulationProtocolParameters.

UdpSegmentation

Структура, описывающая параметры разгрузки сегментации (USO) адаптера мини-порта.

UdpSegmentation.IPv4

Параметр разгрузки сегментации IPv4 UDP (USO) адаптера мини-порта. Этот параметр должен иметь одно из следующих значений:

Значение Значение
NDIS_OFFLOAD_PARAMETERS_NO_CHANGE Драйвер мини-порта не должен изменять текущий параметр.
NDIS_OFFLOAD_PARAMETERS_UDP_SEG_DISABLED USO отключен.
NDIS_OFFLOAD_PARAMETERS_UDP_SEG_ENABLED USO включен.

UdpSegmentation.IPv6

Параметр IPv6 UDP Segmentation Offload (USO) адаптера мини-порта. Этот параметр должен иметь одно из следующих значений:

Значение Значение
NDIS_OFFLOAD_PARAMETERS_NO_CHANGE Драйвер мини-порта не должен изменять текущий параметр.
NDIS_OFFLOAD_PARAMETERS_UDP_SEG_DISABLED USO отключен.
NDIS_OFFLOAD_PARAMETERS_UDP_SEG_ENABLED USO включен.

UdpRsc

Структура, описывающая параметры разгрузки (URO) UDP-сегмента получения адаптера мини-порта.

UdpRsc.Enabled

Параметр URO адаптера мини-порта. Этот параметр должен иметь одно из следующих значений:

Значение Значение
NDIS_OFFLOAD_PARAMETERS_UDP_RSC_NO_CHANGE
0
Драйвер мини-порта не должен изменять текущий параметр.
NDIS_OFFLOAD_PARAMETERS_UDP_RSC_DISABLED
1
URO отключена.
NDIS_OFFLOAD_PARAMETERS_UDP_RSC_ENABLED
2
URO включен.

Комментарии

В ответ на OID_TCP_OFFLOAD_PARAMETERS запрос на установку OID драйвер мини-порта использует параметры в структуре NDIS_OFFLOAD_PARAMETERS, чтобы задать текущую конфигурацию адаптера мини-порта.

NDIS сохраняет запрошенные параметры в реестре в стандартизированных ключевых словах разгрузки. Когда NDIS перезапускает адаптер мини-порта, драйвер мини-порта считывает стандартизированные ключевые слова разгрузки и использует их для установки конфигурации разгрузки сетевого адаптера по умолчанию.

Чтобы получить доступ к параметрам разгрузки контрольной суммы, используйте следующие элементы структуры NDIS_OFFLOAD_PARAMETERS :

IPv4Checksum

TCPIPv4Checksum

UDPIPv4Checksum

TCPIPv6Checksum

UDPIPv6Checksum

Предыдущие члены могут иметь одно из следующих значений:

NDIS_OFFLOAD_PARAMETERS_NO_CHANGE
Драйвер мини-порта не должен изменять текущий параметр.

NDIS_OFFLOAD_PARAMETERS_TX_RX_DISABLED
Функция, указанная элементом, отключена.

NDIS_OFFLOAD_PARAMETERS_TX_ENABLED_RX_DISABLED
Функция, указанная элементом, включена для передачи и отключена для получения.

NDIS_OFFLOAD_PARAMETERS_RX_ENABLED_TX_DISABLED
Функция, указанная элементом, включена для получения и отключена для передачи.

NDIS_OFFLOAD_PARAMETERS_TX_RX_ENABLED
Функция, указанная элементом, включена для передачи и получения.

Требования

Требование Значение
Минимальная версия клиента Windows Vista, поддерживается в NDIS 6.0 и более поздних версиях.
Минимальная версия сервера Windows Server 2008
Верхняя часть ntddndis.h (включая Ndis.h)

См. также раздел

NDIS_OBJECT_HEADER

OID_TCP_OFFLOAD_HARDWARE_CAPABILITIES

OID_TCP_OFFLOAD_PARAMETERS