HUAWEI CLOUD EULEROS-定制TCP重传策略:使用说明
使用说明
- 开启TCP重传策略定制能力。通过如下命令,将net.ipv4.tcp_sock_retrans_policy_custom配置为1:
[root@localhost ~]# sysctl -w net.ipv4.tcp_sock_retrans_policy_custom=1
设置线性退避4次,最大重传10次,最大重传间隔时间20秒:
tcp_sock_retrans_policy policy = {0}; policy.tcp_linear_timeouts_times = 4; policy.tcp_retries_max = 10; policy.tcp_rto_max = 20; setsockopt(sockfd, SOL_TCP, TCP_SOCK_RETRANS_POLICY_CUSTOM, (const void*)&policy, sizeof(struct tcp_sock_retrans_policy));
- 恢复为默认策略:
tcp_sock_retrans_policy policy = {0}; setsockopt(sockfd, SOL_TCP, TCP_SOCK_RETRANS_POLICY_CUSTOM, (const void*)&policy, sizeof(struct tcp_sock_retrans_policy));
- 关闭TCP重传策略定制能力:
[root@localhost ~]# sysctl -w net.ipv4.tcp_sock_retrans_policy_custom=0
定制TCP重传策略功能在HCE2.0版本内核进行修改,在HCE2.0版本glibc中使用该功能,需要在用户态代码中添加TCP_SOCK_RETRANS_POLICY_CUSTOM 宏以及对应的结构体tcp_sock_retrans_policy。