Stations de travail en ligne OnWorks Linux et Windows

Logo

Hébergement gratuit en ligne pour les postes de travail

<Précédent | Table des matières | Suivant>

5.1. Pré-requis


Ce package est actuellement compilé pour les besoins CPU les plus bas possibles. Ce qui nécessite toujours qu'au moins SSE3 soit pris en charge par le CPU.

La liste des cartes réseau prises en charge par DPDK en amont se trouve sur les cartes réseau prises en charge22. Mais beaucoup d'entre eux sont désactivés par défaut dans le projet en amont car ils ne sont pas encore dans un état stable. Le sous-ensemble de cartes réseau que DPDK a activé dans le package tel qu'il est disponible dans Ubuntu 16.04 est :

Intel

• 1000 XNUMX e23 (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 (Terminaison 5)


Cisco

• énique30 (UCS Virtual Interface Card) Paravirtualisation


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 (UEMQ)

•vmxnet332


Autres

• af_paquet33 (Socket Linux AF_PACKET)

• anneau34 (Mémoire)


De plus, il active expérimentalement les deux pilotes PMD suivants car ils représentent des périphériques (virtuels) très accessibles aux utilisateurs finaux.

Paravirtualisation

• xenvirt35 (Xén)


Autres

• pcap36 (fichier ou pilote noyau)


Les cartes doivent être désaffectées de leur pilote de noyau et affectées à la place à uio_pci_generic de vfio-pci. uio_pci_generic est plus ancien et fonctionne généralement plus facilement.

Le nouveau vfio-pci nécessite que vous activiez les paramètres de noyau suivants pour activer iommu.


iommu=pt intel_iommu=on


En plus de vfio-pci, vous devez ensuite configurer et affecter les groupes iommu en conséquence.


Remarque : dans un environnement basé sur virtio, il suffit de "désaffecter" les périphériques du pilote du noyau. Sans cela, DPDK refusera d'utiliser le périphérique pour éviter les problèmes avec le noyau et le DPDK fonctionnant sur le périphérique en même temps. Étant donné que DPDK peut fonctionner directement sur les périphériques virtio, il n'est pas nécessaire d'affecter par exemple uio_pci_generic à ces périphériques.

La configuration manuelle et les vérifications d'état peuvent être effectuées via sysfs ou avec l'outil dpdk_nic_bind


dpdk_nic_bind --help


Usage:

------


dpdk_nic_bind [options] PÉRIPHÉRIQUE1 PÉRIPHÉRIQUE2 ....


où DEVICE1, DEVICE2 etc, sont spécifiés via la syntaxe PCI "domain:bus:slot.func" ou la syntaxe "bus:slot.func". Pour les périphériques liés aux pilotes du noyau Linux, ils peuvent


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


également désigné par le nom d'interface Linux, par exemple eth0, eth1, em0, em1, etc.


Options:

--help, --usage :

Afficher les informations d'utilisation et quitter


-s, --status :

Imprimez l'état actuel de toutes les interfaces réseau connues.

Pour chaque périphérique, il affiche le domaine PCI, le bus, l'emplacement et la fonction, ainsi qu'une description textuelle du périphérique. Selon que le périphérique est utilisé par un pilote de noyau, le pilote igb_uio ou aucun pilote, d'autres informations pertinentes seront affichées :

* le nom de l'interface Linux par exemple if=eth0

* le pilote utilisé, par exemple drv=igb_uio

* tout pilote approprié n'utilisant pas actuellement ce périphérique

par exemple unused=igb_uio

REMARQUE : si ce drapeau est passé avec une option de liaison/déconnexion, l'affichage de l'état se produira toujours après que les autres opérations aient eu lieu.


-b pilote, --bind=pilote :

Sélectionnez le pilote à utiliser ou "aucun" pour délier le périphérique


-u, --unbind :

Dissocier un périphérique (équivalent à "-b none")


--Obliger:

Par défaut, les périphériques utilisés par Linux - comme indiqué par la présence de routes dans la table de routage - ne peuvent pas être modifiés. L'utilisation de l'indicateur --force remplace ce comportement, permettant aux liens actifs d'être déliés de force.

AVERTISSEMENT : Cela peut entraîner une perte de connexion au réseau et doit être utilisé avec prudence.


Exemples :

---------


Pour afficher l'état actuel de l'appareil : dpdk_nic_bind --status


Pour lier eth1 au pilote actuel et passer à utiliser igb_uio dpdk_nic_bind --bind=igb_uio eth1


Pour dissocier 0000:01:00.0 de l'utilisation de n'importe quel pilote dpdk_nic_bind -u 0000:01:00.0


Pour lier 0000:02:00.0 et 0000:02:00.1 au pilote du noyau ixgbe dpdk_nic_bind -b ixgbe 02:00.0 02:00.


Meilleur système d'exploitation Cloud Computing chez OnWorks :