A cache-friendly IPv6 LPM with AVX-512 (linearized B+-tree, real BGP benchmarks)

https://github.com/esutcu/planb-lpm

Article

  • PlanB: C++17 IPv6 longest-prefix-match using linearized B+-tree
  • AVX-512 SIMD path with scalar fallback; wait-free lookups via rebuild-and-swap
  • Benchmarked on real RIPE RIS BGP data (~254K prefixes)

Discussion

  • Question raised: why runtime AVX-512 detection instead of compile-time #ifdef
  • Curiosity about RISC-V vector instruction equivalent
  • Brief lament that it’s C++ rather than C

Discuss on HN


Type Link
Added Apr 20, 2026
Modified Apr 20, 2026