diff options
author | Michael Brown <mcb30@etherboot.org> | 2006-12-06 18:09:33 +0000 |
---|---|---|
committer | Michael Brown <mcb30@etherboot.org> | 2006-12-06 18:09:33 +0000 |
commit | 5edb85c8b432ce817a24fd2131edb69c5de6dc06 (patch) | |
tree | f121103be6c5f735a1a132a14e3833757977ad28 /src/net/tcp.c | |
parent | d88832ad7eb4feb98f0891661085399b6ba63934 (diff) | |
download | ipxe-5edb85c8b432ce817a24fd2131edb69c5de6dc06.tar.gz |
Work around another confused-by-RST bug
Diffstat (limited to 'src/net/tcp.c')
-rw-r--r-- | src/net/tcp.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/net/tcp.c b/src/net/tcp.c index aa49366c2..2a188287a 100644 --- a/src/net/tcp.c +++ b/src/net/tcp.c @@ -516,6 +516,14 @@ int tcp_close ( struct tcp_connection *conn ) { /* FIN consumes one byte on the snd stream */ // conn->snd_una++; goto send_tcp_nomsg; + case TCP_TIME_WAIT: +#warning "Fix me" + /* In TIME_WAIT, we should just be waiting for the + * timer to expire, which will trigger the actual + * closure. However, because we get confused by RST + * packets, we end up here. This works around the + * problem for now. + */ case TCP_SYN_SENT: case TCP_LISTEN: /** |