OnWorks Linux dan Windows Online Workstations

logo

Pengehosan Dalam Talian Percuma untuk Workstation

<Sebelum | Contents [show] | Seterusnya>

5.1. Prasyarat


Pakej ini pada masa ini disusun untuk keperluan CPU terendah yang mungkin. Yang masih memerlukan sekurang-kurangnya SSE3 untuk disokong oleh CPU.

Senarai kad rangkaian yang disokong DPDK huluan boleh didapati di NIC yang disokong22. Tetapi banyak daripada mereka dilumpuhkan secara lalai dalam Projek huluan kerana mereka belum berada dalam keadaan stabil. Subset kad rangkaian yang DPDK telah dayakan dalam pakej seperti yang tersedia dalam Ubuntu 16.04 ialah:

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)


Chelsio

• cxgbe29 (Terminator 5)


Cisco

• enik30 (Kad Antara Muka Maya UCS) Paravirtualisasi


gambar

22 http://dpdk.org/doc/nics

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


Sebagainya

• paket_f33 (Soket AF_PACKET Linux)

• cincin34 (ingatan)


Di atasnya, ia secara eksperimen membolehkan dua pemacu PMD berikut kerana ia mewakili peranti (maya) yang sangat boleh diakses oleh pengguna akhir.

Paravirtualisasi

• xenvirt35 (Xen)


Sebagainya

• pcap36 (fail atau pemacu kernel)


Kad perlu dibatalkan daripada pemacu kernel mereka dan sebaliknya diberikan kepada uio_pci_generic vfio-pci. uio_pci_generic lebih lama dan biasanya mula bekerja dengan lebih mudah.

Vfio-pci yang lebih baharu memerlukan anda mengaktifkan parameter kernel berikut untuk mendayakan iommu.


iommu=pt intel_iommu=on


Di atas untuk vfio-pci, anda perlu mengkonfigurasi dan menetapkan kumpulan iommu dengan sewajarnya.


Nota: Dalam persekitaran berasaskan virtio sudah cukup untuk "menyahtugas" peranti daripada pemacu kernel. Tanpa itu DPDK akan menolak untuk menggunakan peranti untuk mengelakkan masalah dengan kernel dan DPDK yang berfungsi pada peranti pada masa yang sama. Memandangkan DPDK boleh berfungsi secara langsung pada peranti virtio, ia tidak perlu memberikan contohnya uio_pci_generic kepada peranti tersebut.

Konfigurasi manual dan semakan status boleh dilakukan melalui sysfs atau dengan alat dpdk_nic_bind


dpdk_nic_bind --help


Penggunaan:

------


dpdk_nic_bind [pilihan] DEVICE1 DEVICE2 ....


di mana DEVICE1, DEVICE2 dll, ditentukan melalui sintaks "domain:bus:slot.func" PCI atau sintaks "bus:slot.func". Untuk peranti yang terikat kepada pemacu kernel Linux, mereka boleh


gambar

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 dirujuk oleh nama antara muka Linux cth eth0, eth1, em0, em1, dsb.


Pilihan:

--bantuan, --penggunaan:

Paparkan maklumat penggunaan dan berhenti


-s, --status:

Cetak status semasa semua antara muka rangkaian yang diketahui.

Untuk setiap peranti, ia memaparkan domain PCI, bas, slot dan fungsi, bersama-sama dengan penerangan teks peranti. Bergantung pada sama ada peranti sedang digunakan oleh pemacu kernel, pemacu igb_uio, atau tiada pemacu, maklumat lain yang berkaitan akan dipaparkan:

* nama antara muka Linux cth if=eth0

* pemandu yang digunakan cth drv=igb_uio

* mana-mana pemandu yang sesuai yang tidak menggunakan peranti itu pada masa ini

cth unused=igb_uio

NOTA: jika bendera ini dihantar bersama-sama dengan pilihan bind/unbind, paparan status akan sentiasa berlaku selepas operasi lain telah berlaku.


-b pemandu, --bind=driver:

Pilih pemacu untuk digunakan atau "tiada" untuk membuka ikatan peranti


-u, --buka ikatan:

Nyahikat peranti (Bersamaan dengan "-b none")


--paksa:

Secara lalai, peranti yang digunakan oleh Linux - seperti yang ditunjukkan dengan mempunyai laluan dalam jadual penghalaan - tidak boleh diubah suai. Menggunakan bendera --force mengatasi gelagat ini, membenarkan pautan aktif dinyahikat secara paksa.

AMARAN: Ini boleh menyebabkan kehilangan sambungan rangkaian dan harus digunakan dengan berhati-hati.


Contoh:

---------


Untuk memaparkan status peranti semasa: dpdk_nic_bind --status


Untuk mengikat eth1 daripada pemacu semasa dan bergerak menggunakan igb_uio dpdk_nic_bind --bind=igb_uio eth1


Untuk menyahikat 0000:01:00.0 daripada menggunakan mana-mana pemandu dpdk_nic_bind -u 0000:01:00.0


Untuk mengikat 0000:02:00.0 dan 0000:02:00.1 kepada pemacu kernel ixgbe dpdk_nic_bind -b ixgbe 02:00.0 02:00.


Pengkomputeran Awan OS teratas di OnWorks: