Если я вас правильно понял, вы ищете начальное значение snd_cwndнабора параметров при инициализации сокета TCP.
Похоже, что начиная с ядра Linux 2.6.39, TCP_INIT_CWNDв linux / include / net / tcp.h был добавлен макрос, который заполняет значение snd_cwndпри инициализации сокета TCP.
Я знаю, где находится этот код в ядре IPv4, и, к сожалению, он, похоже, не использует макрос для заполнения значения для ядер старше2.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;
....
....
....
}
Аналогичный код инициализации существует и для IPv6внутренней tcp_v6_init_sock()функции вnet/ipv6/tcp_ipv6.c