Open randybias opened 8 months ago
Given that DPDK now supports the AF_XDP PMD (poll mode driver) driver (see https://doc.dpdk.org/guides/nics/af_xdp.html), it becomes feasible to enhance the vRouter DPDK by introducing an AF_XDP port. This enhancement could significantly boost network performance in containerized environments.
@xujingjing0320 unfortunately this isn't enough actionable details. We really need to understand:
Who has the most experience with DPDK in the existing community? We need someone who can actually take a run at doing a proof of concept of this and giving us feedback if it has value. Maybe Joseph Gasparakis? I'll have @lungdear reach out to him.
@randybias My colleague and I have completed the coding work, including upgrading DPDK to 22.11.4 and adding the AF_XDP interface. However, the traffic has not yet been fully established, and we are still working on it. I plan to conduct performance testing once everything is fully completed.
Any updates on this @xujingjing0320 ?
Pls update on this @xujingjing0320
@randybias @PloyTammareeNimitnon "I apologize for not updating in a timely manner. I have completed the encoding work for integrating af_xdp into the vrouter DPDK, and traffic is now flowing through. However, performance testing is not yet satisfactory, and I am still debugging as much as possible. I hope someone experienced in this area can provide some advice.
I also need to clarify that my work is based on DPDK, and DPDK has done a good job in integrating af_xdp, so relatively speaking, this part of the encoding is relatively easy.
According to Juniper's documentation(https://www.juniper.net/documentation/us/en/software/cn-cloud-native23.3/cn-cloud-native-feature-guide/cn-cloud-native-network-feature/topics/concept/cn-cloud-native-ebpf.html), when they introduced eBPF, they refactored the forwarding plane, which was the vrouter. The workload associated with this task is incomparable to the scope of my current work.
Please clarify. Is your work larger or smaller? I assume it's smaller. If I read this web page right this was the new "CN2" vrouter, based off of eBPF/XDP. Did the code for this ever see the light? I'm fairly certain it wasn't merged into TF.
@randybias mine is smaller. Yes, Juniper has made numerous updates in CN2, and the code should only be visible to large buyers who have purchased the commercial version. I believe that OpenSDN can take inspiration from some of Juniper's approaches for its own evolution.
Status updates?
PLEASE PROVIDE MORE DETAILS ON THIS