Skip to content
 
 

Repository files navigation

VPP Patch 25.02 — Installation Guide

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.

Persyaratan

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.


Hardware yang Digunakan

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

Instalasi

1. Clone Repository

Clone repository ini:

git clone https://github.com/niammuddin/vpp-patch
cd vpp-patch

Update 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 \
  libelf1

Kemudian install package VPP:

dpkg -i \
  libvppinfra_*.deb \
  vpp_*.deb \
  vpp-plugin-core_*.deb \
  vpp-plugin-dpdk_*.deb

Note

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_*.deb

2. Pasang Konfigurasi VPP

Salin startup.conf dari repository:

cp startup.conf /etc/vpp/startup.conf

Warning

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:10c6

Contoh 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.


3. Siapkan HugePages

Konfigurasi berikut menyediakan 1024 × 2 MiB = 2 GiB HugePages:

echo "vm.nr_hugepages=1024" >> /etc/sysctl.conf
sysctl -p

Verifikasi:

grep Huge /proc/meminfo

Pastikan HugePages_Total menunjukkan jumlah HugePages yang telah dialokasikan.


4. Siapkan vfio-pci dan Jalankan VPP

Load kernel module vfio-pci:

modprobe vfio-pci

Daftarkan Intel 82598EB (8086:10c6) ke driver vfio-pci:

echo "8086 10c6" > /sys/bus/pci/drivers/vfio-pci/new_id

Turunkan interface kernel sebelum VPP mengambil alih NIC:

ip link set enp1s0f0 down
ip link set enp1s0f1 down

Note

Nama interface seperti enp1s0f0 dan enp1s0f1 dapat berbeda pada setiap perangkat.

Cek nama interface dengan:

ip link

Kemudian jalankan VPP:

systemctl start vpp

Periksa status service:

systemctl status vpp

Jika VPP gagal start, periksa log:

journalctl -u vpp -n 100 --no-pager

Verifikasi

Cek Versi VPP

vppctl show version

Versi yang diharapkan:

v25.02-release built by root on debian

Cek Interface

vppctl show interface

Pastikan interface berhasil terdeteksi dan rx-error tidak muncul.

Untuk melihat detail error counter:

vppctl show errors

Catatan Penting

Important

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 vpp

Jika 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.


Troubleshooting

VPP Tidak Bisa Mengakses NIC

Pastikan IOMMU aktif:

dmesg | grep -Ei 'DMAR|IOMMU'

Periksa driver yang sedang digunakan NIC:

lspci -nnk | grep -A3 8086:10c6

NIC yang digunakan oleh VPP/DPDK seharusnya menggunakan:

Kernel driver in use: vfio-pci

Cek HugePages

grep Huge /proc/meminfo

Cek Status VPP

systemctl status vpp

Cek Log VPP

journalctl -u vpp -n 100 --no-pager

Cek Interface VPP

vppctl show interface

Cek Error Counter

vppctl show errors

Environment yang Telah Diuji

OS       : 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.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors