Bringing Packet Queueing to XDP
Abstract: The Linux eXpress Data Path, or XDP, has found numerous uses in the industry, such as mitigating DoS attacks, load-balancers, and intrusion prevention systems. XDP provides a high-performance programmable network data path using the BPF framework and al- lows programmers to process packets early out of the driver. While XDP excels in forwarding packets, it currently has no mechanism for queueing or reordering packets and cannot implement traffic scheduling policies. In this paper, we present our ongoing work to address this challenge. We have designed a programmable packet scheduling extension for the XDP framework using recently pro- posed schemes for programmable queues. This extension allows programmers to define their packet schedulers using BPF while benefiting from the XDP fast data path.