web-dev-qa-db-fra.com

Qu'est-ce que Eno signifie dans le nom d'interface réseau 'Eno16777736' pour Centos 7 ou Rhel 7?

Sous le schéma de dénomination de l'appareil de réseau réseau cohérent, qu'est-ce que "Eno" signifie dans le nom d'interface réseau eno16777736 pour Centos 7 ou Rhel 7?

17
Andy Huang

Ceci est noms de périphériques d'interface de réseau prévisibles en action.

  • en est pour Ethernet
  • o est à bord
  • Le nombre est un index de firmware/BIOS fourni.

Plus de détails dans la source de dev-in-intaintine-net_id.c

23
garethTheRed

Hmmm. Plus que "EN" et "O", je serais plus préoccupé par le "16777736".

À moins que vous ayez accidentellement erré dans Google et vous avez trouvé assis sur un serveur avec une architecture PCI personnalisée, je ne vois pas vraiment comment 16777736 pourrait être une valeur possible. Cela pourrait être un indice à un problème plus grave.

Sous le schéma actuel, un système ne serait pas en mesure d'aborder plus de 256 bus PCI (32 appareils sous chaque bus et un maximum de 8 fonctions sous chaque appareil). Ceci est également connu comme bus: Appareil.function Adressage. Systèmes modernes Utilisez Domaine: Bus: Appareil.function pour obtenir la limitation de 256 bus. Mais de toute façon, revenez à votre problème ...

Pouvez-vous faire un:

ls -la /sys/class/net | grep eno16777736

Si vous voyez quelque chose de très similaire à:

eno16777736 -> ../.../devices/pci0000:00/0000:00:11.0/0000:1000208:01.0/net/eno16777736

Ensuite, je vous suggère de courir vite avant que Google ne vous attrape à jouer avec leurs serveurs.

Le /(0000:1000208:01.0)/ ci-dessus est le domaine: bus: périphérique.function Adresse avec la valeur du bus, "1000208", une représentation hexadécimale de 167777736. Cependant, "0x100" (256) devrait être la valeur maximale que vous pouvez avoir pour "bus".

D'autre part, si vous obtenez une valeur inférieure à 0x100 pour le "bus", comme:

eno16777736 -> ../.../devices/pci0000:00/0000:00:11.0/0000:1c:01.0/net/eno16777736

Ensuite, je pense que le problème serait lié à la manière dont votre BIOS/Firmware envoie des informations à UDev (SystemD) au démarrage. Pour déterminer la cause potentielle, vérifiez d'abord les valeurs que Udev est revenue.

Normalement, il existe trois places des requêtes Udev pour créer le PIN (Nom d'interface prévisible)

  1. Acpi_dsm
  2. Table de SMBIOS [Spécifiquement le type d'enregistrement "Slots" [9] et Type 41]
  3. Table de routage IRQ PCI IRQ

[dans cet ordre]

Nous pouvons tester (1) par:

udevadm info --path=/sys/class/net/eno16777736 --attribute-walk | grep acpi

Si cela vous donne 16777736, votre système ne prend probablement pas en charge la spécification du micrologiciel PCI 3.1 qui est nécessaire pour prendre en charge ACPI_DSM.

Nous devons donc maintenant tester (2). Donc, laisse vérifier le type d'enregistrement 41 dans la table SMBIOS en premier (le type 41 est le plus pertinent):

dmidecode -t 41 | more

Si rien ne montre que la version SMBIOS est moins que "2.62", cela signifie que Udev s'appuiera sur la table de routage IRQ PCI pour créer la broche.

Nous devrions donc vérifier (3)

biosdecode

Portez une attention particulière à votre entrée de logement maximale ... il devrait être de la forme:

Slot Entry X: ID 00:00, (slot number X| status)

Si X est 25, pour l'amour de l'argument, votre NIC doit être sur une fente inférieure ou égale à 25. Sinon, Udev continuera de référencer la valeur de l'espace réservé de 16777736.

Dans la plupart des cas, vous pouvez vérifier le numéro de logement de votre NIC par:

lspci -bv | grep -i -A10 ether

Et encore dans la plupart des cas, dans le BDF (bus: appareil.function), le périphérique doit être égal au numéro de port physique (après la convertir de HEX en décimal). Dans d'autres cas (où ce n'est pas), LSPCI répertoriera la fente physique sur une ligne distincte dans la sortie d'exécution de la commande ci-dessus LSPCI.

Donc, si le numéro d'emplacement physique indiqué est supérieur à X (le nombre maximum que nous avons trouvé dans notre tableau de routage IRQ PCI), nous avons très probablement isolé le problème.

Il y a 5 solutions possibles que je peux penser dans ce cas ...

  1. Le noyau piratage ... reconstruisez le noyau avec une nouvelle table de routage IRQ PCI. Jeter un coup d'œil sur /arch/x86/pci/irq.c

[Ceci est la solution I-Meight-West-Use-Use-of My-Time]

  1. Cartographier l'appareil à un nom différent en créant une nouvelle règle

par:

vi /etc/udev/rules.d/70-my-net-names.rules

ajoutez ensuite ce qui suit:

ACTION=="add", SUBSYSTEM=="net", ENV{ID_BUS}=="pci", 
KERNELS=="{Domain:Bus:Device.Function}", NAME="{name: i.e. eno1 or eth0}" 

[J'appelle ceci le let-nous-ignorais-the-problem-and-jus-make-look-joli

  1. Vous pouvez ajouter net.iFnames = 0 aux options de démarrage du noyau pour désactiver la fonctionnalité

[Ceci est bien sûr la solution IF-IT-IT-IST-SURVE-IT-IT-OFF-OFF-SOLIDE] (pas vraiment une solution) ...

  1. Et si vous exécutez une machine virtuelle ... VMware/VirtualBox, etc ... ouvrez le fichier de configuration et modifiez le "pcislotnatenumber" à quelque chose de ci-dessous X.

[Mais il s'agit d'une solution à mises à jour à mises à jour de My-My-Software -

  1. Achetez un nouvel ordinateur. [Et enfin la solution IF-You-ne peut-elle pas
19
Dominic Williams

Juste pour ajouter des détails aux réponses précédentes:

Deux préfixes de caractères basées sur le type d'interface:

*   en -- ethernet
*   sl -- serial line IP (slip)
*   wl -- wlan
*   ww -- wwan
*   ib -- Infiniband

Type de noms:

*   b<number>                             -- BCMA bus core number
*   ccw<name>                             -- CCW bus group name
*   o<index>                              -- on-board device index number
*   s<slot>[f<function>][d<dev_port>]     -- hotplug slot index number
*   x<MAC>                                -- MAC address
*   [P<domain>]p<bus>s<slot>[f<function>][d<dev_port>]
                                          -- PCI geographical location
*   [P<domain>]p<bus>s<slot>[f<function>][u<port>][..]1[i<interface>]
                                          -- USB port number chain

Source: http://ask.xmodulo.com/change-network-interface-name-centeros7.html

14
sumid