1. TCP_CA_Open状态到TCP_CA_CWR状态
从TCP_CA_Open状态到TCP_CA_CWR状态的条件:
1)当发送一个数据包时,使用tcp_write_xmit发送,调用tcp_transmit_skb()后转调ip_queue_xmit将ip数据包发送出去时,如果失败了,则进入CRW状态。当处于CRW状态时,tcp_cong_avoid()函数不会被调用,由于cwnd在这个函数中被快速增长,所以在CWR状态中,cwnd值不会被快速增长,只会被缓慢减少在一个范围内
2)收到一个带有ECN信息的包
2. 调用流程
3. 其他状态跳转
点击如下:
TCP状态跳转