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 de snd_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
/* net/ipv4/tcp_ipv4.c from 2.6.37 kernel */
static int tcp_v4_init_sock(struct sock *sk)
{
struct inet_connection_sock *icsk = inet_csk(sk);
struct tcp_sock *tp = tcp_sk(sk);
....
....
....
/* So many TCP implementations out there (incorrectly) count the
* initial SYN frame in their delayed-ACK and congestion control
* algorithms that we must have the following bandaid to talk
* efficiently to them. -DaveM
*/
tp->snd_cwnd = 2;
....
....
....
}
Existe un código de inicio similar para la función IPv6
interna también tcp_v6_init_sock()
ennet/ipv6/tcp_ipv6.c