- Remove net.inet.tcp.reass.overflows sysctl. It counts exactly

same events that tcpstat's tcps_rcvmemdrop counter counts.
- Rename tcps_rcvmemdrop to tcps_rcvreassfull and improve its
  description in netstat(1) output.

Sponsored by:	Netflix
Sponsored by:	Nginx, Inc.
This commit is contained in:
Gleb Smirnoff 2014-05-06 00:00:07 +00:00
parent 2bd073e13b
commit c669105d17
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=265408
3 changed files with 4 additions and 14 deletions

View File

@ -72,16 +72,6 @@ __FBSDID("$FreeBSD$");
#include <netinet6/tcp6_var.h>
#include <netinet/tcpip.h>
static SYSCTL_NODE(_net_inet_tcp, OID_AUTO, reass, CTLFLAG_RW, 0,
"TCP Segment Reassembly Queue");
static VNET_DEFINE(int, tcp_reass_overflows) = 0;
#define V_tcp_reass_overflows VNET(tcp_reass_overflows)
SYSCTL_VNET_INT(_net_inet_tcp_reass, OID_AUTO, overflows,
CTLTYPE_INT | CTLFLAG_RD,
&VNET_NAME(tcp_reass_overflows), 0,
"Global number of TCP Segment Reassembly Queue Overflows");
void
tcp_reass_flush(struct tcpcb *tp)
{
@ -142,8 +132,7 @@ tcp_reass(struct tcpcb *tp, struct tcphdr *th, int *tlenp, struct mbuf *m)
tp->t_segqlen + m->m_pkthdr.len >= sbspace(&so->so_rcv)) {
char *s;
V_tcp_reass_overflows++;
TCPSTAT_INC(tcps_rcvmemdrop);
TCPSTAT_INC(tcps_rcvreassfull);
*tlenp = 0;
if ((s = tcp_log_addrs(&tp->t_inpcb->inp_inc, th, NULL,
NULL))) {

View File

@ -426,7 +426,7 @@ struct tcpstat {
uint64_t tcps_rcvbyte; /* bytes received in sequence */
uint64_t tcps_rcvbadsum; /* packets received with ccksum errs */
uint64_t tcps_rcvbadoff; /* packets received with bad offset */
uint64_t tcps_rcvmemdrop; /* packets dropped for lack of memory */
uint64_t tcps_rcvreassfull; /* packets dropped for no reass space */
uint64_t tcps_rcvshort; /* packets received too short */
uint64_t tcps_rcvduppack; /* duplicate-only packets received */
uint64_t tcps_rcvdupbyte; /* duplicate-only bytes received */

View File

@ -660,7 +660,8 @@ tcp_stats(u_long off, const char *name, int af1 __unused, int proto __unused)
p(tcps_rcvbadsum, "\t\t%ju discarded for bad checksum%s\n");
p(tcps_rcvbadoff, "\t\t%ju discarded for bad header offset field%s\n");
p1a(tcps_rcvshort, "\t\t%ju discarded because packet too short\n");
p1a(tcps_rcvmemdrop, "\t\t%ju discarded due to memory problems\n");
p1a(tcps_rcvreassfull,
"\t\t%ju discarded due to no space in reassembly queue\n");
p(tcps_connattempt, "\t%ju connection request%s\n");
p(tcps_accepts, "\t%ju connection accept%s\n");
p(tcps_badsyn, "\t%ju bad connection attempt%s\n");