Projet

Général

Profil

Demande #20066

ethtool ne retourne pas les bonnes valeurs:

Ajouté par Anthony RAULT il y a presque 9 ans. Mis à jour il y a plus de 8 ans.

Statut:
Pas un bug
Priorité:
Normal
Assigné à:
Catégorie:
-
Version cible:
-
Début:
04/04/2017
Echéance:
% réalisé:

0%

Temps passé:

Historique

#1 Mis à jour par Anthony RAULT il y a presque 9 ans

Bonjour,
les serveurs suivant sont virtualisés et utilisent les drivers virtio:

sur un Horus 2.5.2 avec le kernel 4.4.0-71-generic:
#ethtool eth0
eth0: Speed: Unknown! Duplex: Unknown! (255) Link detected: yes

sur un Horus/Amon 2.5.2 avec le kernel 3.19.0-80-generic:
ethtool eth0
Settings for eth0:
Link detected: yes

La commande "ethtool -s eth0 speed 1000 duplex full" résous l'erreur au diagnose.

Malgré tout, je ne comprends pourquoi le kernel 4.4 pose problème à ethtool

Cordialement

#2 Mis à jour par Daniel Dehennin il y a presque 9 ans

  • Assigné à mis à Daniel Dehennin

En faisant une petite recherche, je trouve Ethtool Shows Unknown Speed and Duplex chez Oracle.

Ils parlent d’ajouter les paramètres suivants au noyau de l’hyperviseur :

extra_guest_irqs=64,2048 nr_irqs=2048

#3 Mis à jour par Anthony RAULT il y a presque 9 ans

oui je l'avais vu mais alors:
- où trouver le nombre actuel de ces valeurs; cat /proc/interruptions ou cat /proc/irq/* ne donne pas ces informations.
- sur les 50 Hapy, il n'y a que les VM avec le kernel 4.4 qui retourne cette erreur. C'est pour cette raison que je cherchais plutôt coté kernel 4.4 dans les VM

Cdlt

#4 Mis à jour par Daniel Dehennin il y a presque 9 ans

Anthony RAULT a écrit :

oui je l'avais vu mais alors:
- où trouver le nombre actuel de ces valeurs; cat /proc/interruptions ou cat /proc/irq/* ne donne pas ces informations.

J’ai trouvé nr_irqs dans dmesg:

root@hapy:~# dmesg | grep irqs
[    0.000000] NR_IRQS:33024 nr_irqs:456 16

Je ne trouve pas extra_guest_irqs.

- sur les 50 Hapy, il n'y a que les VM avec le kernel 4.4 qui retourne cette erreur. C'est pour cette raison que je cherchais plutôt coté kernel 4.4 dans les VM

Il est possible que le 4.4 alloue plus d’IRQs, du coup il faut que l’hyperviseur lui en autorise plus… c’est la compréhension que me suggère les noms de paramètres et ce que j’arrive à lire sur Internet.

#5 Mis à jour par Daniel Dehennin il y a presque 9 ans

J’ai essayé de reproduire sur un Hâpy mais l’histoire des IRQs ne résoud rien.

En revanche j’ai trouvé https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1581132.

C’est sensé être résolu :-/

#6 Mis à jour par Anthony RAULT il y a presque 9 ans

tu as raison sur le terme "sensé" car d’après ce bug (and not a feature! sic!), il est sensé être résolu dans le kernel 4.4.0-25.44 et mes VMs sont 4.4.0-71-generic.

bref, a suivre... :-)

#7 Mis à jour par Daniel Dehennin il y a plus de 8 ans

  • Statut changé de Nouveau à Pas un bug

Anthony RAULT a écrit :

tu as raison sur le terme "sensé" car d’après ce bug (and not a feature! sic!), il est sensé être résolu dans le kernel 4.4.0-25.44 et mes VMs sont 4.4.0-71-generic.

bref, a suivre... :-)

J’ai trouvé, en fait ce qui est corrigé c’est la possibilité de définir manuellement une vitesse et un mode de duplex, l’autonégociation ne fonctionne pas :

amon:~# ethtool ens5
Settings for ens5:
    Supported ports: [ ]
    Supported link modes:   Not reported
    Supported pause frame use: No
    Supports auto-negotiation: No
    Advertised link modes:  Not reported
    Advertised pause frame use: No
    Advertised auto-negotiation: No
    Speed: Unknown!
    Duplex: Unknown! (255)
    Port: Other
    PHYAD: 0
    Transceiver: internal
    Auto-negotiation: off
    Link detected: yes

par contre :

amon:~# ethtool -s ens5 speed 10000 duplex full
amon:~# ethtool ens5
Settings for ens5:
    Supported ports: [ ]
    Supported link modes:   Not reported
    Supported pause frame use: No
    Supports auto-negotiation: No
    Advertised link modes:  Not reported
    Advertised pause frame use: No
    Advertised auto-negotiation: No
    Speed: 10000Mb/s
    Duplex: Full
    Port: Other
    PHYAD: 0
    Transceiver: internal
    Auto-negotiation: off
    Link detected: yes

Il vous faut donc définir, pour chaque interface, la variable Mode de connexion pour l'interface :

for index in $( seq 0 $(( $(CreoleGet nombre_interfaces) - 1 )) )
do
    CreoleSet debit_carte_eth${index} 'speed 1000 duplex full autoneg off'
done

et ensuite reconfigurer votre serveur :

amon:~# reconfigure

Maintenant le diagnose affiche les valeurs définies :

*** Cartes réseau
ens4: Speed: 1000Mb/s Duplex: Full Link detected: yes 
ens5: Speed: 1000Mb/s Duplex: Full Link detected: yes 
ens6: Speed: 1000Mb/s Duplex: Full Link detected: yes 
ens7: Speed: 1000Mb/s Duplex: Full Link detected: yes 

ATTENTION : ces valeurs ne sont que purement informatives avec des interfaces vitio, aucune limitation n’est implémenté dans le pilote.

Formats disponibles : Atom PDF