<Sebelumnya | Konten | Selanjutnya>
5.1. Prasyarat
Paket ini saat ini dikompilasi untuk kebutuhan CPU serendah mungkin. Yang masih membutuhkan setidaknya SSE3 untuk didukung oleh CPU.
Daftar kartu jaringan yang didukung DPDK upstream dapat ditemukan di NIC yang didukung22. Tetapi banyak dari itu dinonaktifkan secara default di Proyek hulu karena belum dalam keadaan stabil. Bagian dari kartu jaringan yang telah diaktifkan DPDK dalam paket yang tersedia di Ubuntu 16.04 adalah:
Intel
• e100023 (82540, 82545, 82546)
• e1000e24 (82571..82574, 82583, ICH8..ICH10, PCH..PCH2)
• IGB25 (82575..82576, 82580, I210, I211, I350, I354, DH89xx)
• ixgbe26 (82598..82599, X540, X550)
• i40e27 (X710, XL710, X722)
• FM10k28 (FM10420)
Chelsea
• cxgbe29 (Terminator 5)
Cisco
• enik30 (Kartu Antarmuka Virtual UCS) Paravirtualisasi
23 http://dpdk.org/doc/guides/nics/e1000em.html
24 http://dpdk.org/browse/dpdk/tree/drivers/net/e1000/
25 http://dpdk.org/browse/dpdk/tree/drivers/net/e1000/
26 http://dpdk.org/doc/guides/nics/ixgbe.html
27 http://dpdk.org/browse/dpdk/tree/drivers/net/i40e/
28 http://dpdk.org/doc/guides/nics/fm10k.html
29 http://dpdk.org/doc/guides/nics/cxgbe.html
30 http://dpdk.org/browse/dpdk/tree/drivers/net/enic
• virtio-net31 (QEMU)
• vmxnet332
Lainnya
• af_packet33 (Soket Linux AF_PACKET)
• cincin34 (Penyimpanan)
Di atasnya secara eksperimental memungkinkan dua driver PMD berikut karena mereka mewakili perangkat (virtual) yang sangat mudah diakses oleh pengguna akhir.
Paravirtualisasi
• lingkungan x35 (Xen)
Lainnya
• pkap36 (driver file atau kernel)
Kartu harus tidak ditetapkan dari driver kernelnya dan sebagai gantinya ditugaskan ke uio_pci_generic dari vfio-pci. uio_pci_generic lebih tua dan biasanya mulai bekerja dengan lebih mudah.
vfio-pci yang lebih baru mengharuskan Anda mengaktifkan parameter kernel berikut untuk mengaktifkan iommu.
iommu=pt intel_iommu=aktif
Di atas untuk vfio-pci Anda kemudian harus mengonfigurasi dan menetapkan grup iommu yang sesuai.
Catatan: Dalam lingkungan berbasis virtio, cukup untuk "membatalkan penetapan" perangkat dari driver kernel. Tanpa itu DPDK akan menolak untuk menggunakan perangkat untuk menghindari masalah dengan kernel dan DPDK yang bekerja pada perangkat secara bersamaan. Karena DPDK dapat bekerja secara langsung pada perangkat virtio, maka tidak perlu menetapkan misalnya uio_pci_generic ke perangkat tersebut.
Konfigurasi manual dan pemeriksaan status dapat dilakukan melalui sysfs atau dengan alat dpdk_nic_bind
dpdk_nic_bind --bantuan
Pemakaian:
------
dpdk_nic_bind [opsi] PERANGKAT1 PERANGKAT2 ....
di mana DEVICE1, DEVICE2 dll, ditentukan melalui sintaks PCI "domain: bus: slot.func" atau sintaks "bus: slot.func". Untuk perangkat yang terikat ke driver kernel Linux, mereka mungkin:
31 http://dpdk.org/doc/guides/nics/virtio.html
32 http://dpdk.org/doc/guides/nics/vmxnet3.html
33 http://dpdk.org/browse/dpdk/tree/drivers/net/af_packet
34 http://dpdk.org/doc/guides/nics/pcap_ring.html#rings-based-pmd
35 http://dpdk.org/doc/guides/xen/pkt_switch.html#xen-pmd-frontend-prerequisites
36 http://dpdk.org/doc/guides/nics/pcap_ring.html#libpcap-based-pmd
juga disebut dengan nama antarmuka Linux misalnya eth0, eth1, em0, em1, dll.
Pilihan:
--help, --penggunaan:
Tampilkan informasi penggunaan dan keluar
-s, --status:
Cetak status saat ini dari semua antarmuka jaringan yang dikenal.
Untuk setiap perangkat, ini menampilkan domain PCI, bus, slot dan fungsi, bersama dengan deskripsi teks perangkat. Tergantung pada apakah perangkat sedang digunakan oleh driver kernel, driver igb_uio, atau tanpa driver, informasi relevan lainnya akan ditampilkan:
* nama antarmuka Linux misalnya if=eth0
* driver yang digunakan misalnya drv=igb_uio
* driver yang sesuai saat ini tidak menggunakan perangkat itu
misalnya tidak digunakan=igb_uio
CATATAN: jika tanda ini diteruskan dengan opsi ikat/lepas, tampilan status akan selalu muncul setelah operasi lain dilakukan.
-b pengemudi, --bind=pengemudi:
Pilih driver yang akan digunakan atau "tidak ada" untuk melepas ikatan perangkat
-u, --lepas ikatan:
Lepaskan ikatan perangkat (Setara dengan "-b none")
--memaksa:
Secara default, perangkat yang digunakan oleh Linux - seperti yang ditunjukkan dengan memiliki rute di tabel perutean - tidak dapat dimodifikasi. Menggunakan flag --force menimpa perilaku ini, memungkinkan tautan aktif untuk dilepaskan secara paksa.
PERINGATAN: Ini dapat menyebabkan hilangnya koneksi jaringan dan harus digunakan dengan hati-hati.
contoh:
---------
Untuk menampilkan status perangkat saat ini: dpdk_nic_bind --status
Untuk mengikat eth1 dari driver saat ini dan pindah untuk menggunakan igb_uio dpdk_nic_bind --bind=igb_uio eth1
Untuk melepaskan ikatan 0000:01:00.0 dari menggunakan driver apa pun dpdk_nic_bind -u 0000:01:00.0
Untuk mengikat 0000:02:00.0 dan 0000:02:00.1 ke driver kernel ixgbe dpdk_nic_bind -b ixgbe 02:00.0 02:00.