eyalabraham / 8bit-TCPIP

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

Stack stops ACKing segments #3

Closed eyalabraham closed 6 years ago

eyalabraham commented 6 years ago

Happens when high volume traffic is started the 'httpd' web server module, and the page has multiple elements that load concurrently. TCP seems to hang and not respond with ACKs.

eyalabraham commented 6 years ago

function send_segment() advanced SND_NXT. ENC28J60 encounters collision errors and returns an error code that prevents SND_NXT for advancing. In turn this causes SND_NXT an illegal value that is less-than SEG_ACK, which is why TCP end up stops responding with ACKs.

eyalabraham commented 6 years ago

Removed condition around advancing SND_NXT. A transmit failure will be handled by TCP.