Master's Thesis

Using XDP to accelerate routing in the Linux kernel

Final Thesis 1.32 MB

Author of thesis: Ing. Samuel Dobroň

Acad. year: 2024/2025

Supervisor: Ing. Matěj Grégr, Ph.D.

Reviewer: Ing. Peter Nagy

Abstract:

Traditional Linux kernel packet forwarding faces performance constraints at high network speeds. This thesis evaluates eXpress Data Path (XDP) acceleration through xdp-forward, comparing its performance against standard kernel forwarding. Missing features were identified, primarily VLAN support and Netfilter integration. As part of this thesis, two VLAN implementation approaches were developed: one using a patched kernel for direct information retrieval using bpf_fib_lookup, and another using eBPF maps for unpatched kernel compatibility. Performance tests demonstrate xdp-forward increases packet forwarding rates up to four times over conventional kernel paths, with results varying by hardware configuration. This thesis also discusses future work, including XDP queuing mechanisms and hardware offloading possibilities, though current NIC support remains limited.

Keywords:

xdp-forward, routing performance, high-performance networking, Linux kernel, packet forwarding, XDP forwarding, networking stack

Date of defence

24.06.2025

Result of the defence

Defended (thesis was successfully defended)

znamkaAznamka

Grading

A

Process of defence

Student nejprve prezentoval výsledky, kterých dosáhl v rámci své práce. Komise se poté seznámila s hodnocením vedoucího a posudkem oponenta práce. Student následně odpověděl na otázky přítomných, např. ohledně příčin horšího škálování oproti očekávání či zvolené velikosti paketů při provádění experimentů. Komise se na základě posudku oponenta, hodnocení vedoucího, přednesené prezentace a odpovědí studenta na položené otázky rozhodla práci hodnotit stupněm A - výborně.

Language of thesis

English

Faculty

Department

Study programme

Information Technology and Artificial Intelligence (MITAI)

Specialization

Computer Networks (NNET)

Composition of Committee

doc. Ing. Petr Matoušek, Ph.D., M.A. (předseda)
prof. Ing. Tomáš Hruška, CSc. (člen)
doc. Ing. Ondřej Lengál, Ph.D. (člen)
doc. Ing. Ondřej Ryšavý, Ph.D. (člen)
Ing. Martin Hrubý, Ph.D. (člen)
Ing. Vojtěch Mrázek, Ph.D. (člen)

Supervisor’s report
Ing. Matěj Grégr, Ph.D.

V rámci práce zmapoval student podrobně průběh zpracování paketu v jádře systému Linux a byl schopen prozkoumat technologie, které umožňují akceleraci tohoto zpracování. Byl schopen akceleraci o podporu VLAN a vše podrobně změřit pro zjištění dopadu na výkon. Celkově hodnotím dosažené výsledky a práci jako výbornou (A).

Evaluation criteria Verbal classification
Informace k zadání

Práce má za cíl prozkoumat současné možnosti akcelerace zpracování síťových dat pomocí technologií eBPF a XDP a změřit dopad těchto technologií na výkon. Práci celkově považuji za obtížnější, vzhledem k tomu, že je nutné často analyzovat přímo zdrojové kódy jádra systému Linux.

Aktivita při dokončování

Větší část práce byla dokončena v předstihu, samotný text se upravoval před odevzdáním, nicméně výsledný text byl konzultován. 

Publikační činnost, ocenění

Práce nebyla publikována.

Práce s literaturou

Student byl schopen nastudovat doporučenou literaturu a sám si nalézt další zdroje, případně dohledat změny v jádře systému Linux. Z hlediska práce s literaturou tak nemám výhrady.

Aktivita během řešení, konzultace, komunikace

Probíhaly průběžné konzultace, na které byl student připraven.

Points proposed by supervisor: 90

Grade proposed by supervisor: A

Reviewer’s report
Ing. Peter Nagy

Študent sa v rámci práce musel zoznámiť s problematikou sieťového subsystému v linuxovom jadre a využiteľnosťou technológie XDP na smerovanie. Následne identifikoval a doimplementoval chýbajúcu podporu VLAN. Pozitívne hodnotím anglický jazyk práce a orientáciu v pomerne komplexnej problematike. Množstvo testovaných parametrov a zahrnutie ich vplyvu do testovania dokazuje orientáciu autora v danej problematike. Práca je z formálneho hľadiska na vysokej úrovni. Za jedinú slabinu práce považujem menej prehľadnú a ťažšie pochopiteľnú prezentáciu a interpretáciu nameraných hodnôt. Na základe toho navrhujem hodnotenie A – výborne.

Evaluation criteria Verbal classification Points
Rozsah splnění požadavků zadání

Evaluation level: zadání splněno

Zadanie práce bolo splnené v plnom rozsahu.

Rozsah technické zprávy

Evaluation level: je v obvyklém rozmezí

Rozsah technickej správy je v obvyklom rozmedzí.

Prezentační úroveň technické zprávy

Práca je dobre štrukturovaná, členená do logických celkov. Kladne hodnotím podrobné zdokumentovanie sieťového subsystému v Linuxovom jadre. Vzhľadom na rozsiahle testovanie v kapitole 5 je mierne náročnejšie z testovania vyvodiť závery. V kapitole je zložitejšia orientácia a pochopenie grafov a testovacej metriky je náročnejšie.

85
Formální úprava technické zprávy

Po formálnej stránke práca spĺňa všetky požadované náležitosti. Po jazykovej stránke je text na dobrej úrovni, po typografickej stránke práca pôsobí ucelene.

90
Práce s literaturou

Autor uvádza všetky relevantné zdroje. Práca využíva 45 informačných zdrojov rôznych typov a práca s nimi je na dobrej úrovni. Prevzaté časti textu sú riadne označené.

93
Realizační výstup

Práca sa zaoberá technológiou XDP a jej využiteľnosťou na akceleráciu smerovania v jadre operačného systému Linux. Teoretický úvod popisuje sieťový subsystém a samotnú technológiu XDP, pričom naň nadväzuje identifikácia chýbajúcich funkcií. Následne práca identifikuje chýbajúcu podporu pre VLAN, ktorá je v ďalšej časti implementovaná dvoma rôznymi spôsobmi. Testovacia časť zahŕňa analýzu viacerých parametrov, ako je napríklad vplyv použitia rôznych sieťových kariet na celkový výkon.

90
Využitelnost výsledků

Výsledky práce sú využiteľné v praxi. Podpora VLAN v nástroji xdp_forward je v procese integrácie.

Náročnost zadání

Evaluation level: obtížnější zadání

Diplomová práca sa zaoberá problematikou, ktorej kvalitné spracovanie vyžaduje dôkladné pochopenie a prehľad v oblasti linuxového jadra, jeho sieťového subsystému a testovania výkonnosti. Zadanie z tohto dôvodu hodnotím ako náročnejšie.

Points proposed by reviewer: 90

Grade proposed by reviewer: A

Responsibility: Mgr. et Mgr. Hana Odstrčilová