Researchers from Red Hat and Karlstad University, Sweden, have recently finished their first year of work on enhancing the performance of the eXpress Data Path (XDP), a data path integrated into the Linux kernel that permits flexible programmable networking. The group’s year one report, “Building the next generation of programmable networking—powered by Linux,” was released September 10, 2021.
Two problems, two goals
Given the potentially wide scope for the project, researchers prioritized two areas: enhancing XDP with queuing capabilities and using BPF/XDP for efficient latency monitoring.
While XDP excels in forwarding packets, it has no mechanism for queuing or reordering of packets and cannot implement traffic scheduling policies. To remedy this, the researchers are experimenting with ways of adding programmable packet scheduling to XDP. The goal is to allow programmers to define their packet schedulers using BPF while benefiting from the XDP fast data path.
Currently the team is prototyping the Linux BPF queueing implementation and implementing a prototyping framework to execute different scheduling algorithms quickly and try different API constructs. Using the framework, they will continue to experiment with different ways of constructing packet scheduling algorithms and improve their ease of use. The report illustrates the new packet design scheduling framework, using BPF hooks for enqueue, dequeue, and timer hooks.
The researchers are also exploring ways to employ BPF/XDP for latency monitoring. If successful, BPF could alleviate several problems involved in measuring latency using tools like ping: additional network overhead, lack of scalability, and a limited view of possible latency causes. Because using passive ping (pping) can mitigate some of those issues, researchers developed an implementation of pping using BPF (e-pping). Initial results detailed in the report suggest that e-pping introduces negligible CPU overhead.
About the project
Professor Brunstrom was interviewed for the August 2021 issue of RHRQ; see “The right idea at the right time: networking researchers use open source for real-world results.”
The XDP project is a collaborative effort with participants from multiple organizations.
The core project team includes:
- Red Hat engineers Toke Høiland-Jørgensen and Jesper Dangaard Brouer
- Karlstad University professors Anna Brunstrom and Per Hurtig
- PhD students Freysteinn Alfredsson and Simon Sundberg
Staff members from Red Hat and Karlstad, as well as representatives from Ericsson, have also participated in some meetings. Researchers plan to make results available as open access, open source software and open data.
Those interested in reviewing the project and providing comments are encouraged to do so, either by going to the GitHub repository or by emailing toke@redhat.com.