структура NDIS_IPSEC_OFFLOAD_V1_NET_BUFFER_LIST_INFO (ndis.h)
Структура NDIS_IPSEC_OFFLOAD_V1_NET_BUFFER_LIST_INFO указывает сведения, используемые при разгрузке задач IPsec с транспорта TCP/IP в драйвер мини-порта.
Синтаксис
typedef struct _NDIS_IPSEC_OFFLOAD_V1_NET_BUFFER_LIST_INFO {
union {
struct {
NDIS_HANDLE OffloadHandle;
} Transmit;
struct {
USHORT SaDeleteReq : 1;
USHORT CryptoDone : 1;
USHORT NextCryptoDone : 1;
USHORT Pad : 13;
USHORT CryptoStatus;
} Receive;
};
} NDIS_IPSEC_OFFLOAD_V1_NET_BUFFER_LIST_INFO, *PNDIS_IPSEC_OFFLOAD_V1_NET_BUFFER_LIST_INFO;
Члены
Transmit
Структура , содержащая следующие элементы:
Transmit.OffloadHandle
Дескриптор исходящей связи безопасности (SA) для пакета, который содержит только одну полезную нагрузку IPsec, независимо от того, является ли эта полезная нагрузка для транспортного (сквозного) или туннельного подключения.
Receive
Структура , содержащая следующие элементы:
Receive.SaDeleteReq
Значение USHORT, указывающее, что транспорт TCP/IP должен выдать OID_TCP_TASK_IPSEC_DELETE_SA OID один раз, чтобы удалить входящий sa, который был получен пакет, и еще раз, чтобы удалить исходящий SA, соответствующий удаленному входящие SA. Сетевой интерфейс карта (NIC) не должен удалять ни один из этих сетевых интерфейсов, прежде чем получит соответствующий запрос OID_TCP_TASK_IPSEC_DELETE_SA.
Receive.CryptoDone
Значение USHORT, указывающее, что сетевой адаптер выполнил проверку IPsec по крайней мере для одной полезных данных IPsec в пакете получения. Если это значение снято, это означает, что сетевой адаптер не выполнял проверку IPsec для пакета.
Receive.NextCryptoDone
Значение USHORT, указывающее, что сетевой адаптер выполнил проверку IPsec как для туннеля, так и для транспортных частей получающего пакета. В этом случае также необходимо задать CryptoDone. NextCryptoDone задается только в том случае, если пакет содержит полезные данные IPsec для туннеля и транспорта; в противном случае параметру NextCryptoDone присваивается нулевое значение.
Receive.Pad
Зарезервировано для NDIS.
Receive.CryptoStatus
Результат проверки IPsec, выполненной сетевой картой для получающего пакета. Этот результат можно описать как одно из следующих значений:
Комментарии
Перед тем как транспорт TCP/IP передает пакет отправки, на который сетевой адаптер будет выполнять задачи IPsec, драйверу мини-порта сетевого адаптера, транспорт обновляет сведения IPsec в структуре NDIS_IPSEC_OFFLOAD_V1_NET_BUFFER_LIST_INFO, связанной со структурой NET_BUFFER_LIST .
В частности, транспорт TCP/IP предоставляет значение для элемента OffloadHandle в структуре NDIS_IPSEC_OFFLOAD_V1_NET_BUFFER_LIST_INFO . Значение OffloadHandle указывает дескриптор исходящей связи безопасности (SA) для пакета, который содержит только одну полезную нагрузку IPsec, независимо от того, относится ли эта полезная нагрузка к транспортной (сквозной) связи безопасности или ассоциации безопасности туннеля. Значение OffloadHandle , указанное в структуре NDIS_IPSEC_OFFLOAD_V1_NET_BUFFER_LIST_INFO , имеет то же значение, что и значение OffloadHandle , которое предоставляет транспорт TCP/IP при установке OID_TCP_TASK_IPSEC_ADD_SA , чтобы запросить у драйвера минипорта добавление исходящего sa на сетевой адаптер.
Прежде чем драйвер мини-порта укажет пакет получения с одной или несколькими полезными данными IPsec, драйвер обновляет структуру NDIS_IPSEC_OFFLOAD_V1_NET_BUFFER_LIST_INFO , связанную со структурой NET_BUFFER_LIST , следующим образом:
- Если сетевой адаптер выполнил проверку IPsec хотя бы на одну полезную нагрузку IPsec в пакете, драйвер мини-порта задает элемент CryptoDone и указывает результаты тестов проверки контрольной суммы, указывая соответствующее значение в элементе CryptoStatus .
- Если сетевой адаптер выполнил проверку IPsec как для туннеля, так и для транспортных частей получающего пакета, драйвер мини-порта также задает элемент NextCryptoDone . NextCryptoDone задается только в том случае, если пакет содержит полезные данные IPsec для туннеля и транспорта; в противном случае параметру NextCryptoDone присваивается нулевое значение.
- Если сетевой адаптер не выполнял проверки IPsec для пакета, драйвер мини-порта не устанавливает CryptoDone или NextCryptoDone и не предоставляет значение CryptoStatus .
Чтобы задать и получить сведения об IPsec, используйте индекс IPsecOffloadV1NetBufferListInfo с макросом NET_BUFFER_LIST_INFO . NET_BUFFER_LIST_INFO возвращает структуру NDIS_IPSEC_OFFLOAD_V1_NET_BUFFER_LIST_INFO .
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Поддерживается в NDIS 6.0. Для NDIS 6.1 и более поздних версий используйте NDIS_IPSEC_OFFLOAD_V2_NET_BUFFER_LIST_INFO. |
Верхняя часть | ndis.h (включая Ndis.h) |
См. также раздел
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по