Anuket Project
Internship 2022 - Benchmarking eBPF based solutions
Project Name: XDP performance studies for cloud-native NFV Usecases
Mentor: @Sridhar Rao @Al Morton
Mentee: @Shivank Chaudhary
Tenure: 6 Months (Start- 9 June 2022)
Tasks and Progress:
S. No | Task | Week | Related LInks | Outcomes | Status |
|---|---|---|---|---|---|
1 | Setup VPP(Vector Packet Processing) and run Trex Traffic Gen | week 1 & 2 | https://medium.com/@shivank1128/vpp-benchmark-with-trex-traffic-generator-6cfcecb931a9 | Learned the following: | Completed |
3 | Setup Open Virtual Switch and create a loopback between interfaces, benchmarking it with Trex. | Week 3 | http://solomon.ipv6.club.tw/Course/SDN/howto_install_ovs_on_centos7.html | 1) Installed OVS on Node4. | Completed |
4 | Upgrade Node4 from Centos 7 to Fedora 36. or any suitable Operating System to Run eBPF programs. | Week 4 & 5 | 1) Removed Centos 7 from Node 4 POD12. | Completed | |
5 | Attach an eBPF program to Kernel and Benchmark it with Trex. | Week 6 & 7 | https://github.com/Nat-Lab/xdp-router (Solution XDP Bridge) | 1) Tested 3 XDP bridges but rejected them due to many bugs and errors. | Completed |
6 | Waiting for Pod12 Node4 to get ready, depends on infra team! | Week 8 & 9 |
|
| Completed |
7 | Automate setting up eBPF programs for Baremetal usecases- similar to OVS-DPDK/VPP. | Week 10 | ViNePerf Nile Release Planning
|
| Completed |
Due to some VPN connectivity issues to POD12.
Proceeding with the following tasks first.
Source Code For Following Tasks: https://github.com/Alt-Shivam/Benchmarking-eBPF-XDP
|
| Status |
|---|---|---|
eBPF Based Bridge | Complete lifecycle; including automation | Completed |
Tgen: PROX | Complete Lifecycle: Install, Start, start-test, analyse results | Completed |
Tgen: T-REX | Complete Lifecycle: Install, Start, start-test, analyse results | Completed |
FWD: DPDK-Apps (l2fwd, L3fwd, ..) | Complete Lifecycle: Install, Start, collect metrics | Completed https://github.com/Alt-Shivam/Benchmarking-eBPF-XDP/tree/main/FWD:%20DPDK-Apps(L2%2CL3) |
FWD: PROX | Complete Lifecycle: Install, Start, collect metrics | Completed |
CNI: Cilium | Complete lifecycle; including automation | Completed https://github.com/Alt-Shivam/Benchmarking-eBPF-XDP/tree/main/CNI:%20Cilium |
CNI: eBPF-Calico (if time permits) | Complete lifecycle; including automation | Completed |
K8S Reference Definitions: | (a) https://github.com/opnfv/vineperf/tree/master/tools/k8s/reference-definitions/pod-defs | Completed |