Commit fcf4b1f
receive: keep retransmissions for ACKed-but-not-yet-delivered seqs
A retransmission for a sequence number that was ACKed past (because
periodicACK crossed a gap, either in-row or via the
PktTsbpdTime <= now branch) but not yet delivered was being dropped
by the Lt(lastACKSequenceNumber) branch as "already acknowledged".
Allow retransmissions through this branch; they fall into the
out-of-order handling below where they either fill the gap or are
detected as duplicates. TLPKTDROP semantics remain enforced by the
earlier Lte(lastDeliveredSequenceNumber) check, which still drops
anything already delivered or skipped past.
Makes the regression test from the previous commit pass.
Made-with: Cursor
Co-authored-by: Cursor <cursoragent@cursor.com>1 parent 572af9c commit fcf4b1f
1 file changed
Lines changed: 17 additions & 4 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
194 | 194 | | |
195 | 195 | | |
196 | 196 | | |
197 | | - | |
198 | | - | |
199 | | - | |
| 197 | + | |
| 198 | + | |
| 199 | + | |
| 200 | + | |
200 | 201 | | |
201 | | - | |
| 202 | + | |
| 203 | + | |
| 204 | + | |
| 205 | + | |
| 206 | + | |
| 207 | + | |
| 208 | + | |
| 209 | + | |
| 210 | + | |
| 211 | + | |
| 212 | + | |
| 213 | + | |
| 214 | + | |
202 | 215 | | |
203 | 216 | | |
204 | 217 | | |
| |||
0 commit comments