Politecnico di Torino (logo)

Handling QoS with eBPF: rate limiting and packet scheduling approaches in XDP

Andrea Aureli

Handling QoS with eBPF: rate limiting and packet scheduling approaches in XDP.

Rel. Fulvio Giovanni Ottavio Risso, Federico Parola. Politecnico di Torino, Corso di laurea magistrale in Ingegneria Informatica (Computer Engineering), 2023

PDF (Tesi_di_laurea) - Tesi
Licenza: Creative Commons Attribution Non-commercial No Derivatives.

Download (1MB) | Preview

Optimizing and speeding up packet forwarding over networks and performing critical network functions is certainly a challenge in modern networking. The eBPF technology present in the Linux kernel allows attaching verified programs to specific hooks in the kernel, thereby extending the kernel itself. Running these programs enables bypassing certain steps in the Linux networking stack that may be unnecessary in specific situations. This thesis focuses on utilizing this technology to develop a prototype capable of achieving better results than those obtained with the vanilla Linux kernel. The prototype can autonomously manage routing and rate limiting functions. The primary emphasis of this work is on using the hook known as Linux eXpress Data Path (XDP), which introduces a faster data path into the Linux kernel. Additionally, this work explores the features offered by a recent patch, not yet merged into the Linux kernel. This patch represents an ongoing attempt to design a programmable packet scheduling extension for XDP. While XDP excels in forwarding packets, it lacks mechanisms for queuing or reordering packets. The patch incorporates recently developed schemes for programmable queues, enabling the creation of packet schedulers in eBPF while still benefiting from the speed of XDP. The performance of packet scheduling using the features of this patch is compared to that of Linux traffic control.

Relators: Fulvio Giovanni Ottavio Risso, Federico Parola
Academic year: 2023/24
Publication type: Electronic
Number of Pages: 90
Corso di laurea: Corso di laurea magistrale in Ingegneria Informatica (Computer Engineering)
Classe di laurea: New organization > Master science > LM-32 - COMPUTER SYSTEMS ENGINEERING
Aziende collaboratrici: Tiesse Spa
URI: http://webthesis.biblio.polito.it/id/eprint/28630
Modify record (reserved for operators) Modify record (reserved for operators)