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

[Backport v3.7-branch] net: tcp: Keep track of recv window size change since last ACK #76543

Merged
merged 1 commit into from
Aug 6, 2024

Conversation

zephyrbot
Copy link
Collaborator

@zephyrbot zephyrbot commented Jul 31, 2024

Backport 349bf81 from #76418.

Fixes #76471

Windows TCP stack has a peculiar behavior - when running iperf, it will
fill out the RX window almost entirely, but will not set PSH flag on
packets. In result, our stack would delay the ACK and thus window
update, affecting throughputs heavily.

In order to avoid that, keep track of the most recent window size
reported to the peer, and reduce it when receiving new data. In case the
RX window, as seen from the peer perspective, drops below certain
threshold, and the real RX window is currently empty, send an ACK
immediately when updating window, so that peer can continue
with sending data.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
(cherry picked from commit 349bf81)
@zephyrbot zephyrbot added Backport Backport PR and backport failure issues area: Networking labels Jul 31, 2024
@nashif nashif merged commit 4ac4795 into v3.7-branch Aug 6, 2024
29 checks passed
@nashif nashif deleted the backport-76418-to-v3.7-branch branch August 6, 2024 17:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area: Networking Backport Backport PR and backport failure issues
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

6 participants