Panduan instalasi VPP yang telah di-patch untuk Debian 12 (Bookworm) dengan NIC Intel 82598EB 10GbE (8086:10c6).
Important
Patch ini dibuat khusus untuk hardware dan NIC yang disebutkan di bawah. Penggunaan pada hardware atau NIC lain belum tentu kompatibel.
Sebelum melakukan instalasi, pastikan sistem memenuhi persyaratan berikut:
- OS: Debian 12 (Bookworm) amd64
- Kernel: Linux 6.1
- NIC: Intel 82598EB 10GbE
- PCI Device ID:
8086:10c6 - IOMMU: Intel VT-d / DMAR aktif
- IOMMU Mode: Translated
Jika IOMMU belum aktif pada kernel, tambahkan parameter berikut pada kernel command line:
intel_iommu=on
IOMMU juga harus diaktifkan melalui BIOS/UEFI.
Build dan patch ini diuji menggunakan hardware berikut:
| Komponen | Spesifikasi |
|---|---|
| Appliance | Sophos XG Network Appliance |
| Motherboard | Sophos "XG" |
| BIOS | American Megatrends Inc. 5.11 |
| CPU | Intel Core i7-6700K @ 4.00 GHz |
| CPU Core / Thread | 4 Core / 8 Thread |
| RAM | 7.7 GiB |
| Storage | ADATA ASU800SS-128GT — 119.2 GB |
| OS | Debian 12 Bookworm |
| Kernel | 6.1.0-51-amd64 |
| IOMMU | Intel VT-d / DMAR |
| IOMMU Domain | Translated |
| NIC | Intel 82598EB 10GbE |
| PCI ID | 8086:10c6 |
Clone repository ini:
git clone https://github.com/niammuddin/vpp-patch
cd vpp-patchUpdate package index dan install dependency yang dibutuhkan:
apt-get update
apt-get install -y \
libnuma1 \
libnl-3-200 \
libnl-route-3-200 \
libunwind8 \
libssl3 \
libpcap0.8 \
libelf1Kemudian install package VPP:
dpkg -i \
libvppinfra_*.deb \
vpp_*.deb \
vpp-plugin-core_*.deb \
vpp-plugin-dpdk_*.debNote
Jika dpkg mengalami error karena versi package bentrok dengan repository FD.io, nonaktifkan repository FD.io terlebih dahulu dengan me-rename file .list terkait.
Alternatifnya, gunakan:
dpkg -i --force-downgrade \
libvppinfra_*.deb \
vpp_*.deb \
vpp-plugin-core_*.deb \
vpp-plugin-dpdk_*.debSalin startup.conf dari repository:
cp startup.conf /etc/vpp/startup.confWarning
PCI address NIC pada setiap perangkat bisa berbeda. Jangan langsung menggunakan PCI address dari konfigurasi contoh tanpa melakukan pengecekan.
Cari NIC Intel 82598EB dengan:
lspci -nn | grep 8086:10c6Contoh output:
01:00.0 Ethernet controller [0200]: Intel Corporation 82598EB 10-Gigabit ...
01:00.1 Ethernet controller [0200]: Intel Corporation 82598EB 10-Gigabit ...
Jika PCI address berbeda, sesuaikan bagian berikut di /etc/vpp/startup.conf:
0000:01:00.0
0000:01:00.1
dengan PCI address NIC pada perangkat yang digunakan.
Konfigurasi berikut menyediakan 1024 × 2 MiB = 2 GiB HugePages:
echo "vm.nr_hugepages=1024" >> /etc/sysctl.conf
sysctl -pVerifikasi:
grep Huge /proc/meminfoPastikan HugePages_Total menunjukkan jumlah HugePages yang telah dialokasikan.
Load kernel module vfio-pci:
modprobe vfio-pciDaftarkan Intel 82598EB (8086:10c6) ke driver vfio-pci:
echo "8086 10c6" > /sys/bus/pci/drivers/vfio-pci/new_idTurunkan interface kernel sebelum VPP mengambil alih NIC:
ip link set enp1s0f0 down
ip link set enp1s0f1 downNote
Nama interface seperti enp1s0f0 dan enp1s0f1 dapat berbeda pada setiap perangkat.
Cek nama interface dengan:
ip linkKemudian jalankan VPP:
systemctl start vppPeriksa status service:
systemctl status vppJika VPP gagal start, periksa log:
journalctl -u vpp -n 100 --no-pagervppctl show versionVersi yang diharapkan:
v25.02-release built by root on debian
vppctl show interfacePastikan interface berhasil terdeteksi dan rx-error tidak muncul.
Untuk melihat detail error counter:
vppctl show errorsImportant
DPDK tidak perlu di-install secara terpisah.
Patch DPDK sudah ter-embed secara statik di dalam package:
vpp-plugin-dpdk_*.deb
Pastikan sistem tidak memiliki instalasi VPP lain yang dapat menyebabkan konflik:
dpkg -l | grep vppJika sebelumnya pernah menggunakan VPP dari repository FD.io, pastikan package dan repository lama tidak menyebabkan versi dependency bercampur.
Konfigurasi CLI VPP setelah instalasi tetap harus dilakukan secara manual sesuai kebutuhan jaringan.
Pastikan IOMMU aktif:
dmesg | grep -Ei 'DMAR|IOMMU'Periksa driver yang sedang digunakan NIC:
lspci -nnk | grep -A3 8086:10c6NIC yang digunakan oleh VPP/DPDK seharusnya menggunakan:
Kernel driver in use: vfio-pci
grep Huge /proc/meminfosystemctl status vppjournalctl -u vpp -n 100 --no-pagervppctl show interfacevppctl show errorsOS : Debian 12 Bookworm
Kernel : 6.1.0-51-amd64
VPP : v25.02-release
NIC : Intel 82598EB 10GbE
PCI ID : 8086:10c6
IOMMU : Intel VT-d / DMAR
Mode : Translated
Caution
Patch ini ditujukan untuk Intel 82598EB (8086:10c6). Jangan mengasumsikan patch akan bekerja dengan NIC Intel atau perangkat PCI lainnya tanpa pengujian terlebih dahulu.