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


структура NDIS_TCP_IP_CHECKSUM_OFFLOAD (ntddndis.h)

Структура NDIS_TCP_IP_CHECKSUM_OFFLOAD предоставляет сведения о разгрузке задачи контрольной суммы в структуре NDIS_OFFLOAD .

Синтаксис

typedef struct _NDIS_TCP_IP_CHECKSUM_OFFLOAD {
  struct {
    ULONG Encapsulation;
    ULONG IpOptionsSupported : 2;
    ULONG TcpOptionsSupported : 2;
    ULONG TcpChecksum : 2;
    ULONG UdpChecksum : 2;
    ULONG IpChecksum : 2;
  } IPv4Transmit;
  struct {
    ULONG Encapsulation;
    ULONG IpOptionsSupported : 2;
    ULONG TcpOptionsSupported : 2;
    ULONG TcpChecksum : 2;
    ULONG UdpChecksum : 2;
    ULONG IpChecksum : 2;
  } IPv4Receive;
  struct {
    ULONG Encapsulation;
    ULONG IpExtensionHeadersSupported : 2;
    ULONG TcpOptionsSupported : 2;
    ULONG TcpChecksum : 2;
    ULONG UdpChecksum : 2;
  } IPv6Transmit;
  struct {
    ULONG Encapsulation;
    ULONG IpExtensionHeadersSupported : 2;
    ULONG TcpOptionsSupported : 2;
    ULONG TcpChecksum : 2;
    ULONG UdpChecksum : 2;
  } IPv6Receive;
} NDIS_TCP_IP_CHECKSUM_OFFLOAD, *PNDIS_TCP_IP_CHECKSUM_OFFLOAD;

Члены

IPv4Transmit

Структура в NDIS_TCP_IP_CHECKSUM_OFFLOAD, которая указывает сведения о передаче IPv4 и содержит следующие элементы:

IPv4Transmit.Encapsulation

Параметры инкапсуляции для передачи IPv4. Дополнительные сведения об этом члене см. в следующем разделе Примечаний.

IPv4Transmit.IpOptionsSupported

Значение ULONG, устанавливаемое драйвером мини-порта, чтобы указать, что адаптер мини-порта может вычислить контрольную сумму IP-адресов для пакета отправки IPv4, содержащего параметры IP-адреса, или для указания на то, что эта возможность включена или отключена.

IPv4Transmit.TcpOptionsSupported

Значение ULONG, устанавливаемое драйвером мини-порта, чтобы указать, что адаптер мини-порта может вычислить контрольную сумму TCP для пакета отправки IPv4, содержащего параметры TCP, или для указания на то, что эта возможность включена или отключена.

IPv4Transmit.TcpChecksum

Значение ULONG, заданное драйвером мини-порта, чтобы указать, что адаптер мини-порта может вычислить контрольную сумму TCP для пакета отправки IPv4. Транспорт TCP/IP задает это значение, чтобы включить эту возможность или указать, что эта возможность включена или отключена.

IPv4Transmit.UdpChecksum

Значение ULONG, устанавливаемое драйвером мини-порта, чтобы указать, что адаптер мини-порта может вычислить контрольную сумму UDP для пакета отправки IPv4 или указать, что эта возможность включена или отключена.

IPv4Transmit.IpChecksum

Значение ULONG, устанавливаемое драйвером мини-порта, чтобы указать, что адаптер мини-порта может вычислить контрольную сумму IP-адресов для пакета отправки IPv4 или указать, что эта возможность включена или отключена.

IPv4Receive

Структура в NDIS_TCP_IP_CHECKSUM_OFFLOAD, которая указывает сведения о получении IPv4 и содержит следующие элементы:

IPv4Receive.Encapsulation

Параметры инкапсуляции для получения IPv4. Дополнительные сведения об этом члене см. в следующем разделе Примечаний.

IPv4Receive.IpOptionsSupported

Значение ULONG, устанавливаемое драйвером мини-порта, чтобы указать, что адаптер мини-порта может проверить контрольную сумму IP-адресов для пакета получения IPv4, содержащего параметры IP-адреса, или для указания на то, что эта возможность включена или отключена.

IPv4Receive.TcpOptionsSupported

Значение ULONG, устанавливаемое драйвером мини-порта, чтобы указать, что адаптер мини-порта может вычислить контрольную сумму TCP для пакета получения IPv4, содержащего параметры TCP, или указать, что эта возможность включена или отключена.

IPv4Receive.TcpChecksum

Значение ULONG, устанавливаемое драйвером мини-порта, чтобы указать, что адаптер мини-порта может проверить контрольную сумму TCP для пакета получения IPv4 или указать, что эта возможность включена или отключена.

IPv4Receive.UdpChecksum

Значение ULONG, устанавливаемое драйвером мини-порта, чтобы указать, что адаптер мини-порта может проверить контрольную сумму UDP пакета получения IPv4 или указать, что эта возможность включена или отключена.

IPv4Receive.IpChecksum

Значение ULONG, устанавливаемое драйвером мини-порта, чтобы указать, что адаптер мини-порта может проверить контрольную сумму IP-адресов для пакета получения IPv4 или указать, что эта возможность включена или отключена.

IPv6Transmit

Структура в NDIS_TCP_IP_CHECKSUM_OFFLOAD, которая указывает сведения о передаче IPv6 и содержит следующие элементы:

IPv6Transmit.Encapsulation

Параметры инкапсуляции для передачи по протоколу IPv6. Дополнительные сведения об этом члене см. в следующем разделе Примечаний.

IPv6Transmit.IpExtensionHeadersSupported

Значение ULONG, заданное драйвером мини-порта, чтобы указать, что адаптер мини-порта может вычислять контрольные суммы для пакетов IPv6, содержащих заголовки расширений.

IPv6Transmit.TcpOptionsSupported

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

IPv6Transmit.TcpChecksum

Значение ULONG, устанавливаемое драйвером мини-порта, чтобы указать, что адаптер мини-порта может вычислить контрольную сумму TCP для пакета отправки IPv6 или указать, что эта возможность включена или отключена.

IPv6Transmit.UdpChecksum

Значение ULONG, устанавливаемое драйвером мини-порта, чтобы указать, что адаптер мини-порта может вычислить контрольную сумму UDP для пакета отправки IPv6 или указать, что эта возможность включена или отключена.

IPv6Receive

Структура в NDIS_TCP_IP_CHECKSUM_OFFLOAD, указывающая сведения о получении IPv6 и содержащая следующие элементы:

IPv6Receive.Encapsulation

Параметры инкапсуляции для получения IPv6. Дополнительные сведения об этом члене см. в следующем разделе Примечаний.

IPv6Receive.IpExtensionHeadersSupported

Значение ULONG, заданное драйвером мини-порта, чтобы указать, что адаптер мини-порта может проверять контрольные суммы в пакетах IPv6, содержащих заголовки расширений.

IPv6Receive.TcpOptionsSupported

Значение ULONG, заданное драйвером мини-порта, чтобы указать, что адаптер мини-порта может вычислить контрольную сумму для пакета получения IPv6, заголовок TCP которого содержит параметры TCP, или указывает, что эта возможность включена или отключена.

IPv6Receive.TcpChecksum

Значение ULONG, устанавливаемое драйвером мини-порта, чтобы указать, что адаптер мини-порта может проверить контрольную сумму TCP пакета получения IPv6 или указывает, что эта возможность включена или отключена.

IPv6Receive.UdpChecksum

Значение ULONG, устанавливаемое драйвером мини-порта, чтобы указать, что адаптер мини-порта может проверить контрольную сумму UDP для пакета получения IPv6 или указать, что эта возможность включена или отключена.

Комментарии

Структура NDIS_TCP_IP_CHECKSUM_OFFLOAD используется в элементе Checksumструктуры NDIS_OFFLOAD . Структура NDIS_TCP_IP_CHECKSUM_OFFLOAD определяет текущие или поддерживаемые службы, предоставляемые адаптером мини-порта для вычисления контрольных сумм IP, TCP или UDP (или всех из них) для отправки пакетов и проверки таких контрольных сумм для пакетов получения.

NDIS_OFFLOAD используется в NDIS_MINIPORT_ADAPTER_OFFLOAD_ATTRIBUTES структура , NDIS_BIND_PARAMETERS структура NDIS_FILTER_ATTACH_PARAMETERS структура, OID_TCP_OFFLOAD_CURRENT_CONFIG OID и NDIS_STATUS_TASK_OFFLOAD_CURRENT_CONFIG указание состояния.

Для OID_TCP_OFFLOAD_CURRENT_CONFIG структура NDIS_OFFLOAD определяет возможности разгрузки задач, поддерживаемые адаптером мини-порта. Если текущие возможности разгрузки изменяются, драйвер мини-порта сообщает о новых возможностях в NDIS_STATUS_TASK_OFFLOAD_CURRENT_CONFIG указание состояния.

Элементы инкапсуляции NDIS_TCP_IP_CHECKSUM_OFFLOAD определить параметры инкапсуляции разгрузки контрольной суммы для адаптера мини-порта.

В ответ на OID_TCP_OFFLOAD_CURRENT_CONFIG запросе NDIS предоставляет побитовое ИЛИ флагов инкапсуляции, которые указывают поддерживаемые параметры инкапсуляции в каждом из членов инкапсуляции . Драйверы miniport должны обеспечивать инкапсуляцию Ethernet (NDIS_ENCAPSULATION_IEEE_802_3). Другие типы инкапсуляции являются необязательными.

Для NDIS_STATUS_TASK_OFFLOAD_CURRENT_CONFIG индикации состояния драйвер мини-порта предоставляет побитовую ИЛИ флагов инкапсуляции, которые указывают текущие возможности в каждом из членов инкапсуляции .

Для членов инкапсуляции определены следующие флаги:

  • NDIS_ENCAPSULATION_NOT_SUPPORTED
    Указывает, что разгрузка инкапсуляции не поддерживается.
  • NDIS_ENCAPSULATION_NULL
    Задает инкапсуляцию NULL.
  • NDIS_ENCAPSULATION_IEEE_802_3
    Указывает инкапсуляцию IEEE 802.3.
  • NDIS_ENCAPSULATION_IEEE_802_3_P_AND_Q
    Указывает инкапсуляцию IEEE 802.3p и IEEE 802.3q.
  • NDIS_ENCAPSULATION_IEEE_802_3_P_AND_Q_IN_OOB
    Указывает, что параметры инкапсуляции IEEE 802.3p и IEEE 802.3q указаны в элементе NetBufferListInfo каждой структуры NET_BUFFER_LIST.
  • NDIS_ENCAPSULATION_IEEE_LLC_SNAP_ROUTED
    Указывает инкапсуляцию элемента управления логическими ссылками (LLC) для маршрутизируемых протоколов, как описано в документе RFC 1483. Этот флаг также используется для обозначения инкапсуляции Ethernet LLC/SNAP.

Значение значений в элементах IpOptionsSupported, TcpOptionsSupported, IpExtensionHeadersSupported, TcpChecksum, UdpChecksum и IpChecksumNDIS_TCP_IP_CHECKSUM_OFFLOAD зависит от того, какой OID или индикатор состояния включает структуру разгрузки задачи. Эти члены могут иметь одно из следующих значений:

Требования

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

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

NDIS_BIND_PARAMETERS

NDIS_FILTER_ATTACH_PARAMETERS

NDIS_MINIPORT_ADAPTER_OFFLOAD_ATTRIBUTES

NDIS_OFFLOAD

NDIS_OID_REQUEST

NDIS_STATUS_TASK_OFFLOAD_CURRENT_CONFIG

NET_BUFFER_LIST

OID_TCP_OFFLOAD_CURRENT_CONFIG