ABSTRACT

This chapter discusses network interface card (NIC)-based hardware off-loading. NIC offload can save CPU cycles; it can help the VLAN stripping and insertion and packet checksum computation or even support the Transmission Control Protocol segmentation. To use a NIC offload feature, the application will call the Data Plane Development Kit (DPDK) software interface, it will go through poll mode driver to access the actual hardware, and the software interface can be at the port level or packet level. The NIC needs to be guided on how to do the checksum computation per packet protocol, and the software driver needs to provide the per-packet-based help to assist the NIC offload. From the system load level, without NIC offload, the SW-based checksum processing on all packets is considered as a big overhead. DPDK has supported lots of NIC offload in software abstraction, and it is important to look into them under a specific NIC context.