Diferencia entre txqueuelen y ethtool tx

12

¿Cuál es la diferencia entre la txqueuelenconfiguración que se puede aplicar con:

ifconfig eth4 txqueuelen 5000
ip link set eth4 txqueuelen 5000

Y la txconfiguración del tamaño del anillo que se puede aplicar con:

ethtool -G eth4 tx 4096

¿Cómo se relacionan con la /proc/sys/net/core/wmem*configuración global ?

Estoy en RHEL6.

Christopher Neylan
fuente

Respuestas:

6

La configuración net.core.wmem_defaulty wmem_maxcontrola los tamaños inicial y máximo de los búferes de socket TX en bytes. Si bien la cola en sí misma es solo una lista vinculada de skbpunteros, el núcleo también realiza un seguimiento del tamaño total de bytes consumido por los skb's cuando se agregan y eliminan del búfer de socket. El wmem_defaultsysctl establece el techo inicial predeterminado para los nuevos sockets ( net/core/sock.c:sock_init_data()). Se permite que las aplicaciones aumenten el tamaño de los buffers de sus sockets y wmem_maxes el límite para esa funcionalidad ( net/core/sock.c:sock_setsockopt()).

Cuando un paquete se ha eliminado de un búfer de socket y se abre paso a través de la pila de redes del kernel, se coloca en una cola de transmisión para que una interfaz espere a que se cargue en la NIC. El txqueuelenconjunto de comandos ifconfigo ipes el número de tramas permitidas por cola de transmisión del núcleo para la disciplina de colas ( net/sched/sch_generic.c:pfifo_fast_enqueue()).

Finalmente, ethtool -Gusa ioctl para establecer el número de entradas de anillo para el búfer de anillo en la propia NIC.

Christopher Neylan
fuente
2

Sé que se supone que debo dar una larga explicación, pero D an Seimon ya lo ha hecho . En resumen txqueuelenes el tamaño del búfer. Todos los paquetes de red caben en este búfer, mientras que txes el tamaño del paquete del paquete IP que va en dicho búfer. Eso si entiendo esa publicación correctamente.

eyoung100
fuente