-
Notifications
You must be signed in to change notification settings - Fork 221
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
packetdrill: add test of tcp window clamp socket option #56
base: master
Are you sure you want to change the base?
Conversation
Thanks for your pull request. It looks like this may be your first contribution to a Google open source project (if not, look below for help). Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA). 📝 Please visit https://cla.developers.google.com/ to sign. Once you've signed (or fixed any issues), please reply here with What to do if you already signed the CLAIndividual signers
Corporate signers
ℹ️ Googlers: Go here for more info. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hi, Neil! Good to hear from you. Still tuning receive windows after all these years! I love it! ;-)
And a very nice test!
For extra clarity, do you mind putting this in a directory called "window_clamp" rather than "clamp"?
And to help coordinate between your kernel patch and this test, do you mind putting in the commit message the title of the patch you have posted or are planning to post that will make this test pass?
Thanks!
@@ -190,6 +190,7 @@ struct int_symbol platform_symbols_table[] = { | |||
{ TCP_TIMESTAMP, "TCP_TIMESTAMP" }, | |||
{ TCP_NOTSENT_LOWAT, "TCP_NOTSENT_LOWAT" }, | |||
{ TCP_INQ, "TCP_INQ" }, | |||
{ TCP_WINDOW_CLAMP, "TCP_WINDOW_CLAMP" }, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks! Do you mind putting this after TCP_DEFER_ACCEPT and before TCP_INFO? That's where we have it in our internal sources. (And somehow that line didn't make it upstream... sorry!)
When I look at: Can you please squash/fixup the 3 commits into a single commit? Thanks! |
Adds a test of TCP_WINDOW_CLAMP, including lowering, raising, and lowering again the clamp while the connection is in progress, including a test that ensures brief lowering before raising does not have an unexpected consequence. Requires a patch to tcp_set_window_clamp discussed as "tcp: enable mid stream window clamp". Signed-off-by: Neil Spring <[email protected]>
Gotcha - commits squashed, file/directory renamed, and a bit more test code added to exercise a scenario Eric Dumazet pointed out in the discussion on the kernel patch. I'm not quite sure the patch is perfect yet; maybe it's too conservative when raising the clamp. I'm really happy you thought the test was good. I wonder if you can help me with two things though.
Low hanging fruit! Nice to be able to work together (even if indirectly) again; this is a sweet project. |
add coverage for ADD_ADDR retransmission
Adds a test of TCP_WINDOW_CLAMP, including lowering, raising, and
lowering again the clamp while the connection is in progress.
Requires a patch to tcp_set_window_clamp, since prior linux ignores
this field unless set before the connection exchanges data.
Signed-off-by: Neil Spring [email protected]