NDIS_TASK_TCP_IP_CHECKSUM (Windows CE 5.0)
This structure contains information used in offloading checksum tasks from the TCP/IP transport to a NIC. The NDIS_TCP_IP_CHECKSUM_PACKET structure is part of the per-packet information (extended out-of-band data) associated with a packet descriptor.
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 NIC can calculate an IP checksum for an IPv4 send packet that contains IP options. - TcpOptionsSupported
Set by a miniport to indicate that its NIC can calculate a TCP checksum for an IPv4 send packet that contains TCP options. - TcpChecksum
Set by a miniport to indicate that its NIC 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 NIC 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 NIC 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 NIC can validate an IP checksum for an IPv4 receive packet that contains IP options. - TcpOptionsSupported
Set by a miniport to indicate that its NIC can calculate a TCP checksum for an IPv4 receive packet that contains TCP options. - TcpChecksum
Set by a miniport to indicate that its NIC 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 NIC 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 NIC 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 NIC can calculate an IP checksum for an IPv6 send packet that contains IP options. - TcpOptionsSupported
Set by a miniport to indicate that its NIC can calculate a TCP checksum for an IPv6 send packet that contains TCP options. - TcpChecksum
Set by a miniport to indicate that its NIC 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 NIC 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 NIC 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 NIC can calculate a checksum for an IPv6 receive packet whose TCP header contains TCP options. - TcpChecksum
Set by a miniport to indicate that its NIC 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 NIC 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 NIC.
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 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
OS Versions: Windows CE .NET 4.0 and later.
Header: Ndis.h.
See Also
NDIS_TASK_OFFLOAD_HEADER | NDIS_TASK_OFFLOAD | OID_TCP_TASK_OFFLOAD
Send Feedback on this topic to the authors