Lewati ke isi

Alur paket

Fast path dan slow path

Fast path: trafik pelanggan

Paket yang melewati router (client → server) tidak pernah masuk kernel Linux:

  1. dpdk-input: NIC menerima paket, dan DPDK membacanya langsung ke buffer VPP (hugepages).
  2. Pembagian ke worker: lewat RSS di NIC atau handoff VPP, paket diserahkan ke worker sesuai koneksinya. Lihat Multi-core.
  3. ip4-lookup / ip6-lookup: VPP mencari tujuan di FIB miliknya. FIB ini diisi linux-nl dari tabel route Linux.
  4. NAT44 (kalau keluar lewat interface masquerade): alamat sumber diganti alamat interface, dan sesinya dicatat.
  5. 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