Task Offload (NDIS 5.1)
Note NDIS 5. x has been deprecated and is superseded by NDIS 6. x. For new NDIS driver development, see Network Drivers Starting with Windows Vista. For information about porting NDIS 5. x drivers to NDIS 6. x, see Porting NDIS 5.x Drivers to NDIS 6.0.
To increase its performance, the Microsoft TCP/IP transport can offload one or more of the following tasks to a NIC that has the appropriate task-offload capabilities:
Checksum tasks.
The TCP/IP transport can offload the calculation and/or validation of IP and/or TCP checksums.
Internet Protocol Security tasks
The TCP/IP transport can offload the calculation and validation of encrypted checksums for authentication headers (AH) and/or encapsulating security payloads (ESP). The TCP/IP transport can also offload the encryption and decryption of ESP payloads. In addition, the transport can offload the encryption and decryption of UDP-encapsulated ESP data packets.
Segmentation of large TCP packets
The TCP/IP transport supports Large Send Offload (LSO). With LSO, the TCP/IP transport can offload the segmentation of large TCP packets.
The TCP/IP transport supports task offload only for IPv4 packets.
Offloading tasks from the TCP/IP transport to a NIC involves two major operations:
Querying and enabling a NIC's task-offload capabilities. For more information, see Querying Task-Offload Capabilities and Enabling Task-Offload Capabilities.
Passing per-packet information (extended out-of-band data) related to offloaded tasks. For more information, see Accessing Per-Packet Information, Offloading TCP/IP Checksum Tasks, Offloading IPsec Tasks, and Offloading the Segmentation of Large TCP Packets.