Spurious loss is high when RTT is very small and bandwidth very large.
Nobody has claimed this yet.
- Dominant language
- C
- Stars
- 4.8k
- Forks
- 699
- Avg merge
- 2d 22h
- Merged PRs (30d)
- 35
Description
Describe the bug
The timer-based loss detection seems to fall apart when RTT is 100s of microseconds. The RTT/8 interval for loss might be too short because CPU scheduler and other things can affect traffic significantly at these tiny timescales. Consider using a heuristic to adjust the loss timer when RTT is very very small.
Affected OS
- Windows
- Linux
- macOS
- Other (specify below)
Additional OS information
No response
MsQuic version
main
Steps taken to reproduce bug
Run secnetperf on a high bandwidth ultra-low latency network (like a software loopback-type network, like duonic)
Expected behavior
Connection stats succeed with reasonable numbers of suspected/spurious loss.
Actual outcome
Connection stats spurious loss numbers are high (tens of thousands), but bandwidth doesn't seem to be affected.
Additional details
No response
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reproducing the issue with secnetperf on a high-bandwidth, ultra-low-latency network such as a software loopback or duonic. Inspect the timer-based loss-detection path and how the RTT/8 interval behaves at hundreds of microseconds; done means connection statistics show reasonable suspected and spurious loss without reducing bandwidth.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- c
- Domain
- networking
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 30/100