структура NDIS_ENCAPSULATED_PACKET_TASK_OFFLOAD (ntddndis.h)
Структура NDIS_ENCAPSULATED_PACKET_TASK_OFFLOAD содержит состояние поддержки разгрузки для виртуализации сети с помощью разгрузки задачи NVGRE(NVGRE-TO). Эта структура используется в элементе EncapsulatedPacketTaskOffloadGreструктуры NDIS_OFFLOAD .
Синтаксис
typedef struct _NDIS_ENCAPSULATED_PACKET_TASK_OFFLOAD {
ULONG TransmitChecksumOffloadSupported : 4;
ULONG ReceiveChecksumOffloadSupported : 4;
ULONG LsoV2Supported : 4;
ULONG RssSupported : 4;
ULONG VmqSupported : 4;
ULONG UsoSupported : 4;
ULONG Reserved : 8;
ULONG MaxHeaderSizeSupported;
} NDIS_ENCAPSULATED_PACKET_TASK_OFFLOAD, *PNDIS_ENCAPSULATED_PACKET_TASK_OFFLOAD;
Члены
TransmitChecksumOffloadSupported
Параметры разгрузки задачи для контрольной суммы передачи.
ReceiveChecksumOffloadSupported
Параметры разгрузки задачи для получения контрольной суммы.
LsoV2Supported
Параметры разгрузки задачи для разгрузки большой отправки версии 2 (LSOv2).
RssSupported
Параметры разгрузки задач для масштабирования на стороне получения (RSS).
VmqSupported
Параметры разгрузки задач для очереди виртуальных машин (VMQ).
UsoSupported
Параметры разгрузки задач для разгрузки сегментации UDP (USO).
Reserved
Зарезервировано для системного использования.
MaxHeaderSizeSupported
Для этого элемента должен быть задан максимальный размер заголовка от начала пакета до начала внутренних полезных данных TCP или UDP (последний байт внутреннего заголовка TCP или UDP), который сетевой адаптер должен поддерживать для всех этих разгрузки задач. Ожидается, что драйвер протокола не разгрузит обработку пакета, совокупные заголовки инкапсуляции которого превышают этот размер.
Примечание. 256 байт — это хорошее значение по умолчанию, которое должно охватывать все возможные случаи.
Комментарии
В начальном объявлении возможности, а также в NDIS_STATUS_TASK_OFFLOAD_CURRENT_CONFIG и NDIS_STATUS_TASK_OFFLOAD_HARDWARE_CAPABILITIES обозначениях состояния члены TransmitChecksumOffloadSupported, ReceiveChecksumOffloadSupported, LsoV2Supported, RssSupported, VmqSupported и UsoSupported могут иметь побитовое значение ИЛИ следующих флагов:
Термин | Описание |
---|---|
NDIS_ENCAPSULATED_PACKET_TASK_OFFLOAD_NOT_SUPPORTED | Указывает, что адаптер мини-порта не поддерживает соответствующую функцию разгрузки задач, указанную элементом. |
NDIS_ENCAPSULATED_PACKET_TASK_OFFLOAD_INNER_IPV4 | Указывает, что адаптер мини-порта поддерживает соответствующую функцию разгрузки задач, которую член указывает, где внутренний IP-заголовок инкапсулированного пакета — IPv4. |
NDIS_ENCAPSULATED_PACKET_TASK_OFFLOAD_OUTER_IPV4 | Указывает, что адаптер мини-порта поддерживает соответствующую функцию разгрузки задач, которую член указывает, где внешний IP-заголовок инкапсулированного пакета — IPv4. |
NDIS_ENCAPSULATED_PACKET_TASK_OFFLOAD_INNER_IPV6 | Указывает, что адаптер мини-порта поддерживает соответствующую функцию разгрузки задач, которую член указывает, где внутренний IP-заголовок инкапсулированного пакета — IPv6. |
NDIS_ENCAPSULATED_PACKET_TASK_OFFLOAD_OUTER_IPV6 | Указывает, что адаптер мини-порта поддерживает соответствующую функцию разгрузки задач, которую член указывает, где внешний IP-заголовок инкапсулированного пакета — IPv6. |
Например, если адаптер и драйвер мини-порта поддерживают только заголовок IPv6 в качестве внешнего IP-заголовка, но не как внутренний заголовок IP- адреса, они зададут для параметра TransmitChecksumOffloadSupported, ReceiveChecksumOffloadSupported, LsoV2Supported, RssSupported, VmqSupported и UsoSupported значение побитового ИЛИ NDIS_ENCAPSULATED_PACKET_TASK_OFFLOAD_INNER_IPV4, NDIS_ENCAPSULATED_PACKET_TASK_OFFLOAD_OUTER_IPV4 и NDIS_ENCAPSULATED_PACKET_TASK_OFFLOAD_OUTER_IPV6.
Что касается параметров IP и TCP, для инкапсулированных пакетов было сделано следующее предположение:
- Если сетевая карта указывает поддержку IpOptions и TcpOptions в обычной разгрузке контрольной суммы и объявлении LSOv2, она должна поддерживать обработку вариантов для инкапсулированных пакетов, если поддерживается виртуализация сети с использованием разгрузки задачи универсальной маршрутизации (NVGRE). Это означает, что он будет поддерживать параметры внутреннего и внешнего IP-адреса и параметры TCP внутри инкапсулированных пакетов. Отдельных объявлений о возможностях для этих функций не существует только для разгрузки задач NVGRE.
Драйвер протокола может разгружать пакеты в смешанном режиме, что означает пакеты, в которых внутренняя и внешняя версии заголовков IP-адресов отличаются. Например, заголовок внешнего IP-адреса пакета может иметь значение IPv6, а заголовок внутреннего IP-адреса — как IPv4.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 8, поддерживается в NDIS 6.30 и более поздних версиях. |
Минимальная версия сервера | Windows Server 2012 |
Верхняя часть | ntddndis.h (включая Ndis.h) |