OnWorks Linux- und Windows-Online-WorkStations

Logo

Kostenloses Online-Hosting für WorkStations

<Zurück | Inhalte | Weiter>

5.1. Voraussetzungen


Dieses Paket ist derzeit für möglichst geringe CPU-Anforderungen kompiliert. Wofür immer noch mindestens SSE3 von der CPU unterstützt werden muss.

Die Liste der von Upstream DPDK unterstützten Netzwerkkarten finden Sie unter unterstützte Netzwerkkarten22. Viele davon sind jedoch im Upstream-Projekt standardmäßig deaktiviert, da sie sich noch nicht in einem stabilen Zustand befinden. Die Teilmenge der Netzwerkkarten, die DPDK in dem in Ubuntu 16.04 verfügbaren Paket aktiviert hat, ist:

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

• enic30 (UCS Virtual Interface Card) Paravirtualisierung


Image

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


Anders

• af_packet33 (Linux AF_PACKET-Socket)

• Ring34 (Erinnerung)


Darüber hinaus werden versuchsweise die folgenden beiden PMD-Treiber aktiviert, da sie (virtuelle) Geräte darstellen, die für Endbenutzer sehr gut zugänglich sind.

Paravirtualisierung

• xenvirt35 (Xen)


Anders

• pcap36 (Datei- oder Kerneltreiber)


Die Zuordnung der Karten zu ihrem Kernel-Treiber muss aufgehoben und stattdessen uio_pci_generic von vfio-pci zugewiesen werden. uio_pci_generic ist älter und lässt sich normalerweise leichter einsetzen.

Das neuere vfio-pci erfordert, dass Sie die folgenden Kernel-Parameter aktivieren, um iommu zu aktivieren.


iommu=pt intel_iommu=on


Darüber hinaus müssen Sie für vfio-pci dann die Iommu-Gruppen entsprechend konfigurieren und zuweisen.


Hinweis: In einer virtio-basierten Umgebung reicht es aus, die Zuweisung von Geräten zum Kernel-Treiber aufzuheben. Andernfalls lehnt DPDK die Verwendung des Geräts ab, um Probleme mit der gleichzeitigen Arbeit von Kernel und DPDK auf dem Gerät zu vermeiden. Da DPDK direkt auf Virtio-Geräten arbeiten kann, ist es nicht erforderlich, diesen Geräten z. B. uio_pci_generic zuzuweisen.

Manuelle Konfigurations- und Statusprüfungen können über sysfs oder mit dem Tool dpdk_nic_bind durchgeführt werden


dpdk_nic_bind --help


Verwendung:

------


dpdk_nic_bind [Optionen] GERÄT1 GERÄT2 ....


wobei DEVICE1, DEVICE2 usw. über die PCI-Syntax „domain:bus:slot.func“ oder „bus:slot.func“ angegeben werden. Bei Geräten, die an Linux-Kernel-Treiber gebunden sind, ist dies möglicherweise der Fall


Image

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


kann auch mit dem Linux-Schnittstellennamen bezeichnet werden, z. B. eth0, eth1, em0, em1 usw.


Zubehör:

--help, --usage:

Nutzungsinformationen anzeigen und beenden


-s, --status:

Drucken Sie den aktuellen Status aller bekannten Netzwerkschnittstellen.

Für jedes Gerät werden die PCI-Domäne, der Bus, der Steckplatz und die Funktion sowie eine Textbeschreibung des Geräts angezeigt. Abhängig davon, ob das Gerät von einem Kernel-Treiber, dem igb_uio-Treiber oder keinem Treiber verwendet wird, werden weitere relevante Informationen angezeigt:

* der Name der Linux-Schnittstelle, z. B. if=eth0

* der verwendete Treiber, z. B. drv=igb_uio

* alle geeigneten Treiber, die dieses Gerät derzeit nicht verwenden

zB unbenutzt=igb_uio

HINWEIS: Wenn dieses Flag zusammen mit einer Bindungs-/Bindungsoption übergeben wird, erfolgt die Statusanzeige immer erst, nachdem die anderen Vorgänge stattgefunden haben.


-b Treiber, --bind=Treiber:

Wählen Sie den zu verwendenden Treiber oder „Keine“ aus, um die Bindung des Geräts aufzuheben


-u, --unbind:

Ein Gerät entbinden (entspricht „-b none“)


--Gewalt:

Standardmäßig können Geräte, die von Linux verwendet werden – was durch Routen in der Routing-Tabelle angezeigt wird – nicht geändert werden. Durch die Verwendung des Flags --force wird dieses Verhalten außer Kraft gesetzt, sodass aktive Links zwangsweise aufgehoben werden können.

WARNUNG: Dies kann zum Verlust der Netzwerkverbindung führen und sollte mit Vorsicht verwendet werden.


Beispiele:

---------


Um den aktuellen Gerätestatus anzuzeigen: dpdk_nic_bind --status


Um eth1 vom aktuellen Treiber zu binden und zu verwenden, verwenden Sie igb_uio dpdk_nic_bind --bind=igb_uio eth1


Um die Bindung von 0000:01:00.0 von der Verwendung eines beliebigen Treibers aufzuheben, dpdk_nic_bind -u 0000:01:00.0


Um 0000:02:00.0 und 0000:02:00.1 an den ixgbe-Kernel-Treiber zu binden, dpdk_nic_bind -b ixgbe 02:00.0 02:00.


Top OS Cloud Computing bei OnWorks: