[OpenAFS-devel] nojumbo on server doesn't disable jumbograms on clients

Thomas J. Moore thomoore@iupui.edu
Thu, 13 Apr 2006 09:16:08 -0400


This is a cryptographically signed message in MIME format.

--------------ms080002000609070602020805
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit

While tracing a one-way performance problem with our AFS server (MTU 1500), I 
found that on the client side (MTU 8000), every few packets it tried to send a 
jumbogram, overriding the negotiated MTU of 1500.  Somebody along the way seems 
to not fragment these packets, so they just get dropped.  1/2 second later, 
normal packets resume, but only for a few packets before it happens again. 
Needless to say, this causes a serious performance degradation, even though 
transfers eventually succeed.  To fix this, rather than fixing the router and 
encountering the problem again the future to some other random client, I wanted 
to just disable jumbograms.  It turns out that the (mostly undocumented) 
-nojumbo option on the servers only works for the server, but not the client. 
Since I didn't see an easy way to turn off jumbo packets on the client, and 
didn't want to force all users to patch their client source, I made the 
following patch to force the advertised max jumbogram size to 1 when the 
-nojumbo option is specified (note: may not apply, since my email client 
probably screws up whitespace, but it's only one line, and you get the point):

diff -ruN src/rx/rx_user.c src/rx/rx_user.c
--- src/rx/rx_user.c    2005-04-03 14:18:56.000000000 -0400
+++ src/rx/rx_user.c    2006-03-31 08:30:36.000000000 -0500
@@ -689,6 +689,7 @@
   {
       rx_maxReceiveSize = OLD_MAX_PACKET_SIZE;
       rxi_nSendFrags = rxi_nRecvFrags = 1;
+    rxi_nDgramPackets = 1;
   }

   /* Override max MTU.  If rx_SetNoJumbo is called, it must be


This causes the client to disable jumbograms as well when the -nojumbo option is 
given to the server, and tranfers are fast again.  Actually, I'm not sure what 
setting the maxReceiveSize to OLD_MAX_PACKET_SIZE has to do with jumbograms, but 
I left it in anyway.  I hope it doesn't force the packet size to 1500 if/when we 
change the MTU on the AFS servers to 8000.

--------------ms080002000609070602020805
Content-Type: application/x-pkcs7-signature; name="smime.p7s"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="smime.p7s"
Content-Description: S/MIME Cryptographic Signature

MIAGCSqGSIb3DQEHAqCAMIACAQExCzAJBgUrDgMCGgUAMIAGCSqGSIb3DQEHAQAAoIIKVjCC
BScwggQPoAMCAQICEFxykM8rtZJy4FUZiZaC/1kwDQYJKoZIhvcNAQEFBQAwZTELMAkGA1UE
BhMCU0UxFDASBgNVBAoTC0FkZFRydXN0IEFCMR0wGwYDVQQLExRBZGRUcnVzdCBUVFAgTmV0
d29yazEhMB8GA1UEAxMYQWRkVHJ1c3QgQ2xhc3MgMSBDQSBSb290MB4XDTA2MDEyMDAwMDAw
MFoXDTA3MDEyMDIzNTk1OVowgdoxNTAzBgNVBAsTLENvbW9kbyBUcnVzdCBOZXR3b3JrIC0g
UEVSU09OQSBOT1QgVkFMSURBVEVEMUYwRAYDVQQLEz1UZXJtcyBhbmQgQ29uZGl0aW9ucyBv
ZiB1c2U6IGh0dHA6Ly93d3cuY29tb2RvLm5ldC9yZXBvc2l0b3J5MR8wHQYDVQQLExYoYyky
MDAzIENvbW9kbyBMaW1pdGVkMRUwEwYDVQQDEwxUaG9tYXMgTW9vcmUxITAfBgkqhkiG9w0B
CQEWEnRob21vb3JlQGl1cHVpLmVkdTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAy7kj
Dt6YMwA7koeG/8mT61Dg/VOV0c860OpgS4COkQrWqZMHJtSZPRFIbYbs1tS0xDaMttr30p6x
c5w8NBBGAhz7MNrGe6uEKTvUSreQ1k/LAPDhZ4C8cY+xbbbuUfMxXeeJ3K/N7S1KV7mW2ML6
9OzDC6Xd7hdLPiYV1HLeN/ECAwEAAaOCAd8wggHbMB0GA1UdDgQWBBQm7nQtG+7vAOguplLm
xSdFvYVTiTAOBgNVHQ8BAf8EBAMCBaAwDAYDVR0TAQH/BAIwADAgBgNVHSUEGTAXBggrBgEF
BQcDBAYLKwYBBAGyMQEDBQIwEQYJYIZIAYb4QgEBBAQDAgUgMEYGA1UdIAQ/MD0wOwYMKwYB
BAGyMQECAQEBMCswKQYIKwYBBQUHAgEWHWh0dHBzOi8vc2VjdXJlLmNvbW9kby5uZXQvQ1BT
MHcGA1UdHwRwMG4wNqA0oDKGMGh0dHA6Ly9jcmwuY29tb2RvY2EuY29tL0FkZFRydXN0Q2xh
c3MxQ0FSb290LmNybDA0oDKgMIYuaHR0cDovL2NybC5jb21vZG8ubmV0L0FkZFRydXN0Q2xh
c3MxQ0FSb290LmNybDCBhgYIKwYBBQUHAQEEejB4MDsGCCsGAQUFBzAChi9odHRwOi8vY3J0
LmNvbW9kb2NhLmNvbS9BZGRUcnVzdFVUTkNsaWVudENBLmNydDA5BggrBgEFBQcwAoYtaHR0
cDovL2NydC5jb21vZG8ubmV0L0FkZFRydXN0VVROQ2xpZW50Q0EuY3J0MB0GA1UdEQQWMBSB
EnRob21vb3JlQGl1cHVpLmVkdTANBgkqhkiG9w0BAQUFAAOCAQEASvicNVg8efaIjNkiUC7S
IZPksvqIMfh/axslJ6EsrY/Nc/UCj4NAjW/sXxH0BobpN3yKC1Gm3d3I+XCvDsDaj3q51t+p
ByHs/8O9v9+eS3Wagjw5ACuD3njZvyaejL4HKG8p/2vQqQIGEcfOmT2agU9+NTp9v1ZNfDYr
lKrWkbCeS9W5h6362qnn2jaPDlMEIOnPraiV2urT6Bw9skUlZ4b2Q+ktYLc/yyxyHmhrkg2q
vqQ8KIEUmAS8H4N22ZhNoeGXnyIjUwERrkOXYIBZihi50AOyrhpHgIi4ASDXW+0SHcTJtvBE
r9wx3HEV9+YIuoxaFxM/4AoyvHCVcSpPKjCCBScwggQPoAMCAQICEFxykM8rtZJy4FUZiZaC
/1kwDQYJKoZIhvcNAQEFBQAwZTELMAkGA1UEBhMCU0UxFDASBgNVBAoTC0FkZFRydXN0IEFC
MR0wGwYDVQQLExRBZGRUcnVzdCBUVFAgTmV0d29yazEhMB8GA1UEAxMYQWRkVHJ1c3QgQ2xh
c3MgMSBDQSBSb290MB4XDTA2MDEyMDAwMDAwMFoXDTA3MDEyMDIzNTk1OVowgdoxNTAzBgNV
BAsTLENvbW9kbyBUcnVzdCBOZXR3b3JrIC0gUEVSU09OQSBOT1QgVkFMSURBVEVEMUYwRAYD
VQQLEz1UZXJtcyBhbmQgQ29uZGl0aW9ucyBvZiB1c2U6IGh0dHA6Ly93d3cuY29tb2RvLm5l
dC9yZXBvc2l0b3J5MR8wHQYDVQQLExYoYykyMDAzIENvbW9kbyBMaW1pdGVkMRUwEwYDVQQD
EwxUaG9tYXMgTW9vcmUxITAfBgkqhkiG9w0BCQEWEnRob21vb3JlQGl1cHVpLmVkdTCBnzAN
BgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAy7kjDt6YMwA7koeG/8mT61Dg/VOV0c860OpgS4CO
kQrWqZMHJtSZPRFIbYbs1tS0xDaMttr30p6xc5w8NBBGAhz7MNrGe6uEKTvUSreQ1k/LAPDh
Z4C8cY+xbbbuUfMxXeeJ3K/N7S1KV7mW2ML69OzDC6Xd7hdLPiYV1HLeN/ECAwEAAaOCAd8w
ggHbMB0GA1UdDgQWBBQm7nQtG+7vAOguplLmxSdFvYVTiTAOBgNVHQ8BAf8EBAMCBaAwDAYD
VR0TAQH/BAIwADAgBgNVHSUEGTAXBggrBgEFBQcDBAYLKwYBBAGyMQEDBQIwEQYJYIZIAYb4
QgEBBAQDAgUgMEYGA1UdIAQ/MD0wOwYMKwYBBAGyMQECAQEBMCswKQYIKwYBBQUHAgEWHWh0
dHBzOi8vc2VjdXJlLmNvbW9kby5uZXQvQ1BTMHcGA1UdHwRwMG4wNqA0oDKGMGh0dHA6Ly9j
cmwuY29tb2RvY2EuY29tL0FkZFRydXN0Q2xhc3MxQ0FSb290LmNybDA0oDKgMIYuaHR0cDov
L2NybC5jb21vZG8ubmV0L0FkZFRydXN0Q2xhc3MxQ0FSb290LmNybDCBhgYIKwYBBQUHAQEE
ejB4MDsGCCsGAQUFBzAChi9odHRwOi8vY3J0LmNvbW9kb2NhLmNvbS9BZGRUcnVzdFVUTkNs
aWVudENBLmNydDA5BggrBgEFBQcwAoYtaHR0cDovL2NydC5jb21vZG8ubmV0L0FkZFRydXN0
VVROQ2xpZW50Q0EuY3J0MB0GA1UdEQQWMBSBEnRob21vb3JlQGl1cHVpLmVkdTANBgkqhkiG
9w0BAQUFAAOCAQEASvicNVg8efaIjNkiUC7SIZPksvqIMfh/axslJ6EsrY/Nc/UCj4NAjW/s
XxH0BobpN3yKC1Gm3d3I+XCvDsDaj3q51t+pByHs/8O9v9+eS3Wagjw5ACuD3njZvyaejL4H
KG8p/2vQqQIGEcfOmT2agU9+NTp9v1ZNfDYrlKrWkbCeS9W5h6362qnn2jaPDlMEIOnPraiV
2urT6Bw9skUlZ4b2Q+ktYLc/yyxyHmhrkg2qvqQ8KIEUmAS8H4N22ZhNoeGXnyIjUwERrkOX
YIBZihi50AOyrhpHgIi4ASDXW+0SHcTJtvBEr9wx3HEV9+YIuoxaFxM/4AoyvHCVcSpPKjGC
AuwwggLoAgEBMHkwZTELMAkGA1UEBhMCU0UxFDASBgNVBAoTC0FkZFRydXN0IEFCMR0wGwYD
VQQLExRBZGRUcnVzdCBUVFAgTmV0d29yazEhMB8GA1UEAxMYQWRkVHJ1c3QgQ2xhc3MgMSBD
QSBSb290AhBccpDPK7WScuBVGYmWgv9ZMAkGBSsOAwIaBQCgggHJMBgGCSqGSIb3DQEJAzEL
BgkqhkiG9w0BBwEwHAYJKoZIhvcNAQkFMQ8XDTA2MDQxMzEzMTYwOFowIwYJKoZIhvcNAQkE
MRYEFLGl6shVEY5bRrjOjdEB3hX4YoagMFIGCSqGSIb3DQEJDzFFMEMwCgYIKoZIhvcNAwcw
DgYIKoZIhvcNAwICAgCAMA0GCCqGSIb3DQMCAgFAMAcGBSsOAwIHMA0GCCqGSIb3DQMCAgEo
MIGIBgkrBgEEAYI3EAQxezB5MGUxCzAJBgNVBAYTAlNFMRQwEgYDVQQKEwtBZGRUcnVzdCBB
QjEdMBsGA1UECxMUQWRkVHJ1c3QgVFRQIE5ldHdvcmsxITAfBgNVBAMTGEFkZFRydXN0IENs
YXNzIDEgQ0EgUm9vdAIQXHKQzyu1knLgVRmJloL/WTCBigYLKoZIhvcNAQkQAgsxe6B5MGUx
CzAJBgNVBAYTAlNFMRQwEgYDVQQKEwtBZGRUcnVzdCBBQjEdMBsGA1UECxMUQWRkVHJ1c3Qg
VFRQIE5ldHdvcmsxITAfBgNVBAMTGEFkZFRydXN0IENsYXNzIDEgQ0EgUm9vdAIQXHKQzyu1
knLgVRmJloL/WTANBgkqhkiG9w0BAQEFAASBgIJLbSKBin3BxAyXgMfNf1ZVdxpNQjZfS3uy
bCXqhYC7JvpetXiQJyIYTl8QafdIkChg33bDC5S7MzPsZkTP1i8viNuXyW0FgolaNwFlV6R6
AhoTM7n0sViyaNCxFT6PB86+ND/fCM0F+IaX9LlBX4S3zjbi73vpaXFwFvCVSK5AAAAAAAAA

--------------ms080002000609070602020805--