Alur paket¶
Fast path: trafik pelanggan¶
Paket yang melewati router (client → server) tidak pernah masuk kernel Linux:
dpdk-input: NIC menerima paket, dan DPDK membacanya langsung ke buffer VPP (hugepages).- Pembagian ke worker: lewat RSS di NIC atau handoff VPP, paket diserahkan ke worker sesuai koneksinya. Lihat Multi-core.
ip4-lookup/ip6-lookup: VPP mencari tujuan di FIB miliknya. FIB ini diisi linux-nl dari tabel route Linux.- NAT44 (kalau keluar lewat interface masquerade): alamat sumber diganti alamat interface, dan sesinya dicatat.
ip4-rewrite→ output: header Ethernet ditulis ulang, lalu paket dikirim lewat NIC tujuan.
Bukti di lab: trace VPP menunjukkan paket dari client diproses dpdk-input → ip4-lookup → nat44 → eth2-output tanpa melewati kernel. Lihat Skenario uji.
Slow path: trafik untuk router¶
Paket yang tujuannya alamat router sendiri (ping ke router, SSH lewat port dataplane, BGP, ARP) diserahkan (punt) VPP ke interface cermin Linux. Kernel lalu memprosesnya seperti biasa, dan balasannya dikirim lewat tap kembali ke VPP.
Begitu juga trafik yang berasal dari router: ping dari CLI, apt update, FRR.
Konsekuensi penting¶
Uji performa harus melewati router
iperf3 atau ping yang dijalankan dari router mengukur jalur lambat (tap + kernel), bukan VPP. Untuk mengukur performa router, jalankan trafik client → router → server. Lab menyediakan lab.sh bwtest untuk itu.
| Pertanyaan | Lihat |
|---|---|
| Apakah route ada di VPP? | show ip fib (bukan hanya show ip route) |
| Apakah paket diproses VPP? | show vpp interface, show dataplane load, atau trace VPP |
| Apakah koneksi terbagi ke beberapa core? | show dataplane load |
| Kenapa ping dari router lambat? | Wajar, karena lewat slow path |