Project Home
Project Home
Wiki
Wiki
Discussion Forums
Discussions
Project Information
Project Info
BroadcastCommunity.qnx.com will be offline from May 31 6:00pm until June 2 12:00AM for upcoming system upgrades. For more information please go to https://community.qnx.com/sf/discussion/do/listPosts/projects.bazaar/discussion.bazaar.topc28418
Forum Topic - TCP Connection Termination Sequence Issue: Page 1 of 8 (8 Items)
   
TCP Connection Termination Sequence Issue  
I am trouble-shooting with WireShark a TCP termination issue between an off-board service (remote host) running a mini-
TCP stack and a QNX client running 6.4.1 with io-pkt-v4. I have attached two traces that illustrate my issue. I was 
hoping a QNX expert could take a quick look and help me determine if both termination sequences are valid and help 
identify (if it exists) any issue with mini-stack. The sequences are very short and boil down to 3-4 frames that need 
examination.

The first trace (linux_client.pcap) shows a linux client (curl) connecting to the remote service, issuing an HTTP GET 
and then dropping the connection. The sequence behaves properly using the mini-TCP stack and the connection is 
successfully disconnected (see frames 4 - 11).

The second trace (qnx_client.pcap) involves the same client (curl) running under QNX and connecting to the same remote 
host.  The disconnection fails and the link goes into a perpetual FIN, FIN-ACK  sequence between the client and service.
 The pertinent frames are 7- 11.

The real difference I can see between the two traces is the fact that the Linux stack shows the following sequence:

Client (192.168.1.2)                          Server (192.168.1.1)
ACK
FIN-ACK
                                                            FIN
                                                            ACK

whereas the QNX stack does the following:

Client (192.168.1.2)                          Server (192.168.1.1)
FIN-ACK
                                                            the wheels fall off and we enter
                                                            and endless loop

Can someone please take pity on me and verify that QNX's connection termination sequence is legitimate and point out any
 obvious errors with the mini-TCP stack state machine. This is not my area of expertise but I hoped someone with a 
little better understanding on the TCP state transitions could provide some helpful advice.

Attachment: Compressed file qnx_traces.zip 1.46 KB