-
Notifications
You must be signed in to change notification settings - Fork 21
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
Limit the size of data packets to less than mtu #15
base: master
Are you sure you want to change the base?
Conversation
This commit isn't currently doing what it says above, I've noticed this morning. My local mtu is 1500, and I am running the client with The data is sent with the socket's So I'm not sure I understand what is going on here. It might be more logical to change the calculation to subtract the ethernet and TCP headers along with the line start/end characters. On the other hand the cause of the loop/hang/dropped connection could be unrelated completely, and this is just hiding it ... |
Thanks, this looks good. By upstream you mean from client to server, right? I'm pretty sure I tested encapsulated packets up to the original MTU with no problems - but the NX server seems to have evolved quite a bit over the years. I will revisit this against the endpoint I have access to. On your last comment, methinks there is nothing to worry about. TCP already manages segmentation and it's entirely decoupled from the boundaries of the packets we write to the pipe. Of course it's possible that you do have path MTU issues between you and the server, but it's rather unlikely these days. You can test it with I think the issue is probably just that the NX server is barfing when it gets a piped packet longer than it was designed to handle. |
Yes, "upstream" = client to server direction. I've now got another data point on this, because I also have access to a (newly commissioned) SMA 400 appliance (probably - users of the Mobile Connect client are being told to select SMA 400 as the model when it asks them). Using this SMA 400, the link does have a smaller MTU. The largest IMCP packets which work are But the important outcome is that the behaviour has nothing to do with the link MSS - the TCP stack is successfully fragmenting packets as needed provided we restrict the line length to something the SonicWall server can cope with. |
Realised that this does not really relate to the underlying MSS of the TCP connection. Change the name of the option to reflect this. Increase the default because it works for me on my test server at 1500.
Change the name of the option to reflect what it really does, got rid of the |
Default the limit to 1280 bytes, which I'm guessing may match the NetExtender client. Allow users to increase or decrease this if necessary for their server and internet path.
I think this may fix #11, it certainly fixes a similar problem for me (triggered by upstream packets in particular).