Lewati ke isi

Port dataplane & CPU

Port dataplane dan pembagian CPU diatur di luar CLI router, karena mengubahnya berarti me-restart VPP. Alatnya cidr-dataplane, dan konfigurasinya /etc/cidr/dataplane.conf.

Melihat NIC

root@edge-01:~# cidr-dataplane detect
Kernel       PCI            Driver         MAC                Role
enp0s3       0000:00:03.0   virtio-pci     52:54:00:00:01:03  management (has default route)
enp0s6       0000:00:06.0   virtio-pci     52:54:00:00:01:06
enp0s4       0000:00:04.0   (VPP)                             VPP port eth1
enp0s5       0000:00:05.0   (VPP)                             VPP port eth2

Menambah port

Daftar port selalu ditulis lengkap, termasuk yang sudah ada:

cidr-dataplane init --ports 0000:00:04.0=eth1,0000:00:05.0=eth2,0000:00:06.0=eth3
systemctl restart vpp

Lalu konfigurasikan eth3 di CLI seperti biasa.

Pakai alamat PCI

NIC yang sudah dipegang VPP tidak lagi punya nama kernel. Alamat PCI selalu bisa dipakai.

Driver

Driver Kecepatan Kapan dipakai
dpdk (default) Tinggi NIC virtio, Intel, Mellanox
af-packet Sedang NIC yang tidak didukung DPDK, atau untuk debugging
cidr-dataplane init --ports ens4=eth1 --driver af-packet

CPU dan worker

Default-nya otomatis (Multi-core). Untuk mengatur manual:

cidr-dataplane init --ports ... --workers auto
cidr-dataplane init --ports ... --main-core 0 --workers 2-5
cidr-dataplane init --ports ... --workers none

Atau ubah langsung di /etc/cidr/dataplane.conf, lalu restart dataplane.

Memeriksa

admin@r2> show dataplane
Driver: dpdk
CPU:    4 CPUs (4 physical cores); VPP main thread on CPU 0, 3 workers on CPU 1-3 (auto)
Buffers: 24576 per NUMA node
  eth1     kernel=enp0s4     pci=0000:00:04.0
  eth2     kernel=enp0s5     pci=0000:00:05.0
...
cidr-dataplane show --startup

Perintah di atas menampilkan dataplane.conf serta startup.conf VPP yang dihasilkan, untuk keperluan diagnosa.

Hugepages

Buffer paket VPP berada di hugepages (default 512 × 2 MB = 1 GB). Kalau port atau worker banyak, router memberi peringatan saat boot dan di show dataplane:

WARNING: only 104857 packet buffers fit in the hugepages but 139264 are needed for 4 ports x 30 workers: raise vm.nr_hugepages to at least 340 per NUMA node (install.sh --hugepages)

Naikkan dengan install.sh --skip-packages --hugepages 2048, lalu reboot.