Using VPP as Envoy's Network Stack
summary
Envoy integrates with VPP via the VPP Comms Library (VCL) and a VCL-specific socket layer, requiring refactors: elimination of raw file descriptors, addition of pluggable I/O handles, and delegating event creation so libevent and VCL cooperate by signaling VCL worker queues. Benchmarks using wrk → VCL → Envoy → nginx show one VPP worker outperforms the kernel by 20–40% for equal cores; scaling drops after four to five workers and larger payloads. Next steps: zero-copy reads via buffer fragments and further read-path optimizations.
AI-written summary · about
chapters (11)
- 0:00Introduction
- 0:35VPP
- 1:30Abstract
- 2:18Additional Features
- 3:06Why VPP
- 4:23VPP Integration
- 6:20Event Control
- 7:29Next Steps
- 7:58Performance
- 8:40Results
- 9:25Conclusion
related talks
21mLightning Talk: Integrating Envoy with DPDK-based virtual networks
26mRunning Envoy at the Edge
33mGet to know Envoy - the modern proxy for cloud-native infrastructure - Baptiste Collard
15mBeyond OS Sockets: Custom Socket Interfaces in Envoy
33mRunning Envoy as an Edge Proxy
20mEmpowering container-based NFVi with VPP on Arm Servers
31mFlow-based Packet Processing Framework on DPDK and VPP
37mEnvoy Internals Deep Dive
