Page MenuHomeFreeBSD

D56307.id.diff
No OneTemporary

D56307.id.diff

diff --git a/sys/netinet/tcp_timewait.c b/sys/netinet/tcp_timewait.c
--- a/sys/netinet/tcp_timewait.c
+++ b/sys/netinet/tcp_timewait.c
@@ -218,12 +218,13 @@
/*
* If a new connection request is received
* while in TIME_WAIT, drop the old connection
- * and start over if the sequence numbers
- * are above the previous ones.
+ * and start over if the sequence number
+ * is different from the previous initial
+ * sequence number.
* Allow UDP port number changes in this case.
*/
if (((thflags & (TH_SYN | TH_ACK)) == TH_SYN) &&
- SEQ_GT(th->th_seq, tp->rcv_nxt)) {
+ th->th_seq != tp->irs) {
/*
* In case we can't upgrade our lock just pretend we have
* lost this packet.

File Metadata

Mime Type
text/plain
Expires
Fri, May 15, 4:33 AM (13 h, 28 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
31159779
Default Alt Text
D56307.id.diff (713 B)

Event Timeline