tcp_v4_init_sock函数的剩下部分
继续回到tcp_v4_init_sock。
1873 tp->reordering = sysctl_tcp_reordering;
又是struct tcp_sock的一个成员变量reordering,意思为重新排序。这里只是设置一个初值,其具体含义,现在还不知道。从数值来源变量名称中,可以看到这个是可以通过用户来控制的一个选项。
1874 icsk->icsk_ca_ops = &tcp_init_congestion_ops;
这个变量tcp_init_congestion_ops看起来有点熟悉,之前在tcp_init函数(见TCP/IP协议栈初始化(八) TCP马上准备进入状态 )中说过,当时是注册了一个tcp_reno的变量。从名称上来看2个都是用来实现TCP拥堵控制的。两个变量都是在net/ipv4/tcp_cong.c中定义,相邻。
376 struct tcp_congestion_ops tcp_reno = {
377 .flags = TCP_CONG_NON_RESTRICTED,
378 .name = "reno",
379 .owner = THIS_MODULE,
380 .ssthresh = tcp_reno_ssthresh,
381 .cong_avoid = tcp_reno_cong_avoid,
382 .min_cwnd = tcp_reno_min_cwnd,
383 };
389 struct tcp_congestion_ops tcp_init_congestion_ops = {
390 .name = "",
391