TCP/IP工作流的开始 socket创建4

本文详细介绍了TCP/IP协议栈中TCP套接字的创建过程,特别是tcp_v4_init_sock函数的执行步骤,包括设置TCP连接状态、初始化缓冲区大小、配置写空间回调函数等。此外,还探讨了sock_map_fd如何将socket映射为文件ID,以提供用户友好的接口。
摘要由CSDN通过智能技术生成

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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值