Linux-powered programmable networking research announces recent successes

Jan 17, 2023 | Europe, Featured News, News, Uncategorized

A collaborative research project between Red Hat and Karlstad University, Sweden, yielded multiple publications in its second year [Year 2 Report PDF]. The project, Building the next generation of programmable networking—powered by Linux, aims to enhance the capabilities of the eXpress Data Path (XDP), a high-performance data path integrated into the Linux kernel that permits flexible programmable networking. 

The core project team includes:

  • Red Hat engineers Toke Høiland-Jørgensen, Jesper Dangaard Brouer and Simone Ferlin-Reiter
  • Karlstad University professors Anna Brunstrom and Per Hurtig
  • Karlstad PhD students Freysteinn Alfredsson and Simon Sundberg

The project focuses on two key areas:

Enhancing XDP with support for queuing
Researchers are experimenting with ways to add programmable packet scheduling to XDP, with the goal of allowing programmers to define their packet schedulers using BPF while benefiting from the XDP fast data path. The team has designed a new extension to XDP, a programmable packet scheduling framework in BPF, to provide this capability. In addition, they have created a new prototyping framework for quickly developing new scheduling algorithms.

Utilizing eBPF/XDP for efficient latency monitoring
The eBPF subsystem in the Linux kernel has the potential to alleviate several problems with latency monitoring using currently available tools such as ping, by enabling passive always-on latency measurements. Researchers have developed an implementation of passive ping using eBPF. In initial tests, their tool, evolved passive ping (ePPing), achieved a significant increase in the number of packets processed compared to the existing userspace implementation.

In addition to the publications listed below, team members have presented elements of their research at the 2022 Linux Plumbers conference (Dublin, Ireland),  10th Inria Workshop of Systems (Rennes, France), Red Hat Research Days (Brno, Czech Republic), and Lund Linux Con 2022 (Lund, Sweden).

Bringing packet queueing to XDP

Freysteinn Alfredsson, Per Hurtig, and Anna Brunstrom (Karlstad University); Toke Høiland-Jørgensen and Jesper Dangaard Brouer (Red Hat) 
Presented at the 17th Swedish National Computer Networking Workshop (SNCNW 2022) KTH, Stockholm

Summary: The Linux eXpress Data Path, or XDP, has found numerous uses in the industry, such as DoS attack mitigation, load-balancers, and intrusion prevention systems. XDP provides a high-performance programmable network data path using the BPF framework and allows 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. This talk presents our ongoing work to address this challenge. We have designed a programmable packet scheduling extension for the XDP framework using recently proposed schemes for programmable queues. This extension allows programmers to define their packet schedulers using BPF while benefiting from the XDP fast data path.

Passive monitoring of network latency at high line rates

Simon Sundberg and Anna Brunstrom (Karlstad University); Simone Ferlin-Reiter (Ericsson); Toke Høiland-Jørgensen and Jesper Dangaard Brouer (Red Hat) 
Presented at the 17th Swedish National Computer Networking Workshop (SNCNW 2022) KTH, Stockholm

Summary: Network latency plays a crucial role in many applications and their perceived quality of experience. With an increasing focus on high network speeds and real-time interactive applications relying on reliable and low latency, the ability to monitor latency effectively is becoming more important than ever. While many available tools rely on active monitoring, this approach relies on traffic injection in the network, which can be a source of latency and negatively impact overall network performance. This paper presents evolved Passive Ping (ePPing), a tool that leverages eBPF to passively monitor the latency of existing network traffic. Preliminary evaluation shows that ePPing delivers RTT reports more reliably and at a lower overhead than other state-of-the-art tools, such as PPing.

Using BPF to measure latency at high link speeds  

Simon Sundberg (Karlstad University), Anna Brunstrom (Karlstad University)
In Proceedings of The 2021 Internet Measurement Conference (IMC ’21). ACM, New York, NY, USA.
[abstract PDF] [poster]

Summary: Network latency monitoring is useful for determining QoE, troubleshooting, network performance, and more. However, existing monitoring tools such as ping, PPing, Dapper, and P4RTT have drawbacks, including contribution to network traffic, high overhead, failure to keep up with link speed, and the need for hardware support. Researchers propose ePPing, an extension of PPing, which leverages eBPF to parse packets directly in kernel space to alleviate the resource demands created by traditional packet capturing, especially in environments with high packet rates. ePPing runs on any Linux machine with low overhead at high line rates.

Ongoing and future work

While ePPing is currently functional and usable, work continues to improve it further. Testing has shown that reporting large amounts of RTT samples has considerable overhead, and the large quantity of output ePPing may generate makes it challenging to deploy in practice. Researchers are investigating different options for filtering and aggregating the RTT samples before reporting them. 

Researchers also hope to extend ePPing to support additional protocols, such as DNS and QUIC. In addition, the accuracy and performance of ePPing are continuously evaluated as additional improvements and features are developed. Once a suitable approach for aggregating and filtering RTT samples has been implemented, the plan is to deploy ePPing in different environments to evaluate it for other use cases. Potential targets for deployment include smaller ISP gateways and the AIDA edge observability framework being developed as part of the AIDA project at Karlstad University.

Related Stories

Meet the new 2023 Red Hat Collaboratory Research Incubation Award Recipients

Meet the new 2023 Red Hat Collaboratory Research Incubation Award Recipients

We are pleased to announce the recipients of the 2023 Red Hat Collaboratory Research Incubation Awards. The awards are part of a joint effort between Red Hat and Boston University (BU) aimed at recognizing, supporting and funding research in cloud computing, and to advance the state of the art in open source technologies such as distributed systems, security, operating systems, and networking.

OpenShift on elastic secure bare metal infrastructure

OpenShift on elastic secure bare metal infrastructure

The Red Hat Research team supports several cloud environments, such as MOC Alliance and CloudLab. We realized there is a need to increase the productivity of bare metal machines in these environments and to promote leasing unused infrastructure to trusted partners....

Call for Project Ideas (North America Research Interest Group)

Call for Project Ideas (North America Research Interest Group)

Are you a Red Hatter with a project idea that needs a little help getting started? Could your project benefit from some intern power?  Red Hat Research (RHR) may be able to help by providing intern and research support to get your idea off the ground or to the next...

DevConf.CZ Mini 2022 features Red Hat supported research projects

DevConf.CZ Mini 2022 features Red Hat supported research projects

Held on November 3, DevConf.CZ Mini featured talks themed around Cloud and Hyperscale, Edge Computing, and Future Tech and Open Research, including two research collaborations with Brno University of Technology and Czech Technical University in Prague supported by Red...

Open source values are the focus of Red Hat Summer Camp in Brno

Open source values are the focus of Red Hat Summer Camp in Brno

In summer 2022, a group of Red Hat volunteers organized the first in-office run of Red Hat Summer Camp Brno: an IT camp aimed at high school students, regardless of how much IT experience they had. The goal of the summer camp was to bring together people with...