Page tree

Anuket Project

Skip to end of metadata
Go to start of metadata

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. NoTaskWeekRelated LInksOutcomesStatus
1Setup VPP(Vector Packet Processing) and run Trex Traffic Gen
to benchmark it. 
week 1 & 2https://medium.com/@shivank1128/vpp-benchmark-with-trex-traffic-generator-6cfcecb931a9Learned the following:
1) How to attach and De-attach 
NIC from DPDK.
2) How to benchmark with Trex 
Traffic gen.
Completed
3Setup 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
https://www.linuxtechi.com/install-use-openvswitch-kvm-centos-7-rhel-7/
https://access.redhat.com/documentation/en-us/red_hat_openstack_platform/10/html-single/ovs-dpdk_end_to_end_troubleshooting_guide/index

1) Installed OVS on Node4.
2) Created loopback interface.
Completed
4Upgrade Node4 from Centos 7 to  Fedora 36. or any suitable Operating System to Run eBPF programs.Week 4  & 5https://getfedora.org/en/workstation/download/1) Removed Centos 7 from Node 4 POD12.
2) Tried to install fedora 36 via Redirect ISO (Failed: due to some issue in Jviewer)
3) Got POD 18 (Ubuntu 20) for testing eBPF programs.
Completed
5Attach an eBPF program to Kernel and Benchmark it with Trex.Week 6 & 7https://github.com/Nat-Lab/xdp-router  (Solution XDP Bridge)
https://github.com/xdp-project/xdp-tutorial
https://github.com/torvalds/linux/tree/master/samples/bpf
https://docs.cilium.io/en/latest/bpf/
https://github.com/dpino/xdp_ipv6_filter

1) Tested 3 XDP bridges but rejected them due to many bugs and errors.
2) Compiled and Attached the XDP router to the interface.
3) testing the program (Whether fulfilling the requirements or not). (In Progress)
InProgress
6Waiting for Pod12 Node4 to get ready, depends on infra team!Week 8 & 9


7Automate setting up eBPF programs for Baremetal usecases- similar to OVS-DPDK/VPP.Week 10

ViNePerf Nile Release Planning



InProgress

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 BridgeComplete lifecycle; including automation
Install, start, configure (add interfaces, add forwarding rules)

Completed

https://github.com/Alt-Shivam/eBPF

Tgen: PROXComplete Lifecycle: Install, Start, start-test, analyse resultsPartially completed
(Configmap remaining)
Tgen: T-REXComplete Lifecycle: Install, Start, start-test, analyse results

Completed
https://github.com/Alt-Shivam/Benchmarking-eBPF-XDP/tree/main/Tgen:%20TREX

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
FWD: VPP
Complete Lifecycle: Install, Start, collect metrics

Partially completed
(Configmap remaining)

https://github.com/Alt-Shivam/Benchmarking-eBPF-XDP/tree/main/FWD:%20VPP%2C%20PROX

CNI: CiliumComplete lifecycle; including automation
Install, start, configure (add interfaces, add forwarding rules)

Completed

https://github.com/Alt-Shivam/Benchmarking-eBPF-XDP/tree/main/CNI:%20Cilium

CNI: eBPF-Calico (if time permits)Complete lifecycle; including automation
Install, start, configure (add interfaces, add forwarding rules)

K8S Reference Definitions:
(a) POD defns.
(b) Network Attachment [CNI: Cilium]

(a) https://github.com/opnfv/vineperf/tree/master/tools/k8s/reference-definitions/pod-defs
(b) https://github.com/opnfv/vineperf/tree/master/tools/k8s/reference-definitions/network-attachments

Some Important links for Centos 7:
https://linuxhint.com/install_llvm_centos7/
https://stackoverflow.com/questions/44219158/how-to-install-clang-and-llvm-3-9-on-centos-7

Learning Resource Section:


  • No labels