Puedo manipular tal valor con:
ip route change ... initcwnd 10
y luego tener un comentario con:
ip route show
Pero, ¿qué pasa con el valor predeterminado antes de cualquier modificación? ¿Hay alguna manera de consultar ese valor desde el sistema?
Alternativamente, ¿puede proporcionar una referencia válida que muestre el valor predeterminado codificado para cada versión de kernel?
Bueno, no puedo decir que estoy 100% seguro de que esta debería ser la respuesta, pero, como suele suceder,
ss
es la buena opción para revelar información, por ejemplo:-n
es típico deshacerse de la molesta resolución de DNS, si-l
nos limitamos a escuchar sockets y-i
(la clave) es "Mostrar información TCP interna". Como se puede ver, se muestran tanto el algoritmo de congestión como el cwnd predeterminado.fuente
Si lo entendí correctamente, está buscando el valor inicial del
snd_cwnd
conjunto de parámetros cuando se inicializa un socket TCP.Parece que comienza con el kernel de Linux
2.6.39
,TCP_INIT_CWND
se ha introducido una macro en Linux / include / net / tcp.h que completa el valor desnd_cwnd
al inicializar un socket TCP.Sé dónde está este código en el núcleo
IPv4
y, desafortunadamente, no parece usar ninguna macro para completar el valor de los núcleos anteriores a2.6.39
Existe un código de inicio similar para la función
IPv6
interna tambiéntcp_v6_init_sock()
ennet/ipv6/tcp_ipv6.c
fuente