Page Menu
Home
FreeBSD
Search
Configure Global Search
Log In
Files
F156501324
D56307.id.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Flag For Later
Award Token
Size
713 B
Referenced Files
None
Subscribers
None
D56307.id.diff
View Options
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
Details
Attached
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)
Attached To
Mode
D56307: tcp: Allow recycling of TIME_WAIT connections on differnet ISN
Attached
Detach File
Event Timeline
Log In to Comment