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

Always send updated ack number in ack_reply(). #353

Merged
merged 1 commit into from
Jun 11, 2020

Conversation

Dirbaio
Copy link
Member

@Dirbaio Dirbaio commented Jun 11, 2020

Previously, ack_reply() was sending the ack number present in remote_last_ack,
which is only updated by dispatch. This means the ack replies could contain
a wrong, old ack number.

Most of the time this simply caused wasting an extra roundtrip until the socket state
settles down, but in extreme cases it could lead to an infinite loop of packets, such
as in #338

Fixes #338

Previously, `ack_reply()` was sending the ack number present in `remote_last_ack`,
which is only updated by `dispatch`. This means the ack replies could contain
a wrong, old ack number.

Most of the time this simply caused wasting an extra roundtrip until the socket state
settles down, but in extreme cases it could lead to an infinite loop of packets, such
as in smoltcp-rs#338

Fixes smoltcp-rs#338
@whitequark whitequark merged commit 7f0f844 into smoltcp-rs:master Jun 11, 2020
@whitequark
Copy link
Contributor

Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

TCP RSTs replied-to with ACKs
2 participants