- 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:
parent
2bd073e13b
commit
c669105d17
@ -72,16 +72,6 @@ __FBSDID("$FreeBSD$");
|
|||||||
#include <netinet6/tcp6_var.h>
|
#include <netinet6/tcp6_var.h>
|
||||||
#include <netinet/tcpip.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
|
void
|
||||||
tcp_reass_flush(struct tcpcb *tp)
|
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)) {
|
tp->t_segqlen + m->m_pkthdr.len >= sbspace(&so->so_rcv)) {
|
||||||
char *s;
|
char *s;
|
||||||
|
|
||||||
V_tcp_reass_overflows++;
|
TCPSTAT_INC(tcps_rcvreassfull);
|
||||||
TCPSTAT_INC(tcps_rcvmemdrop);
|
|
||||||
*tlenp = 0;
|
*tlenp = 0;
|
||||||
if ((s = tcp_log_addrs(&tp->t_inpcb->inp_inc, th, NULL,
|
if ((s = tcp_log_addrs(&tp->t_inpcb->inp_inc, th, NULL,
|
||||||
NULL))) {
|
NULL))) {
|
||||||
|
@ -426,7 +426,7 @@ struct tcpstat {
|
|||||||
uint64_t tcps_rcvbyte; /* bytes received in sequence */
|
uint64_t tcps_rcvbyte; /* bytes received in sequence */
|
||||||
uint64_t tcps_rcvbadsum; /* packets received with ccksum errs */
|
uint64_t tcps_rcvbadsum; /* packets received with ccksum errs */
|
||||||
uint64_t tcps_rcvbadoff; /* packets received with bad offset */
|
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_rcvshort; /* packets received too short */
|
||||||
uint64_t tcps_rcvduppack; /* duplicate-only packets received */
|
uint64_t tcps_rcvduppack; /* duplicate-only packets received */
|
||||||
uint64_t tcps_rcvdupbyte; /* duplicate-only bytes received */
|
uint64_t tcps_rcvdupbyte; /* duplicate-only bytes received */
|
||||||
|
@ -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_rcvbadsum, "\t\t%ju discarded for bad checksum%s\n");
|
||||||
p(tcps_rcvbadoff, "\t\t%ju discarded for bad header offset field%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_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_connattempt, "\t%ju connection request%s\n");
|
||||||
p(tcps_accepts, "\t%ju connection accept%s\n");
|
p(tcps_accepts, "\t%ju connection accept%s\n");
|
||||||
p(tcps_badsyn, "\t%ju bad connection attempt%s\n");
|
p(tcps_badsyn, "\t%ju bad connection attempt%s\n");
|
||||||
|
Loading…
x
Reference in New Issue
Block a user