Bug 88702

Summary: Multiple SYN/ACK when receiving traffic from MS Win2kPro SP3 client
Product: [Retired] Red Hat Linux Reporter: John Hardin <johnh>
Component: kernelAssignee: Arjan van de Ven <arjanv>
Status: CLOSED NOTABUG QA Contact: Brian Brock <bbrock>
Severity: high Docs Contact:
Priority: medium    
Version: 7.3   
Target Milestone: ---   
Target Release: ---   
Hardware: i386   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2003-04-12 02:01:34 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
tcpdump traces of multiple SYN/ACK failed MyODBC connection tests from W2kPro SP3 to Linux server
none
Detailed trace of failed connection none

Description John Hardin 2003-04-12 01:30:06 UTC
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.0.0) Gecko/20020606

Description of problem:
Win2k Pro SP3 + hotfixes (as of 4/11/2003) clients cause odd TCP behavior which
can lead to slow connections and/or session failure.

Synopsis: 
  W2kProSP3 sends SYN packet
  Linux sends SYN/ACK
  W2kProSP3 sends ACK
  Linux sends second SYN/ACK
  W2kProSP3 ACKs again
  ...data exchange...
  Odd FIN/RST behavior ends session

The behavior of the client varies from long initial delays (e.g. telnet)  to
consistent failure (MyODBC).

Win2kPro SP2 and WinXPProSP1 DO NOT display this behavior. The initial SYN
packet only gets one SYN/ACK response.

Version-Release number of selected component (if applicable):
kernel-2.4.18-24.7.xsmp

How reproducible:
Sometimes

Steps to Reproduce:
1. Create Win2kPro SP3 and apply all critical updates from Windows Update
2. Install MySQL 4.0.1 on server, MyODBC on client, and configure a connection
3. Run tcpdump
4. Telnet to server
5. Test ODBC connection
    

Actual Results:  
   Telnet trace shows multiple SYN/ACK, long delay before login prompt.

   MySQL trace shows multiple SYN/ACK and ODBC test succeeds after long delay,
or fails with "Lost connection to MySQL server during query".


Expected Results:  
   Quick telnet login prompt, only one SYN/ACK in trace.
   Quick success on ODBC test, only one SYN/ACK in trace.

Additional info:

Worst systems are developer desktops: Delphi 6, possible .NET dev env.

Comment 1 John Hardin 2003-04-12 01:37:49 UTC
Created attachment 91093 [details]
tcpdump traces of multiple SYN/ACK failed MyODBC connection tests from W2kPro SP3 to Linux server

Comment 2 John Hardin 2003-04-12 01:38:28 UTC
Problem also reported to MySQL bug mailing list.



Comment 3 John Hardin 2003-04-12 01:48:40 UTC
Created attachment 91094 [details]
Detailed trace of failed connection

{grumble} Is SP3 generating bogus TCP checksums, then choking on the
retransmitted data?

Comment 4 John Hardin 2003-04-12 02:01:34 UTC
Okay, found it. SP3 was offloading the TCP checksum calculation to the network
card, and not doing it properly. Turning off TX checksum offloading fixed the
problem.

It's bad that Win2k choked on the retransmitted packets, though...