Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
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