Online / 6 & 7 February 2021


FastClick and Beyond: A Look at High-Speed Software Dataplanes and Their Upcoming Challenges

Click here to build your 100-Gbps router, load-balancer, firewall, NAT, DPI, and more!

In this talk, we first show how to prototype high-speed network functions with FastClick, an open-source packet processing framework, which comes with hundreds of pre-built building blocks and leverages DPDK or Netmap to build 100-Gbps-capable firewalls, load-balancers, NATs, or IDSes.

We then review the history of high-speed software dataplanes. We explain the evolution of graph-based (software) network packet processing from the early 2000s with the emergence of the Click Modular Router, and continue up to today's ecosystem, where many similar systems, such as VPP, BESS, and FastClick, coexist. We analyze the upcoming challenges to process packets at multi-hundred-gigabit-per-second rates. We argue that multi-hundred-gigabit networks should prevent performing memory accesses, as the interarrival time of packets is shrinking to a few nanoseconds, i.e., smaller than L3 cache access time. For instance, a 100-Gbps NIC could receive a minimal-sized frame every 6.72ns while operating at its maximum rate.

To address these challenges, we propose PacketMill, our latest work, where we discuss other efforts/optimizations required to improve the performance of packet processing. PacketMill's ideas are directly applied to FastClick, so it comes for free. More specifically, we develop/use a better integration of DPDK to minimize the memory footprint of the high-speed software dataplanes. Furthermore, we propose a pipeline to reduce the number of instructions required for processing packets by using new data structures directly derived from the graph of network functions and compiler optimization techniques.


Photo of Tom Barbette Tom Barbette
Photo of Alireza Farshin Alireza Farshin