Changeset View
Changeset View
Standalone View
Standalone View
sys/netinet/tcp_reass.c
Show All 39 Lines | |||||
/* For debugging we want counters and BB logging */ | /* For debugging we want counters and BB logging */ | ||||
/* #define TCP_REASS_COUNTERS 1 */ | /* #define TCP_REASS_COUNTERS 1 */ | ||||
/* #define TCP_REASS_LOGGING 1 */ | /* #define TCP_REASS_LOGGING 1 */ | ||||
#include <sys/param.h> | #include <sys/param.h> | ||||
#include <sys/kernel.h> | #include <sys/kernel.h> | ||||
#include <sys/eventhandler.h> | #include <sys/eventhandler.h> | ||||
#include <sys/limits.h> | |||||
#include <sys/malloc.h> | #include <sys/malloc.h> | ||||
#include <sys/mbuf.h> | #include <sys/mbuf.h> | ||||
#include <sys/socket.h> | #include <sys/socket.h> | ||||
#include <sys/socketvar.h> | #include <sys/socketvar.h> | ||||
#include <sys/sysctl.h> | #include <sys/sysctl.h> | ||||
#include <sys/syslog.h> | #include <sys/syslog.h> | ||||
#include <sys/systm.h> | #include <sys/systm.h> | ||||
▲ Show 20 Lines • Show All 940 Lines • ▼ Show 20 Lines | if ((tp->t_segqlen > tcp_reass_queue_guard) && | ||||
m_freem(m); | m_freem(m); | ||||
#ifdef TCP_REASS_LOGGING | #ifdef TCP_REASS_LOGGING | ||||
tcp_reass_log_dump(tp); | tcp_reass_log_dump(tp); | ||||
#endif | #endif | ||||
return (0); | return (0); | ||||
} | } | ||||
} else { | } else { | ||||
if (tp->t_segqlen >= min((so->so_rcv.sb_hiwat / tp->t_maxseg) + 1, | if (tp->t_segqlen >= min((so->so_rcv.sb_hiwat / tp->t_maxseg) + 1, | ||||
tcp_reass_maxqueuelen)) { | (tcp_reass_maxqueuelen > 0 ? tcp_reass_maxqueuelen : UINT_MAX))) { | ||||
TCPSTAT_INC(tcps_rcvreassfull); | TCPSTAT_INC(tcps_rcvreassfull); | ||||
*tlenp = 0; | *tlenp = 0; | ||||
if ((s = tcp_log_addrs(&tp->t_inpcb->inp_inc, th, NULL, NULL))) { | if ((s = tcp_log_addrs(&tp->t_inpcb->inp_inc, th, NULL, NULL))) { | ||||
log(LOG_DEBUG, "%s; %s: queue limit reached, " | log(LOG_DEBUG, "%s; %s: queue limit reached, " | ||||
"segment dropped\n", s, __func__); | "segment dropped\n", s, __func__); | ||||
free(s, M_TCPLOG); | free(s, M_TCPLOG); | ||||
} | } | ||||
m_freem(m); | m_freem(m); | ||||
▲ Show 20 Lines • Show All 114 Lines • Show Last 20 Lines |