Différence entre txqueuelen et ethtool tx

12

Quelle est la différence entre le txqueuelenparamètre qui peut être appliqué avec:

ifconfig eth4 txqueuelen 5000
ip link set eth4 txqueuelen 5000

Et le txparamètre de taille de bague qui peut être appliqué avec:

ethtool -G eth4 tx 4096

Comment sont-ils liés aux /proc/sys/net/core/wmem*paramètres globaux ?

Je suis sur RHEL6.

Christopher Neylan
la source

Réponses:

6

Les paramètres net.core.wmem_defaultet wmem_maxcontrôlent les tailles initiale et maximale des tampons de socket TX en octets. Alors que la file d'attente elle-même n'est qu'une liste de skbpointeurs liés , le noyau garde également une trace de la taille totale des octets consommés par les skbfichiers lorsqu'ils sont ajoutés et supprimés du tampon de socket. Le wmem_defaultsysctl définit le plafond initial par défaut pour les nouvelles sockets ( net/core/sock.c:sock_init_data()). Les applications sont autorisées à augmenter la taille des tampons de leurs sockets et wmem_maxconstituent le plafond de cette fonctionnalité ( net/core/sock.c:sock_setsockopt()).

Lorsqu'un paquet a été supprimé d'un tampon de socket et trouve son chemin à travers la pile des réseaux du noyau, il est placé dans une file d'attente de transmission pour qu'une interface attende d'être chargée sur la carte réseau elle-même. La valeur txqueuelendéfinie par les commandes ifconfigou ipest le nombre de trames autorisées par file d'attente de transmission du noyau pour la discipline de mise en file d'attente ( net/sched/sch_generic.c:pfifo_fast_enqueue()).

Enfin, ethtool -Gutilise ioctl pour définir le nombre d'entrées en anneau pour le tampon en anneau sur la carte réseau elle-même.

Christopher Neylan
la source
2

Je sais que je suis censé donner une longue explication, mais D an Seimon l'a déjà fait . En bref, txqueuelenc'est la taille du tampon. Tous les paquets réseau tiennent dans ce tampon, alors que txc'est la taille du paquet du paquet IP qui va dans ce tampon. C'est si je comprends bien ce message.

eyoung100
la source