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

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

Структура NDIS_IPSEC_OFFLOAD_V2_NET_BUFFER_LIST_INFO указывает сведения, используемые при разгрузке задач разгрузки безопасности протокола ИНТЕРНЕТА версии 2 (IPsecOV2) из транспорта TCP/IP в сетевой адаптер.

Синтаксис

typedef struct _NDIS_IPSEC_OFFLOAD_V2_NET_BUFFER_LIST_INFO {
  union {
    struct {
      PVOID OffloadHandle;
    } Transmit;
    struct {
      ULONG SaDeleteReq : 1;
      ULONG CryptoDone : 1;
      ULONG NextCryptoDone : 1;
      ULONG Reserved : 13;
      ULONG CryptoStatus : 16;
    } Receive;
  };
} NDIS_IPSEC_OFFLOAD_V2_NET_BUFFER_LIST_INFO, *PNDIS_IPSEC_OFFLOAD_V2_NET_BUFFER_LIST_INFO;

Члены

Transmit

Структура, содержащая следующие элементы:

Transmit.OffloadHandle

Дескриптор исходящего сопоставления безопасности (SA) для пакета, имеющего только одну полезную нагрузку IPsec для транспортного (сквозного) подключения.

Receive

Структура, содержащая следующие элементы:

Receive.SaDeleteReq

Значение ULONG, указывающее, что транспорт TCP/IP должен выдавать OID_TCP_TASK_IPSEC_OFFLOAD_V2_DELETE_SA OID один раз, чтобы удалить входящий sa, который был получен пакет, и еще раз, чтобы удалить исходящий sa, соответствующий удаленному входящие SA. Сетевой интерфейс карта (NIC) не должен удалять ни одно из этих соглашений, прежде чем получит соответствующий запрос OID_TCP_TASK_IPSEC_OFFLOAD_V2_DELETE_SA.

Receive.CryptoDone

Значение ULONG, указывающее, что сетевой адаптер выполнил проверку IPsec по крайней мере для одной полезной нагрузки IPsec в пакете получения. Когда это значение снято, это означает, что сетевой адаптер не выполнил проверку IPsec для пакета.

Receive.NextCryptoDone

Значение ULONG, указывающее, что сетевой адаптер выполнил проверку IPsec как для туннеля, так и для транспортных частей получающего пакета. В этом случае также необходимо задать Параметр CryptoDone. NextCryptoDone устанавливается только в том случае, если пакет содержит полезные данные IPsec для туннеля и транспорта; В противном случае значение NextCryptoDone равно нулю.

Receive.Reserved

Зарезервировано для NDIS.

Receive.CryptoStatus

Результат проверки IPsec, выполненной сетевой картой в пакете получения. Этот результат можно описать как одно из следующих значений:

CryptoStatus.CRYPTO_SUCCESS

При необходимости пакет был успешно расшифрован, а контрольные суммы заголовка проверки подлинности (AH), инкапсулирующие контрольные суммы полезных данных безопасности (ESP) или обе контрольные суммы в пакете были проверены.

CryptoStatus.CRYPTO_GENERIC_ERROR

Пакет не проверка IPsec по неустановленной причине.

CryptoStatus.CRYPTO_TRANSPORT_AH_AUTH_FAILED

Недопустимая контрольная сумма AH для транспортной части пакета.

CryptoStatus.CRYPTO_TRANSPORT_ESP_AUTH_FAILED

Недопустимая контрольная сумма ESP для транспортной части пакета.

CryptoStatus.CRYPTO_TUNNEL_AH_AUTH_FAILED

Недопустимая контрольная сумма AH для части туннеля пакета.

CryptoStatus.CRYPTO_TUNNEL_ESP_AUTH_FAILED

Недопустимая контрольная сумма ESP для части туннеля пакета.

CryptoStatus.CRYPTO_INVALID_PACKET_SYNTAX

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

CryptoStatus.CRYPTO_INVALID_PROTOCOL

Протоколы IPsec, указанные в sa, в котором был получен пакет, не соответствуют протоколам IPsec, найденным в пакете. Например, эта ошибка возникает, если sa, в котором был получен пакет, указывает протокол AH, но пакет содержит только заголовок ESP.

Комментарии

Перед тем, как транспорт TCP/IP передает исходящий пакет сетевому адаптеру для обработки разгрузки, транспорт указывает сведения IPsec в структуре NDIS_IPSEC_OFFLOAD_V2_NET_BUFFER_LIST_INFO, связанной со структурой NET_BUFFER_LIST .

В частности, транспорт TCP/IP предоставляет значение для элемента OffloadHandle в структуре NDIS_IPSEC_OFFLOAD_V2_NET_BUFFER_LIST_INFO. Значение OffloadHandle указывает дескриптор исходящего sa для пакета, имеющего только одну полезную нагрузку IPsec, независимо от того, является ли эта полезная нагрузка для транспорта или туннеля SA. Значение OffloadHandle , предоставленное в структуре NDIS_IPSEC_OFFLOAD_V2_NET_BUFFER_LIST_INFO, имеет то же значение, что и значение OffloadHandle , которое было передано транспорту TCP/IP, когда драйвер мини-порта успешно добавил набор SAS в сетевой адаптер. Все SAS были добавлены в сетевой адаптер, когда водитель мини-порта ответил на OID_TCP_TASK_IPSEC_OFFLOAD_V2_ADD_SA запрос.

Прежде чем драйвер мини-порта указывает пакет получения, который содержит одну или несколько полезных данных IPsec, драйвер указывает сведения IPsec в структуре NDIS_IPSEC_OFFLOAD_V2_NET_BUFFER_LIST_INFO, связанной со структурой NET_BUFFER_LIST .

Чтобы задать и получить сведения о IPsec, используйте индекс IPsecOffloadV2NetBufferListInfo с макросом NET_BUFFER_LIST_INFO . NET_BUFFER_LIST_INFO возвращает структуру NDIS_IPSEC_OFFLOAD_V2_NET_BUFFER_LIST_INFO.

Требования

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

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

NDIS_IPSEC_OFFLOAD_V1_NET_BUFFER_LIST_INFO

NET_BUFFER_LIST

NET_BUFFER_LIST_INFO

OID_TCP_TASK_IPSEC_OFFLOAD_V2_DELETE_SA OID_TCP_TASK_IPSEC_OFFLOAD_V2_ADD_SA