microsoft / microsoft/demikernel
[inetstack] Simultaneous close does not continue sending FIN
@iyzhang is already working on this.
Since May 1, 2025.
- Dominant language
- Rust
- Stars
- 1.2k
- Forks
- 151
- PR merge metrics
- No merged PRs in 30d
Description
Description
The inetstack implementation and the simulator trace test for simultaneous close were both incorrect. In particular, they resent the FIN packet without the FIN bit set while in the Closing state, causing the other end to hang in a simultaneous close scenario.
How to Reproduce
After adding synchronization points for our TCP unit tests, the tcp_bad_* tests were hitting the simultaneous close scenario frequently causing them to fail.
Expected Behavior
If both end of a TCP connection independently call close, the connection should be shut down gracefully in a symmetric manner.
Related Issues
#1529
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.
Assessment
This issue has not been assessed yet.