Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

sys_net improvements #15584

Merged
merged 2 commits into from
May 13, 2024
Merged

sys_net improvements #15584

merged 2 commits into from
May 13, 2024

Conversation

RipleyTom
Copy link
Contributor

@RipleyTom RipleyTom commented May 12, 2024

Various improvements focused on P2PS sockets:

  • Fixes SYN|ACK being sent from the listening socket instead of the newly created socket(because of this it kept being sent and was never cleared, breaking further connections as it spammed connection received with wrong seq being sent).
  • Added static incremental vport assignment instead of always starting at 30000 and finding the first one free.
  • Add proper disconnection mechanism, clearing all pending packets and clearing connected state from relevant maps.
  • Add extra check for EAGAIN on the p2ps sockets as there can be sendto concurrency on the socket from the tcp timeout monitor thread. Now we keep trying until it goes through or another error happens.
  • Send RST on receiving a valid P2PS packet aimed at a non-existent socket.
  • Signaling: signal connection closed when it's terminated by peer.

@RipleyTom RipleyTom marked this pull request as ready for review May 12, 2024 17:41
@elad335 elad335 merged commit a50683d into RPCS3:master May 13, 2024
6 checks passed
@RipleyTom RipleyTom deleted the more_p2ps branch December 30, 2024 23:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants