Ganti driver UIO dengan driver VFIO pada instans ECS dan ECS Bare Metal Instance (EBM) untuk memperbaiki error waktu proses DPDK.
Prasyarat
-
Huge pages telah dikonfigurasi pada instans.
-
DPDK telah diinstal pada instans.
Latar Belakang
Aplikasi DPDK pada tipe instans generasi keenam (seperti g6, c6, dan r6) serta versi yang lebih baru mungkin mengalami error waktu proses. Sebagai contoh, pktgen-dpdk mungkin gagal mendeteksi NIC yang di-bind ke driver igb_uio. Jika Anda menemui error berikut, gantilah driver UIO dengan driver VFIO.
EAL: eal_parse_sysfs_value(): cannot open sysfs value /sys/bus/pci/devices/0000:00:06.0/uio/uio0/portio/port0/start
Prosedur
-
Hubungkan ke instans ECS atau EBM Anda. Lihat Log on to a Linux instance using Workbench.
-
Periksa konfigurasi GRUB.
cat /proc/cmdline -
Tambahkan
intel_iommu=onke/etc/default/grub.-
Buka file tersebut.
sudo vim /etc/default/grub -
Tekan
iuntuk masuk ke mode insert. Tambahkanintel_iommu=onke parameterGRUB_CMDLINE_LINUX. Simpan dan tutup file.Contoh konfigurasi yang telah dimodifikasi:

-
Terapkan konfigurasi tersebut.
sudo grub2-mkconfig -o /boot/grub2/grub.cfg
-
Restart instans dan hubungkan kembali setelah instans menyala.
rebootPeringatanOperasi restart akan menghentikan instans selama periode waktu singkat dan dapat mengganggu layanan yang sedang berjalan pada instans tersebut. Kami menyarankan agar Anda melakukan restart instans pada jam sepi.
-
-
Muat driver VFIO dan VFIO-PCI.
sudo modprobe vfio && \ sudo modprobe vfio-pci -
Aktifkan
noiommu_mode.sudo bash -c 'echo 1 > /sys/module/vfio/parameters/enable_unsafe_noiommu_mode' -
Dapatkan nilai
bus-infodari NIC.ethtool -i ethXGanti
ethXdengan ID NIC target. Contoh untuketh1:
-
Bind NIC ke driver
vfio-pci. Buka direktoriusertoolsdi direktori instalasi DPDK Anda dan jalankan:sudo ./dpdk-devbind.py -b vfio-pci 0000:00:06.0CatatanGanti
0000:00:06.0dengan nilaibus-infoaktual NIC Anda.Jalankan
./dpdk-devbind.py --statusuntuk memverifikasi. Output berikut menunjukkan bahwa0000:00:06.0telah di-bind kevfio-pci:
-
Jalankan aplikasi DPDK. Buka direktori
build/appdi direktori instalasi DPDK Anda dan jalankan perintah sesuai versi Anda.-
Untuk DPDK 18.02 dan versi yang lebih baru:
sudo ./testpmd -w 0000:00:06.0 -c 0x3 -- --total-num-mbufs=2048 -ai -
Untuk versi sebelum DPDK 18.02:
sudo ./testpmd -w 0000:00:06.0 -c 0x3 -- --total-num-mbufs=2048 --disable-hw-vlan -ai
Catatan-w 0000:00:06.0menentukan NIC. Nilaitotal-num-mbufs=2048harus disesuaikan dengan ukuran huge page Anda. Gantilah keduanya dengan nilai aktual Anda.Contoh aplikasi DPDK yang sedang berjalan:

-
