eyalabraham / 8bit-TCPIP

An 8bit Intel 8088/8086 campatible TCP/IP stack
MIT License
4 stars 0 forks source link

TCP issues RSTs when a Transmission Control Block is reused for a new connection #6

Closed eyalabraham closed 6 years ago

eyalabraham commented 6 years ago

TCP issues RSTs when a Transmission Control Block is used again for a new connection, after being closed with a RST from the web client (browser) on the last use. Load web page that uses (for example) TCB id #1. After the pages loads, the web client issued a RST (not sure this is ok!). When trying to open another page and reuse TCB id #1, the connection fails and the TCP issues RST to any segment after (SYN, SYN/ACK, ACK) three-way hand shake. Suspecting that the RST from the browser on that first use did not clean up the TCB properly.

eyalabraham commented 6 years ago

Wireshark trace attached. tcp-eth-rst-issue-num-6.pcapng.zip

eyalabraham commented 6 years ago

TCP does not propagate a connection acceptance via the Accept call-back.

eyalabraham commented 6 years ago

Verified that this is a Watcom compiler issue related to using the '-s' Stack Check switch. Problem is eliminated when switch is not used. Removed switch from Makefile.