структура NDIS_TCP_SEND_OFFLOADS_SUPPLEMENTAL_NET_BUFFER_LIST_INFO (ndis.h)
Структура NDIS_TCP_SEND_OFFLOADS_SUPPLEMENTAL_NET_BUFFER_LIST_INFO содержит дополнительные сведения о аппаратном канале для инкапсулированных пакетов. Дополнительные сведения см. в статье Network Virtualization using Generic Routing Encapsulation (NVGRE) Task Offload (NVGRE-TO).
Синтаксис
typedef struct _NDIS_TCP_SEND_OFFLOADS_SUPPLEMENTAL_NET_BUFFER_LIST_INFO {
union {
struct {
ULONG IsEncapsulatedPacket : 1;
ULONG EncapsulatedPacketOffsetsValid : 1;
ULONG InnerFrameOffset : 8;
ULONG TransportIpHeaderRelativeOffset : 6;
ULONG TcpHeaderRelativeOffset : 10;
ULONG IsInnerIPv6 : 1;
ULONG TcpOptionsPresent : 1;
ULONG Reserved : 4;
} EncapsulatedPacketOffsets;
PVOID Value;
};
} NDIS_TCP_SEND_OFFLOADS_SUPPLEMENTAL_NET_BUFFER_LIST_INFO, *PNDIS_TCP_SEND_OFFLOADS_SUPPLEMENTAL_NET_BUFFER_LIST_INFO;
Члены
EncapsulatedPacketOffsets
EncapsulatedPacketOffsets.IsEncapsulatedPacket
Если этот элемент имеет значение TRUE, этот NBL представляет пакет, содержащий внутренний кадр Ethernet с ip-заголовком транспорта. Для обычных пакетов имеет значение FALSE . Если isEncapsulatedPacket имеет значение TRUE, существующие поля смещения заголовка NDIS_TCP_LARGE_SEND_OFFLOAD_NET_BUFFER_LIST_INFO. LsoV2Transmit. TcpHeaderOffset и NDIS_TCP_IP_CHECKSUM_NET_BUFFER_LIST_INFO. Передача. TcpHeaderOffset не будет иметь правильных значений и не должен использоваться сетевым адаптером или драйвером. Вместо этого драйвер мини-порта должен использовать смещения, указанные в других элементах этой структуры.
EncapsulatedPacketOffsets.EncapsulatedPacketOffsetsValid
Если этот элемент имеет значение TRUE, элементы InnerFrameOffset, TransportIpHeaderRelativeOffset и TcpHeaderRelativeOffset имеют допустимые значения.
EncapsulatedPacketOffsets.InnerFrameOffset
Смещение от начала пакета до первого байта внутреннего кадра Ethernet.
EncapsulatedPacketOffsets.TransportIpHeaderRelativeOffset
Смещение до первого байта внутреннего IP-заголовка относительно InnerFrameOffset.
EncapsulatedPacketOffsets.TcpHeaderRelativeOffset
Смещение до первого байта внутреннего (транспортного) заголовка относительно TransportIpHeaderRelativeOffset. Для этого значения всегда устанавливается правильное смещение, даже если внутренний кадр не является tcp-пакетом.
EncapsulatedPacketOffsets.IsInnerIPv6
Задается драйвером протокола, чтобы указать, что внутренний IP-заголовок в инкапсулированном пакете содержит IPv6-адреса.
EncapsulatedPacketOffsets.TcpOptionsPresent
Устанавливается драйвером протокола, если внутренний заголовок TCP содержит параметры TCP. Это позволяет драйверу мини-порта оптимизировать ситуацию, когда нет вариантов предполагать длину заголовка TCP для доступа к полезным данным.
EncapsulatedPacketOffsets.Reserved
Зарезервировано для будущего использования.
Value
Зарезервировано для будущего использования.
Комментарии
Члены NDIS_TCP_SEND_OFFLOADS_SUPPLEMENTAL_NET_BUFFER_LIST_INFO имеют смысл только в том случае, если в структуре NDIS_NET_BUFFER_LIST_INFO указан tcpIpChecksumNetBufferListInfo или TcpLargeSendNetBufferListInfo.
Если элемент IsEncapsulatedPacket имеет значение TRUE , а данные TcpIpChecksumNetBufferListInfo вне канала (OOB) допустимы, это означает, что требуется поддержка NVGRE и сетевой адаптер должен вычислить контрольную сумму для заголовка IP-адреса туннеля (внешнего), транспортного (внутреннего) IP-заголовка и заголовка TCP или UDP, если один из них присутствует. Пакет NVGRE будет разгружен только в том случае, если пакет соответствует возможностям, объявленным в мини-портах. Например, пакет, содержащий заголовок UDP, не будет разгружен, если минипорт не объявлял поддержку разгрузки контрольной суммы UDP Tx в своих базовых возможностях. Дополнительные сведения см. в разделе Разгрузка задач контрольной суммы.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Поддерживается в NDIS 6.30 и более поздних версиях. |
Верхняя часть | ndis.h |
См. также раздел
NDIS_ENCAPSULATED_PACKET_TASK_OFFLOAD
Виртуализация сети с помощью разгрузки задачи Инкапсуляции универсальной маршрутизации (NVGRE)
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по