структура 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.
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.
Для 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) |