ABSTRACT

This chapter examines the hardware-based forwarding model and then walks through the Data Plane Development Kit (DPDK) forwarding models and frequently used libraries and algorithms. Usually, the chip can implement the pipeline model and/or run-to-completion (RTC) model, or even hybrid. DPDK supports the pipeline model, the RTC models, and also the hybrid model. The chapter focuses on the default hash table algorithm in DPDK, which is based on cuckoo hashing algorithm. With the cuckoo algorithm, DPDK hash library can achieve up to 95% of the load factor before the first key insertion failure happens. Besides the high-level algorithm and data structure design, the hash library is also enhanced by various low-level software techniques to improve its speed. In order to do it, the packet forwarding model, pipeline, and algorithms are the important choices to build the performant networking workload.