Diferença entre txqueuelen e ethtool tx

12

Qual é a diferença entre a txqueuelenconfiguração que pode ser aplicada com:

ifconfig eth4 txqueuelen 5000
ip link set eth4 txqueuelen 5000

E a txconfiguração do tamanho do anel que pode ser aplicada com:

ethtool -G eth4 tx 4096

Como eles se relacionam com as /proc/sys/net/core/wmem*configurações globais ?

Estou no RHEL6.

Christopher Neylan
fonte

Respostas:

6

As configurações net.core.wmem_defaulte wmem_maxcontrolam os tamanhos inicial e máximo dos buffers de soquete TX em bytes. Enquanto a fila em si é apenas uma lista vinculada de skbponteiros, o kernel também controla o tamanho total de bytes consumido pelos, à skbmedida que são adicionados e removidos do buffer do soquete. O wmem_defaultsysctl define o teto inicial padrão para novos soquetes ( net/core/sock.c:sock_init_data()). É permitido aos aplicativos aumentar o tamanho dos buffers de seus soquetes e wmem_maxé o limite máximo para essa funcionalidade ( net/core/sock.c:sock_setsockopt()).

Quando um pacote é removido de um buffer de soquete e encontra seu caminho através da pilha de redes do kernel, ele é colocado em uma fila de transmissão para que uma interface aguarde o carregamento na própria NIC. O txqueuelenconjunto dos comandos ifconfigou ipé o número de quadros permitido por fila de transmissão do kernel para a disciplina de enfileiramento ( net/sched/sch_generic.c:pfifo_fast_enqueue()).

Por fim, ethtool -Gusa ioctl para definir o número de entradas de toque para o buffer de toque na própria NIC.

Christopher Neylan
fonte
2

Eu sei que devo dar uma explicação longa, mas D an Seimon já o tem . Em suma, txqueuelené o tamanho do buffer. Todos os pacotes de rede se encaixam nesse buffer, enquanto que txé o tamanho do pacote IP que está no referido buffer. Ou seja, se eu entendo esse post corretamente.

eyoung100
fonte