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

[Функция разгрузки задач IPsec является устаревшей и не должна использоваться.]

Структура NDIS_IPSEC_OFFLOAD_V2 предоставляет сведения о возможностях разгрузки задач IPsec версии 2 в структуре NDIS_OFFLOAD .

Синтаксис

typedef struct _NDIS_IPSEC_OFFLOAD_V2 {
  ULONG   Encapsulation;
  BOOLEAN IPv6Supported;
  BOOLEAN IPv4Options;
  BOOLEAN IPv6NonIPsecExtensionHeaders;
  BOOLEAN Ah;
  BOOLEAN Esp;
  BOOLEAN AhEspCombined;
  BOOLEAN Transport;
  BOOLEAN Tunnel;
  BOOLEAN TransportTunnelCombined;
  BOOLEAN LsoSupported;
  BOOLEAN ExtendedSequenceNumbers;
  ULONG   UdpEsp;
  ULONG   AuthenticationAlgorithms;
  ULONG   EncryptionAlgorithms;
  ULONG   SaOffloadCapacity;
} NDIS_IPSEC_OFFLOAD_V2, *PNDIS_IPSEC_OFFLOAD_V2;

Члены

Encapsulation

Типы инкапсуляции MAC, поддерживаемые для разгрузки IPsec. Дополнительные сведения об этом члене см. в следующем разделе Примечаний.

IPv6Supported

Значение BOOLEAN, которое имеет значение TRUE , если поддерживается обработка разгрузки IPsec для трафика IPv6. В противном случае этот элемент имеет значение FALSE.

IPv4Options

Значение BOOLEAN, которое имеет значение TRUE , если сетевой адаптер поддерживает разгрузку пакетов IPsec с параметрами IPv4. В противном случае этот элемент имеет значение FALSE.

IPv6NonIPsecExtensionHeaders

Значение BOOLEAN, которое имеет значение TRUE , если сетевой адаптер поддерживает обработку разгрузки IPsec для пакетов с заголовками расширения IPsec IPv6 в дополнение к заголовкам IPsec. В противном случае этот элемент имеет значение FALSE.

Ah

Значение BOOLEAN, которое имеет значение TRUE , если сетевой адаптер может выполнять операции разгрузки IPsec при отправке и получении пакетов, содержащих полезные данные безопасности заголовка проверки подлинности (AH). В противном случае этот элемент имеет значение FALSE.

Esp

Значение BOOLEAN, которое имеет значение TRUE , если сетевой адаптер может выполнять операции разгрузки IPsec для отправки и получения пакетов, содержащих инкапсулирующие полезные данные безопасности (ESP). В противном случае этот элемент имеет значение FALSE.

AhEspCombined

Значение BOOLEAN, которое имеет значение TRUE , если сетевой адаптер может выполнять операции разгрузки IPsec для отправки и получения пакетов, содержащих полезные данные AH и полезные данные ESP. В противном случае этот элемент имеет значение FALSE.

Transport

Значение BOOLEAN, которое имеет значение TRUE , если сетевой адаптер может обрабатывать полезные данные безопасности для части отправки и получения пакетов в транспортном режиме. (Часть пакета в транспортном режиме относится к сквозным подключениям.) В противном случае этот элемент имеет значение FALSE.

Tunnel

Значение BOOLEAN, которое имеет значение TRUE , если сетевой адаптер может обрабатывать полезные данные безопасности для части отправки и получения пакетов в режиме туннеля. (Часть пакета в режиме туннеля относится к подключению туннеля.) В противном случае этот элемент имеет значение FALSE.

Примечание Когда уровень IPsec отправляет пакеты туннеля через интерфейс разгрузки задачи IPsec, уровень IPsec гарантирует, что для этих пакетов не будет использоваться большая разгрузка отправки (LSO).
 

TransportTunnelCombined

Значение BOOLEAN, которое имеет значение TRUE , если сетевой адаптер может обрабатывать полезные данные безопасности как для части транспорта, так и для части туннелирования пакетов отправки и получения. В противном случае этот элемент имеет значение FALSE. Часть пакета в транспортном режиме относится к сквозным подключениям. Часть пакета в туннельном режиме относится к туннелю.

LsoSupported

Значение BOOLEAN, которое имеет значение TRUE , если сетевой адаптер поддерживает разгрузку большой отправки (LSO). В противном случае этот элемент имеет значение FALSE. Обратите внимание, что возможности LSO сетевого адаптера указываются в членах LsoV1 или LsoV2структуры NDIS_OFFLOAD . Флаг LsoSupported указывает, что возможности, указанные в этих членах, также допустимы, если подключение защищено с помощью IPsec.

ExtendedSequenceNumbers

Значение BOOLEAN, которое имеет значение TRUE , если сетевой адаптер поддерживает расширенные порядковые номера IPsec. В противном случае этот элемент имеет значение FALSE.

UdpEsp

Типы пакетов данных ESP, инкапсулированных в UDP, которые может анализировать сетевой адаптер. Описание типов инкапсуляции UDP см. в разделе Типы инкапсуляции UDP-ESP. Этот элемент может быть одним или несколькими из следующих флагов:

IPSEC_OFFLOAD_V2_UDP_ESP_ENCAPSULATION_NONE

Обработка разгрузки IPsec недоступна для любого типа инкапсуляции UDP.

IPSEC_OFFLOAD_V2_UDP_ESP_ENCAPSULATION_TRANSPORT

Разгрузка IPsec поддерживается для пакета, инкапсулированного в транспортном режиме ESP, инкапсулированного UDP.

IPSEC_OFFLOAD_V2_UDP_ESP_ENCAPSULATION_TUNNEL

Разгрузка IPsec поддерживается для части пакета, инкапсулированной в режиме туннеля. Часть пакета в транспортном режиме не инкапсулирована по протоколу UDP и не защищена ESP.

IPSEC_OFFLOAD_V2_TRANSPORT_OVER_UDP_ESP_ENCAPSULATION_TUNNEL

Разгрузка IPsec поддерживается для части пакета, инкапсулированной в режиме туннеля. Часть пакета в транспортном режиме не инкапсулирована по протоколу UDP, но защищена ESP.

IPSEC_OFFLOAD_V2_UDP_ESP_ENCAPSULATION_TRANSPORT_OVER_TUNNEL

Разгрузка IPsec поддерживается для части пакета, которая не инкапсулирована в режиме туннеля. Часть пакета в транспортном режиме инкапсулирована по протоколу UDP и защищена ESP.

AuthenticationAlgorithms

Битовая маска, идентифицирующая алгоритмы проверки подлинности IPsec, поддерживаемые сетевой картой. Драйверы мини-портов указывают побитовое ИЛИ следующих значений:

IPSEC_OFFLOAD_V2_AUTHENTICATION_MD5

Сетевой адаптер может использовать алгоритм хэша сообщений с ключом 5 (MD5) для вычисления или проверки криптографической контрольной суммы.

IPSEC_OFFLOAD_V2_AUTHENTICATION_SHA_1

Сетевой адаптер может использовать алгоритм безопасного хэша (SHA) 1 для вычисления или проверки криптографической контрольной суммы.

IPSEC_OFFLOAD_V2_AUTHENTICATION_SHA_256

Сетевой адаптер может использовать алгоритм SHA 256 для вычисления или проверки криптографической контрольной суммы.

IPSEC_OFFLOAD_V2_AUTHENTICATION_AES_GCM_128

Сетевой адаптер может использовать алгоритм 128 расширенного шифрования — галуа/режим счетчика (AES-GMAC) для вычисления или проверки криптографической контрольной суммы.

IPSEC_OFFLOAD_V2_AUTHENTICATION_AES_GCM_192

Сетевой адаптер может использовать алгоритм AES-GMAC 192 для вычисления или проверки криптографической контрольной суммы.

IPSEC_OFFLOAD_V2_AUTHENTICATION_AES_GCM_256

Сетевой адаптер может использовать алгоритм AES-GMAC 256 для вычисления или проверки криптографической контрольной суммы.

EncryptionAlgorithms

Битовая маска, идентифицирующая алгоритмы шифрования IPsec, поддерживаемые сетевой картой. Эта битовая маска представляет собой побитовое ИЛИ следующих значений:

IPSEC_OFFLOAD_V2_ENCRYPTION_NONE

Сетевой адаптер может использовать шифрование со значением NULL, то есть полезные данные ESP без шифрования, но с информацией о проверке подлинности.

IPSEC_OFFLOAD_V2_ENCRYPTION_DES_CBC

Сетевой адаптер может использовать алгоритм DES для шифрования и расшифровки полезных данных ESP.

IPSEC_OFFLOAD_V2_ENCRYPTION_3_DES_CBC

Сетевой адаптер может использовать алгоритм triple-DES для шифрования и расшифровки полезных данных ESP.

IPSEC_OFFLOAD_V2_ENCRYPTION_AES_GCM_128

Сетевой адаптер может использовать алгоритм AES-GCM 128 для шифрования и вычисления криптографической контрольной суммы или расшифровки и проверки криптографической контрольной суммы для полезных данных ESP. Обратите внимание, что этот алгоритм является алгоритмом комбинированного режима.

IPSEC_OFFLOAD_V2_ENCRYPTION_AES_GCM_192

Сетевой адаптер может использовать алгоритм AES-GCM 192 для шифрования и вычисления криптографической контрольной суммы или расшифровки и проверки криптографической контрольной суммы для полезных данных ESP. Обратите внимание, что этот алгоритм является алгоритмом комбинированного режима.

IPSEC_OFFLOAD_V2_ENCRYPTION_AES_GCM_256

Сетевой адаптер может использовать алгоритм AES-GCM 256 для шифрования и вычисления криптографической контрольной суммы или расшифровки и проверки криптографической контрольной суммы для полезных данных ESP. Обратите внимание, что этот алгоритм является алгоритмом комбинированного режима.

IPSEC_OFFLOAD_V2_ENCRYPTION_AES_CBC_128

Сетевой адаптер может использовать алгоритм 128 расширенного шифрования — режим цепочки блоков шифров (AES-CBC) для шифрования и расшифровки полезных данных ESP.

IPSEC_OFFLOAD_V2_ENCRYPTION_AES_CBC_192

Сетевой адаптер может использовать алгоритм AES-CBC 192 для шифрования и расшифровки полезных данных ESP.

IPSEC_OFFLOAD_V2_ENCRYPTION_AES_CBC_256

Сетевой адаптер может использовать алгоритм AES-CBC 256 для шифрования и расшифровки полезных данных ESP.

SaOffloadCapacity

Количество пакетов SA, которые могут включать ESP, AH или и то, и другое, которые можно выгрузить в сетевой адаптер. TCP/IP поддерживает количество разгруженных пакетов SA и не должен добавлять больше максимального числа пакетов SA, о которых сообщил драйвер мини-порта.

Комментарии

В NDIS 6.1 и более поздних версиях структура NDIS_IPSEC_OFFLOAD_V2 используется в элементе IPsecV2структуры NDIS_OFFLOAD . Структура NDIS_IPSEC_OFFLOAD_V2 определяет текущие или поддерживаемые возможности, которые адаптер мини-порта предоставляет для обработки разгрузки IPsec.

Примечание Для поддержки разгрузки задач IPsec драйвер мини-порта должен указать true в элементе Tunnel .
 
NDIS_OFFLOAD используется в NDIS_MINIPORT_ADAPTER_OFFLOAD_ATTRIBUTES структура , NDIS_BIND_PARAMETERS структура NDIS_FILTER_ATTACH_PARAMETERS структура, OID_TCP_OFFLOAD_CURRENT_CONFIG OID и NDIS_STATUS_TASK_OFFLOAD_CURRENT_CONFIG указание состояния.

Для OID_TCP_OFFLOAD_CURRENT_CONFIG структура NDIS_OFFLOAD определяет возможности разгрузки задач, поддерживаемые адаптером мини-порта. Если текущие возможности разгрузки изменяются, драйвер мини-порта сообщает о новых возможностях в NDIS_STATUS_TASK_OFFLOAD_CURRENT_CONFIG указание состояния.

Элемент инкапсуляции NDIS_IPSEC_OFFLOAD_V2 определяет инкапсуляции MAC,которые адаптер мини-порта поддерживает для разгрузки IPsec.

В ответ на OID_TCP_OFFLOAD_CURRENT_CONFIG запроса NDIS предоставляет побитовое ИЛИ флагов инкапсуляции, которые указывают поддерживаемые параметры инкапсуляции в элементе инкапсуляции . Драйверы miniport должны обеспечивать инкапсуляцию Ethernet (NDIS_ENCAPSULATION_IEEE_802_3). Другие типы инкапсуляции являются необязательными.

Для NDIS_STATUS_TASK_OFFLOAD_CURRENT_CONFIG указания состояния драйвер мини-порта предоставляет побитовое ИЛИ флагов инкапсуляции, которые указывают текущие возможности, в элементе инкапсуляции .

Для элемента инкапсуляции определены следующие флаги:

Требования

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

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

NDIS_BIND_PARAMETERS

NDIS_FILTER_ATTACH_PARAMETERS

NDIS_IPSEC_OFFLOAD_V1

NDIS_MINIPORT_ADAPTER_OFFLOAD_ATTRIBUTES

NDIS_OFFLOAD

NDIS_OID_REQUEST

NDIS_STATUS_TASK_OFFLOAD_CURRENT_CONFIG

NET_BUFFER_LIST

OID_TCP_OFFLOAD_CURRENT_CONFIG