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

Raise max TCP segment queue length #52

Merged
merged 1 commit into from Dec 10, 2018

Conversation

Labels
None yet
Projects
None yet
Linked issues

Successfully merging this pull request may close these issues.

None yet

2 participants
@anodos325
Copy link
Contributor

@anodos325 anodos325 commented Dec 10, 2018

Out-of-order TCP segments are queued in the reassembly queue until the missing in-sequence segments arrive. As a DoS mitigation, the length of this queue is limited, with a default of 100. Since TCP allows a whole window to be in-flight at once, there can be up to 1448 to 11586 segments arriving before the sender expects an ACK, depending on the configured max receive buffer size and negotiated window size. The limit of 100 is not usually an issue in wired networks, because segments seldom arrive out of order. However, reordering and/or losses are more frequent with wireless networks and more complex networks, so the low default limit can cause a lot of segments to be discarded.

Raise the limit to 1448, which allows a full window to be queued in the default configuration.

See following ticket: https://redmine.ixsystems.com/issues/43558

Out-of-order TCP segments are queued in the reassembly queue until the missing in-sequence segments arrive.  As a DoS mitigation, the length of this queue is limited, with a default of 100.  Since TCP allows a whole window to be in-flight at once, there can be up to 1448 to 11586 segments arriving before the sender expects an ACK, depending on the configured max receive buffer size and negotiated window size.  The limit of 100 is not usually an issue in wired networks, because segments seldom arrive out of order.  However, reordering and/or losses are more frequent with wireless networks and more complex networks, so the low default limit can cause a lot of segments to be discarded.

Raise the limit to 1448, which allows a full window to be queued in the default configuration.

See following ticket: https://redmine.ixsystems.com/issues/43558
Copy link
Member

@beanpole135 beanpole135 left a comment

Looks good to me!

@beanpole135 beanpole135 merged commit b6e012a into project-trident:master Dec 10, 2018
@beanpole135
Copy link
Member

@beanpole135 beanpole135 commented Dec 10, 2018

Thanks for sending that in!

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