Re: [patch] workaround for solaris 2.5.1 and 2.6 FIN bug (ID 4083814)

Philip Gladstone (philip@raptor.com)
Fri, 26 Feb 1999 13:30:38 -0500


This is a cryptographically signed message in MIME format.

--------------ms104BE35BD7AE852ADC9F477E
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit

Andrea Arcangeli wrote:
> >This bug was fixed in the 2.0.3x series about a year ago. The approach
>
> I think you are taking about another thing.

I think that is *is* the same problem.

>
> >there didn't have any adverse side effects -- since the bug only
> >happens when the FIN/Data segment arrives out of order, and the
> >data will get ack'ed by Solaris, the approach was (on the retransmit
> >from the linux end) to *not* retransmit the ack'ed data. This leaves
>
> The problem is not that we aren't retransmitting, the problem is that
> Solaris doesn't look at the FIN flag and it thinks that the last octect of
> data is present in the packet while it's only the FIN side effect.

I think that you misunderstood me. The problem (as I diagnosed it) was
that Solaris sometimes ignores the FIN flag in TCP packets with data.
However, it processes the data. [As I recall it would ignore the FIN
on a packet received when there was a gap in the receive sequence space.
Then when the retransmitted packet arrived, it was being dropped as
a duplicate.]

The fix was to make sure that we did *not* retransmit the data, but
*do* retransmit the FIN. When Solaris receives the FIN without data
it handles it correctly.

>
> > * Is the && test needed here? If so, then it implies that
> > * we might be retransmitting an acked packet. This code is
> > * needed here to talk to Solaris 2.6 stack.
>
> We are just doing that in 2.2.2: Linux continue to retransmit the last
> full-of-data packet with the FIN set.

The point is *not* to retransmit the last full packet, but just
retransmit
the FIN. [This is more economic on sending data anyway]

Philip

-- 
Philip Gladstone                           +1 781 530 2461
Axent Technologies, Waltham, MA
--------------ms104BE35BD7AE852ADC9F477E
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

MIIIcQYJKoZIhvcNAQcCoIIIYjCCCF4CAQExCzAJBgUrDgMCGgUAMAsGCSqGSIb3DQEHAaCC BicwggLXMIICQKADAgECAgIwtDANBgkqhkiG9w0BAQQFADCByDELMAkGA1UEBhMCWkExFTAT BgNVBAgTDFdlc3Rlcm4gQ2FwZTEUMBIGA1UEBxMLRHVyYmFudmlsbGUxGjAYBgNVBAoTEVRo YXd0ZSBDb25zdWx0aW5nMTMwMQYDVQQLEypDZXJ0aWZpY2F0ZSBTZXJ2aWNlcyBSU0EgSUsg MTk5OC4yLjI1IDg6MzUxOzA5BgNVBAMTMlRoYXd0ZSBQZXJzb25hbCBGcmVlbWFpbCBSU0Eg SXNzdWluZyBLZXkgMTk5OC4yLjI1MB4XDTk4MDgxMjE0NDIyOVoXDTk5MDgxMjE0NDIyOVow QzEfMB0GA1UEAxMWVGhhd3RlIEZyZWVtYWlsIE1lbWJlcjEgMB4GCSqGSIb3DQEJARYRcGhp bGlwQHJhcHRvci5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAONqzM373SGsMZ5C X1WU1vOr8pZFVRBVJC/WEfc5sR+Q4YAjRk5F4Yww6cHAXtTiptaSWcgK+dli46/5Sy60UX2s iVcl8i6pmcQ/m+kFodrJ1GjZd9SU2+IMnY7liBP2sdwAB02G9EX2B43nAh9/Y2Xl4T8uGV3L oz6CwP5YmUV1AgMBAAGjVDBSMBEGCWCGSAGG+EIBAQQEAwIFoDAOBgNVHQ8BAf8EBAMCBaAw DAYDVR0TAQH/BAIwADAfBgNVHSMEGDAWgBTtNBduDiteS4eYkbg3p5i/kh+scjANBgkqhkiG 9w0BAQQFAAOBgQBZPzaRk5KnLZCwvJy/y/OaSAfGp1h/c8agEBoLclt3CSytNnT3FVZLq5w/ R0O9wIu8er/eivXt1CvWs/wYpqZpszhmbaIreRZHY9A93G/Zavv7yyMBpK5OVYpkAMUt4rAc 7/twlNMo/493FEBSAiYjdbhIqGOyBikq/R3iyFiyUjCCA0gwggKxoAMCAQICAQgwDQYJKoZI hvcNAQEEBQAwgdExCzAJBgNVBAYTAlpBMRUwEwYDVQQIEwxXZXN0ZXJuIENhcGUxEjAQBgNV BAcTCUNhcGUgVG93bjEaMBgGA1UEChMRVGhhd3RlIENvbnN1bHRpbmcxKDAmBgNVBAsTH0Nl cnRpZmljYXRpb24gU2VydmljZXMgRGl2aXNpb24xJDAiBgNVBAMTG1RoYXd0ZSBQZXJzb25h bCBGcmVlbWFpbCBDQTErMCkGCSqGSIb3DQEJARYccGVyc29uYWwtZnJlZW1haWxAdGhhd3Rl LmNvbTAeFw05ODAyMjUwODM1MzNaFw0wMDAyMjUwODM1MzNaMIHIMQswCQYDVQQGEwJaQTEV MBMGA1UECBMMV2VzdGVybiBDYXBlMRQwEgYDVQQHEwtEdXJiYW52aWxsZTEaMBgGA1UEChMR VGhhd3RlIENvbnN1bHRpbmcxMzAxBgNVBAsTKkNlcnRpZmljYXRlIFNlcnZpY2VzIFJTQSBJ SyAxOTk4LjIuMjUgODozNTE7MDkGA1UEAxMyVGhhd3RlIFBlcnNvbmFsIEZyZWVtYWlsIFJT QSBJc3N1aW5nIEtleSAxOTk4LjIuMjUwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAMcx w8QbmSNy0lGFlUzjWZLk6GyBtfQbXwnmxK2zRG+qONdX5LDFy7p0rkxhIyR2BvjZXQ2KKLK0 K+0Nu1Ik9LfFSaeDY/wKBLDvgSj35pHGTZfuknYmYshjN3Y8sZIP3K1SBopxxTcxaobbvQhp KFn87cd9JmfdTd7TxQL+d7bhAgMBAAGjNzA1MBIGA1UdEwEB/wQIMAYBAf8CAQAwHwYDVR0j BBgwFqAUcknCczTGVfQLdnKBfnf0h+fGsg4wDQYJKoZIhvcNAQEEBQADgYEAQurti2F+odRc Uqk8vZ6ceegJixKBrY8dWkbt8SUmW8iu/XohFs2gHjuXM4P7TjcqKJemSPUoGAIkfIB7U1C1 +2+a/G2qXCZFqC82IljTGwIDH+6UOfD+NFqISxs9jPPXftOfcFt29tjE4rY8JJ0JJYxZsdSL 8/wEgg6eKYZsxf8xggISMIICDgIBATCBzzCByDELMAkGA1UEBhMCWkExFTATBgNVBAgTDFdl c3Rlcm4gQ2FwZTEUMBIGA1UEBxMLRHVyYmFudmlsbGUxGjAYBgNVBAoTEVRoYXd0ZSBDb25z dWx0aW5nMTMwMQYDVQQLEypDZXJ0aWZpY2F0ZSBTZXJ2aWNlcyBSU0EgSUsgMTk5OC4yLjI1 IDg6MzUxOzA5BgNVBAMTMlRoYXd0ZSBQZXJzb25hbCBGcmVlbWFpbCBSU0EgSXNzdWluZyBL ZXkgMTk5OC4yLjI1AgIwtDAJBgUrDgMCGgUAoIGZMBgGCSqGSIb3DQEJAzELBgkqhkiG9w0B BwEwHAYJKoZIhvcNAQkFMQ8XDTk5MDIyNjE4MzAzOVowIwYJKoZIhvcNAQkEMRYEFHW54GnC HTJMWOfVtYpXfVaPP/IoMDoGCSqGSIb3DQEJDzEtMCswCgYIKoZIhvcNAwcwDgYIKoZIhvcN AwICAgCAMA0GCCqGSIb3DQMCAgFAMA0GCSqGSIb3DQEBAQUABIGAmPj3sd7+ilfzFJ9oYfS1 8Gg4bYW7uCQULmTOE/odTrJN4Z2S9XGtky2cm3+3EyG02eiDHYAfOMkBiSs9470lSKg7ABIl d3gQoAvN5g4QtvBKq6x0yzOO4JYV00ncn65GwSVQycm67v3KXducpkXbgPXhXasHYFJEvCOZ 0U/p3Xo= --------------ms104BE35BD7AE852ADC9F477E--

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/