Bugzilla – Bug 2883
SND.NXT trace source is misleading
Last modified: 2018-02-23 05:50:41 EST
The TCP module updates proactively the value of SND.NXT. It can happen that, due to received dupack (or SACK option) the value of SND.NXT is not the value that really will be transmitted next.
For example, SND.NEXT = 4.
Then I receive a SACK option that indicates that the block 2 is lost. Then, the implementation will simply transmit 2, because NextSeg will say "ehi, the next sequence to transmit is 2". SND.NXT is updated to 2, and 2 transmitted.
So, the value of 4 is not on the wire, will be transmitted later.
I propose to set up another trace value -- maybe "TxSeq" -- that reports the real sequence number transmitted on the wire, with a documentation update on the difference between the two values.
What do you think?