In SunOS version 5.6 and compatible versions, the TCP/IP protocol stack has been enhanced to support two new features: zero copy and TCP checksum off-load.
Zero copy uses virtual memory MMU remapping together with a copy-on-write technique to move data between the application and the kernel space.
Checksum off-loading relies on special hardware logic to off-load the TCP checksum calculation.
Although zero copy and checksum off-loading are functionally independent of each other, these functions must work together to obtain optimal performance. Checksum off-loading requires hardware support from the network interface. Without this hardware support, zero copy is not enabled.
Zero copy requires that the applications supply page-aligned buffers before applying virtual memory page remapping. Applications should use large, circular buffers on the transmit side to avoid expensive copy-on-write faults. A typical buffer allocation is sixteen 8K buffers.