microsoft / microsoft/demikernel

[inetstack] Simultaneous close does not continue sending FIN

Open
#1,537 0 comments 0 reactions 1 assignee View on GitHub

@iyzhang is already working on this.

Since May 1, 2025.

bug
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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.