SRv6LB: Leveraging IPv6, Segment Routing, and VPP
summary
Open source implementation of SRv6LB in VPP extends Google Maglev by encoding two candidate backends in IPv6 segment lists, using shared‑memory hooks (Apache/nginx/cgroups) for per‑flow accept/reject and a 40‑bit opaque field for CPU steering. Measured throughput drops from ~8.3 to ~8.0 Mpps per core, page loads improve up to ~2.5× at 80–90% load, and infrastructure needs fall ~20–25% for the same SLA. Demo shows a 16‑server setup, 19th‑percentile latency falling from ~300–400ms to ~180ms and flow tables scaling past 1M flows.
AI-written summary · about
chapters (26)
- 0:00Introduction
- 4:00IPv6 Churn
- 5:00Facebook
- 6:00Reliance
- 8:00Tunnels
- 9:00Segment Routing
- 10:00IPv4 Address
- 11:00What is VPP
- 12:00VPP in Kubernetes
- 13:00VPP without monitoring
- 14:00Load balancer view
- 15:00Multihop tunnel
- 16:00Unlucky requests
- 17:00Same infrastructure same load
- 19:00IP forwarding
- 20:00IP features
- 21:00Policies
- 24:00RSS
- 25:00Performance
- 26:00Demo
- 28:00Response Time
- 29:00Load Balancer
- 35:00Why VPP
- 36:00Separate Line Cards
- 37:00Power of Two Choices
- 38:00Two Servers Only
related talks
27mLeveraging Cilium and SRv6 for Telco Networking
18mBuilding scalable AI cloud interconnects with SRv6
18mBuilding Scalable AI Cloud Interconnects with SRv6
27mSimplifying and Making the Network Programmable with Kubernetes and SRv6
21mR2P2: Making RPCs first-class datacenter citizens
10mUsing VPP as Envoy's Network Stack
34mHyperRouter: Lessons Learnt from Building an L4 Load...
31mFlow-based Packet Processing Framework on DPDK and VPP
