Partager via


NDIS_TASK_TCP_IP_CHECKSUM (Compact 2013)

3/26/2014

This structure contains information that is used in offloading checksum tasks from the TCP/IP transport to a network adapter. The NDIS_TCP_IP_CHECKSUM_PACKET structure is part of the per-packet information (extended out-of-band data) associated with a packet descriptor.

Syntax

typedef struct _NDIS_TASK_TCP_IP_CHECKSUM {
  struct {
    ULONG IpOptionsSupported;
    ULONG TcpOptionsSupported;
    ULONG TcpChecksum;
    ULONG UdpChecksum;
    ULONG IpChecksum;
  } V4Transmit;
  struct {
    ULONG IpOptionsSupported;
    ULONG TcpOptionsSupported;
    ULONG TcpChecksum;
    ULONG UdpChecksum;
    ULONG IpChecksum;
  } V4Receive;
  struct {
    ULONG IpOptionsSupported;
    ULONG TcpOptionsSupported;
    ULONG TcpChecksum;
    ULONG UdpChecksum;
  } V6Transmit;
  struct {
    ULONG IpOptionsSupported;
    ULONG TcpOptionsSupported;
    ULONG TcpChecksum;
    ULONG UdpChecksum;
 } V6Receive;
} NDIS_TASK_TCP_IP_CHECKSUM, *PNDIS_TASK_TCP_IP_CHECKSUM;

Members

V4Transmit

  • IpOptionsSupported
    Set by a miniport to indicate that its network adapter can calculate an IP checksum for an IPv4 send packet that contains IP options.
  • TcpOptionsSupported
    Set by a miniport to indicate that its network adapter can calculate a TCP checksum for an IPv4 send packet that contains TCP options.
  • TcpChecksum
    Set by a miniport to indicate that its network adapter can calculate a TCP checksum for an IPv4 send packet. Set by the TCP/IP transport to enable this capability.
  • UdpChecksum
    Set by a miniport to indicate that its network adapter can calculate a UDP checksum for an IPv4 send packet. Set by the TCP/IP transport to enable this capability.
  • IpChecksum
    Set by a miniport to indicate that its network adapter can calculate an IP checksum for an IPv4 send packet. Set by the TCP/IP transport to enable this capability.

V4Receive

  • IpOptionsSupported
    Set by a miniport to indicate that its network adapter can validate an IP checksum for an IPv4 receive packet that contains IP options.
  • TcpOptionsSupported
    Set by a miniport to indicate that its network adapter can calculate a TCP checksum for an IPv4 receive packet that contains TCP options.
  • TcpChecksum
    Set by a miniport to indicate that its network adapter can validate the TCP checksum for an IPv4 receive packet. Set by the TCP/IP transport to enable this capability.
  • UdpChecksum
    Set by a miniport to indicate that its network adapter can validate an IPv4 receive packet's UDP checksum. Set by the TCP/IP transport to enable this capability.
  • IpChecksum
    Set by a miniport to indicate that its network adapter can validate an IP checksum for an IPv4 receive packet. Set by the TCP/IP transport to enable this capability.

V6Transmit

  • IpOptionsSupported
    Set by a miniport to indicate that its network adapter can calculate an IP checksum for an IPv6 send packet that contains IP options.
  • TcpOptionsSupported
    Set by a miniport to indicate that its network adapter can calculate a TCP checksum for an IPv6 send packet that contains TCP options.
  • TcpChecksum
    Set by a miniport to indicate that its network adapter can calculate a TCP checksum for an IPv6 send packet. Set by the TCP/IP transport to enable this capability.
  • UdpChecksum
    Set by a miniport to indicate that its network adapter can calculate a UDP checksum for an IPv6 send packet. Set by the TCP/IP transport to enable this capability.

V6Receive

  • IpOptionsSupported
    Set by a miniport to indicate that its network adapter can validate IP checksum(s) for an IPv6 receive packet whose IP header(s) contains IP options.
  • TcpOptionsSupported
    Set by a miniport to indicate that its network adapter can calculate a checksum for an IPv6 receive packet whose TCP header contains TCP options.
  • TcpChecksum
    Set by a miniport to indicate that its network adapter can validate an IPv6 receive packet's TCP checksum. Set by the TCP/IP transport to enable this capability.
  • UdpChecksum
    Set by a miniport to indicate that its network adapter can validate a UDP checksum for an IPv6 receive packet. Set by the TCP/IP transport to enable this capability.

Remarks

In response to a query of OID_TCP_TASK_OFFLOAD, a miniport returns in the InformationBuffer an NDIS_TASK_OFFLOAD_HEADER structure followed immediately by one or more chained NDIS_TASK_OFFLOAD structures. Each NDIS_TASK_OFFLOAD structure specifies a task-offload capability supported by the miniport's network adapter.

When the Task member of the NDIS_TASK_OFFLOAD structure specifies TcpIpChecksumNdisTask, the TaskBuffer member of the NDIS_TASK_OFFLOAD structure contains an NDIS_TASK_TCP_IP_CHECKSUM structure.

When returned by a miniport in response to the TCP/IP transport's query of OID_TCP_TASK_OFFLOAD, the NDIS_TASK_TCP_IP_CHECKSUM structure specifies the miniport's capabilities for performing checksum tasks on both send and receive packets. When it is passed to a miniport by the TCP/IP transport's set of OID_TCP_TASK_OFFLOAD, the NDIS_TASK_TCP_IP_CHECKSUM structure specifies the checksum capabilities that the transport is enabling.

The NDIS_TASK_TCP_IP_CHECKSUM structure allows a miniport to indicate UDP checksum capabilities. The NDIS_TASK_TCP_IP_CHECKSUM structure also allows a miniport to indicate checksum capabilities for IPv6 packets.

Requirements

Header

ndis.h

See Also

Reference

NDIS 5.x Legacy Structures
NDIS_TASK_OFFLOAD_HEADER
NDIS_TASK_OFFLOAD
OID_TCP_TASK_OFFLOAD
NDIS 5.x Legacy Reference