структура 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) |