Bug discussion:Tcp snd_nxt will not be increased.

王春风 fengdreamer at 126.com
Wed Dec 16 08:38:11 PST 2009

Hello All:
There's a problem i am facing. Is it a bug ?
It's tcp connect socket, SYN will be send, but if before SYN ACK was received, the SYN will be retransmited, there'll be some problem.
the restransmit is like this: move the snd_nxt to snd_una, and begin to sendout by tcp_output. after send the snd_nxt will return to normal just like the below picture. 
 before tcp_output               after tcp output
 |--Seq--|--Seq+1--|             |--Seq--|--Seq+1--|
  snd_una                         snd_una  snd_nxt
If the tcp_output just have some error, for example: when alloc mbuf, it returns NULL, and then the snd_nxt number will not be return to normal.
If just in this time, SYN Ack arrives, freeBSD can't handle this situdition.

More information about the freebsd-bugs mailing list