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


структура IPSEC_OFFLOAD_V2_ADD_SA_EX (ndis.h)

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

Структура IPSEC_OFFLOAD_V2_ADD_SA_EX определяет сведения об ассоциации безопасности (SA), которую должен добавить в сетевой адаптер драйвер минипорта.

Синтаксис

typedef struct _IPSEC_OFFLOAD_V2_ADD_SA_EX {
  NDIS_OBJECT_HEADER                    Header;
  ULONG                                 NumExtHdrs;
  ULONG                                 Flags;
  union {
    struct {
      IPAddr SrcAddr;
      IPAddr DestAddr;
    } IPv4Endpoints;
    struct {
      UCHAR SrcAddr[16];
      UCHAR DestAddr[16];
    } IPv6Endpoints;
  };
  NDIS_HANDLE                           OffloadHandle;
  ULONG                                 UdpEspEncapsulation;
  IPSEC_OFFLOAD_V2_SECURITY_ASSOCIATION SecAssoc[IPSEC_OFFLOAD_V2_MAX_EXTENSION_HEADERS];
  ULONG                                 KeyLength;
  ULONG                                 KeyOffset;
  NDIS_SWITCH_PORT_ID                   SourceSwitchPortId;
  USHORT                                VlanId;
} IPSEC_OFFLOAD_V2_ADD_SA_EX, *PIPSEC_OFFLOAD_V2_ADD_SA_EX;

Члены

Header

Структура NDIS_OBJECT_HEADER для структуры IPSEC_OFFLOAD_V2_ADD_SA_EX. Задайте элемент типа структуры, заголовка указывает NDIS_OBJECT_TYPE_DEFAULT , элемент NDIS_IPSEC_OFFLOAD_V2_ADD_SA_EX_REVISION_1 редакции NDIS_IPSEC_OFFLOAD_V2_ADD_SA_EX_REVISION_1 и член размера NDIS_SIZEOF_IPSEC_OFFLOAD_V2_ADD_SA_EX_REVISION_1.

NumExtHdrs

Количество заголовков расширения IPsec. Этот элемент может быть одним из следующих значений.

Тип безопасности Заголовки расширений
Только проверка подлинности AH 1
Только проверка подлинности ESP 1
Только шифрование ESP 1
Проверка подлинности ESP и шифрование 1
Проверка подлинности AH и ESP плюс шифрование 2
UDP ESP 1

Flags

Битовая маска, указывающая, является ли добавленный SA входящий или исходящий SA следующим образом:

IPSEC_OFFLOAD_V2_IPv6

Если этот флаг задан, адреса — IPv6. В противном случае адреса — IPv4

IPSEC_OFFLOAD_V2_INBOUND

Если этот флаг задан, sa входящий. В противном случае sa исходящий.

IPv4Endpoints

Адреса конечной точки IPv4. Эта структура содержит следующие элементы:

IPv4Endpoints.SrcAddr

IPv4-адрес исходного узла (узел, отправляющий пакеты).

IPv4Endpoints.DestAddr

IPv4-адрес конечного узла (узел, получающий пакеты).

IPv6Endpoints

Адреса конечной точки IPv6. Эта структура содержит следующие элементы:

IPv6Endpoints.SrcAddr[16]

IPv6-адрес исходного узла (узел, отправляющий пакеты).

IPv6Endpoints.DestAddr[16]

IPv6-адрес конечного узла (узел, получающий пакеты).

OffloadHandle

Дескриптор только что созданного SA. Минипорт драйвер предоставляет этот дескриптор перед завершением
запрос OID_TCP_TASK_IPSEC_OFFLOAD_V2_ADD_SA_EX. Транспорт TCP/IP должен указать этот дескриптор в
NDIS_IPSEC_OFFLOAD_V2_NET_BUFFER_LIST_INFO или NDIS_IPSEC_OFFLOAD_V2_TUNNEL_NET_BUFFER_LIST_INFO структуру перед передачей пакета отправки в драйвер минипорта. Транспорт TCP/IP также должен указать этот дескриптор при удалении SA с помощью запрос OID_TCP_TASK_IPSEC_OFFLOAD_V2_DELETE_SA.

UdpEspEncapsulation

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

IPSEC_OFFLOAD_V2_UDP_ESP_ENCAPSULATION_NONE

Не используется инкапсуляция UDP.

IPSEC_OFFLOAD_V2_UDP_ESP_ENCAPSULATION_TRANSPORT

Инкапсулированный пакет режима транспорта инкапсулируется UDP.

IPSEC_OFFLOAD_V2_UDP_ESP_ENCAPSULATION_TUNNEL

Часть пакета в режиме туннеля инкапсулируется. Часть пакета в режиме транспорта не инкапсулирована инкапсулирована и не защищается ОТ ESP.

IPSEC_OFFLOAD_V2_TRANSPORT_OVER_UDP_ESP_ENCAPSULATION_TUNNEL

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

IPSEC_OFFLOAD_V2_UDP_ESP_ENCAPSULATION_TRANSPORT_OVER_TUNNEL

Часть пакета в режиме туннеля не инкапсулирована. Часть транспортного режима пакета инкапсулируется инкапсулируется и защищает ESP.

SecAssoc[IPSEC_OFFLOAD_V2_MAX_EXTENSION_HEADERS]

Массив с двумя элементами, содержащими сведения об операциях IPsec (AH, ESP или обоих) для SA. Число предоставленных элементов указывается в элементе NumExtHdrs. Сведения для каждой операции IPsec форматируются как IPSEC_OFFLOAD_V2_SECURITY_ASSOCIATION структуру, описанную ниже.

Транспорт TCP/IP задает одну или две структуры IPSEC_OFFLOAD_V2_SECURITY_ASSOCIATION в буфере в SecAssoc. Каждая IPSEC_OFFLOAD_V2_SECURITY_ASSOCIATION структура указывает тип операции-аутентификации или шифрования или расшифровки, для которого используется SA, указанный в структуре. Порядок структур IPSEC_OFFLOAD_V2_SECURITY_ASSOCIATION в массиве указывает порядок, в котором драйвер мини-порта должен выполнять операции для каждого SA. Поддерживается только одно сочетание операций: шифрование и расшифровка (ESP), за которым следует проверка подлинности (AH).

KeyLength

Длина буфера в байтах в KeyOffset.

KeyOffset

Смещение в байтах с начала структуры IPSEC_OFFLOAD_V2_ADD_SA_EX до начала массива переменной длины, содержащего ключи для SA, указанного в SecAssoc. Если алгоритм шифрования и алгоритм проверки подлинности задаются encryptionAlgorithm и AuthenticationAlgorithm членов объекта IPSEC_OFFLOAD_V2_SECURITY_ASSOCIATION структура буфера KeyOffset содержит ключевые сведения для одного из них, за которым следует другая. Начало и длина ключа задаются параметром IPSEC_OFFLOAD_V2_ALGORITHM_INFO структуры KeyOffsetBytes и членов KeyLeng th соответственно.

SourceSwitchPortId

Скрытный.

VlanId

Скрытный.

Замечания

Структура IPSEC_OFFLOAD_V2_ADD_SA_EX указывает sa безопасности, которую следует добавить. Структура IPSEC_OFFLOAD_V2_ADD_SA_EX используется с
OID_TCP_TASK_IPSEC_OFFLOAD_V2_ADD_SA_EX OID.

Структура IPSEC_OFFLOAD_V2_ADD_SA_EX указывает источник и назначение, а также IP-протоколы, к которым применяется SA. Этот фильтр относится к подключению в режиме транспорта, т. е. сквозное подключение между двумя узлами. Если указанное соединение выполняется через туннель, указываются исходные и целевые адреса туннеля.

Если для элемента задано нулевое значение, этот параметр не используется для фильтрации пакетов для указанного SA. Например, если SrcAddr равно нулю, указанный SA может применяться к пакету, который содержит любой исходный адрес. Если для всех параметров фильтра задано нулевое значение, указанный SA применяется к любому исходному узлу, который отправляет любой тип пакета любому конечному узлу.

Эта структура почти идентична предыдущей версии, IPSEC_OFFLOAD_V2_ADD_SA. Элементы Next и KeyData были удалены. Добавлены keyOffset, SourceSwitchPortId и члены VlanId.

Требования

Требование Ценность
минимальные поддерживаемые клиентские Поддерживается в NDIS 6.30 и более поздних версиях.
заголовка ndis.h (include Ndis.h)

См. также

IPSEC_OFFLOAD_V2_ADD_SA

IPSEC_OFFLOAD_V2_ALGORITHM_INFO IPSEC_OFFLOAD_V2_SECURITY_ASSOCIATION NDIS_IPSEC_OFFLOAD_V2_NET_BUFFER_LIST_INFO NDIS_IPSEC_OFFLOAD_V2_TUNNEL_NET_BUFFER_LIST_INFO

NDIS_OBJECT_HEADER

OID_TCP_TASK_IPSEC_OFFLOAD_V2_ADD_SA_EX OID_TCP_TASK_IPSEC_OFFLOAD_V2_DELETE_SA