Page MenuHomeFreeBSD

D18580.id52086.diff
No OneTemporary

D18580.id52086.diff

Index: sys/netinet/tcp_reass.c
===================================================================
--- sys/netinet/tcp_reass.c
+++ sys/netinet/tcp_reass.c
@@ -978,6 +978,20 @@
return (0);
}
}
+ if (th->th_seq == tp->rcv_nxt && TCPS_HAVEESTABLISHED(tp->t_state)) {
+ tp->rcv_nxt += *tlenp;
+ flags = th->th_flags & TH_FIN;
+ TCPSTAT_INC(tcps_rcvoopack);
+ TCPSTAT_ADD(tcps_rcvoobyte, *tlenp);
+ SOCKBUF_LOCK(&so->so_rcv);
+ if (so->so_rcv.sb_state & SBS_CANTRCVMORE) {
+ m_freem(m);
+ } else {
+ sbappendstream_locked(&so->so_rcv, m, 0);
+ }
+ sorwakeup_locked(so);
+ return (flags);
+ }
/*
* Allocate a new queue entry. If we can't, or hit the zone limit
* just drop the pkt.

File Metadata

Mime Type
text/plain
Expires
Thu, Aug 27, 7:33 AM (8 h, 5 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
37363901
Default Alt Text
D18580.id52086.diff (707 B)

Event Timeline