diff options
Diffstat (limited to 'src/pmdas/linux/proc_net_netstat.h')
-rw-r--r-- | src/pmdas/linux/proc_net_netstat.h | 150 |
1 files changed, 150 insertions, 0 deletions
diff --git a/src/pmdas/linux/proc_net_netstat.h b/src/pmdas/linux/proc_net_netstat.h new file mode 100644 index 0000000..4a5a9c8 --- /dev/null +++ b/src/pmdas/linux/proc_net_netstat.h @@ -0,0 +1,150 @@ +/* + * Copyright (c) 2014 Red Hat. + * + * This program is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the + * Free Software Foundation; either version 2 of the License, or (at your + * option) any later version. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY + * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * for more details. + */ + +#define NETSTAT_MAX_COLUMNS 256 /* arbitrary upper bound (228 observed as of 22/04/2014)*/ + +enum { + _PM_NETSTAT_IPEXT_INNOROUTES = 0, + _PM_NETSTAT_IPEXT_INTRUNCATEDPKTS, + _PM_NETSTAT_IPEXT_INMCASTPKTS, + _PM_NETSTAT_IPEXT_OUTMCASTPKTS, + _PM_NETSTAT_IPEXT_INBCASTPKTS, + _PM_NETSTAT_IPEXT_OUTBCASTPKTS, + _PM_NETSTAT_IPEXT_INOCTETS, + _PM_NETSTAT_IPEXT_OUTOCTETS, + _PM_NETSTAT_IPEXT_INMCASTOCTETS, + _PM_NETSTAT_IPEXT_OUTMCASTOCTETS, + _PM_NETSTAT_IPEXT_INBCASTOCTETS, + _PM_NETSTAT_IPEXT_OUTBCASTOCTETS, + _PM_NETSTAT_IPEXT_CSUMERRORS, + _PM_NETSTAT_IPEXT_NOECTPKTS, + _PM_NETSTAT_IPEXT_ECT1PKTS, + _PM_NETSTAT_IPEXT_ECT0PKTS, + _PM_NETSTAT_IPEXT_CEPKTS, + _PM_NETSTAT_IPEXT_NFIELDS /* must be last */ +}; + +enum { + _PM_NETSTAT_TCPEXT_SYNCOOKIESSENT = 0, + _PM_NETSTAT_TCPEXT_SYNCOOKIESRECV, + _PM_NETSTAT_TCPEXT_SYNCOOKIESFAILED, + _PM_NETSTAT_TCPEXT_EMBRYONICRSTS, + _PM_NETSTAT_TCPEXT_PRUNECALLED, + _PM_NETSTAT_TCPEXT_RCVPRUNED, + _PM_NETSTAT_TCPEXT_OFOPRUNED, + _PM_NETSTAT_TCPEXT_OUTOFWINDOWICMPS, + _PM_NETSTAT_TCPEXT_LOCKDROPPEDICMPS, + _PM_NETSTAT_TCPEXT_ARPFILTER, + _PM_NETSTAT_TCPEXT_TIMEWAITED, + _PM_NETSTAT_TCPEXT_TIMEWAITRECYCLED, + _PM_NETSTAT_TCPEXT_TIMEWAITKILLED, + _PM_NETSTAT_TCPEXT_PAWSPASSIVEREJECTED, + _PM_NETSTAT_TCPEXT_PAWSACTIVEREJECTED, + _PM_NETSTAT_TCPEXT_PAWSESTABREJECTED, + _PM_NETSTAT_TCPEXT_DELAYEDACKS, + _PM_NETSTAT_TCPEXT_DELAYEDACKLOCKED, + _PM_NETSTAT_TCPEXT_DELAYEDACKLOST, + _PM_NETSTAT_TCPEXT_LISTENOVERFLOWS, + _PM_NETSTAT_TCPEXT_LISTENDROPS, + _PM_NETSTAT_TCPEXT_TCPPREQUEUED, + _PM_NETSTAT_TCPEXT_TCPDIRECTCOPYFROMBACKLOG, + _PM_NETSTAT_TCPEXT_TCPDIRECTCOPYFROMPREQUEUE, + _PM_NETSTAT_TCPEXT_TCPPREQUEUEDROPPED, + _PM_NETSTAT_TCPEXT_TCPHPHITS, + _PM_NETSTAT_TCPEXT_TCPHPHITSTOUSER, + _PM_NETSTAT_TCPEXT_TCPPUREACKS, + _PM_NETSTAT_TCPEXT_TCPHPACKS, + _PM_NETSTAT_TCPEXT_TCPRENORECOVERY, + _PM_NETSTAT_TCPEXT_TCPSACKRECOVERY, + _PM_NETSTAT_TCPEXT_TCPSACKRENEGING, + _PM_NETSTAT_TCPEXT_TCPFACKREORDER, + _PM_NETSTAT_TCPEXT_TCPSACKREORDER, + _PM_NETSTAT_TCPEXT_TCPRENOREORDER, + _PM_NETSTAT_TCPEXT_TCPTSREORDER, + _PM_NETSTAT_TCPEXT_TCPFULLUNDO, + _PM_NETSTAT_TCPEXT_TCPPARTIALUNDO, + _PM_NETSTAT_TCPEXT_TCPDSACKUNDO, + _PM_NETSTAT_TCPEXT_TCPLOSSUNDO, + _PM_NETSTAT_TCPEXT_TCPLOSTRETRANSMIT, + _PM_NETSTAT_TCPEXT_TCPRENOFAILURES, + _PM_NETSTAT_TCPEXT_TCPSACKFAILURES, + _PM_NETSTAT_TCPEXT_TCPLOSSFAILURES, + _PM_NETSTAT_TCPEXT_TCPFASTRETRANS, + _PM_NETSTAT_TCPEXT_TCPFORWARDRETRANS, + _PM_NETSTAT_TCPEXT_TCPSLOWSTARTRETRANS, + _PM_NETSTAT_TCPEXT_TCPTIMEOUTS, + _PM_NETSTAT_TCPEXT_TCPLOSSPROBES, + _PM_NETSTAT_TCPEXT_TCPLOSSPROBERECOVERY, + _PM_NETSTAT_TCPEXT_TCPRENORECOVERYFAIL, + _PM_NETSTAT_TCPEXT_TCPSACKRECOVERYFAIL, + _PM_NETSTAT_TCPEXT_TCPSCHEDULERFAILED, + _PM_NETSTAT_TCPEXT_TCPRCVCOLLAPSED, + _PM_NETSTAT_TCPEXT_TCPDSACKOLDSENT, + _PM_NETSTAT_TCPEXT_TCPDSACKOFOSENT, + _PM_NETSTAT_TCPEXT_TCPDSACKRECV, + _PM_NETSTAT_TCPEXT_TCPDSACKOFORECV, + _PM_NETSTAT_TCPEXT_TCPABORTONDATA, + _PM_NETSTAT_TCPEXT_TCPABORTONCLOSE, + _PM_NETSTAT_TCPEXT_TCPABORTONMEMORY, + _PM_NETSTAT_TCPEXT_TCPABORTONTIMEOUT, + _PM_NETSTAT_TCPEXT_TCPABORTONLINGER, + _PM_NETSTAT_TCPEXT_TCPABORTFAILED, + _PM_NETSTAT_TCPEXT_TCPMEMORYPRESSURES, + _PM_NETSTAT_TCPEXT_TCPSACKDISCARD, + _PM_NETSTAT_TCPEXT_TCPDSACKIGNOREDOLD, + _PM_NETSTAT_TCPEXT_TCPDSACKIGNOREDNOUNDO, + _PM_NETSTAT_TCPEXT_TCPSPURIOUSRTOS, + _PM_NETSTAT_TCPEXT_TCPMD5NOTFOUND, + _PM_NETSTAT_TCPEXT_TCPMD5UNEXPECTED, + _PM_NETSTAT_TCPEXT_SACKSHIFTED, + _PM_NETSTAT_TCPEXT_SACKMERGED, + _PM_NETSTAT_TCPEXT_SACKSHIFTFALLBACK, + _PM_NETSTAT_TCPEXT_TCPBACKLOGDROP, + _PM_NETSTAT_TCPEXT_TCPMINTTLDROP, + _PM_NETSTAT_TCPEXT_TCPDEFERACCEPTDROP, + _PM_NETSTAT_TCPEXT_IPRPFILTER, + _PM_NETSTAT_TCPEXT_TCPTIMEWAITOVERFLOW, + _PM_NETSTAT_TCPEXT_TCPREQQFULLDOCOOKIES, + _PM_NETSTAT_TCPEXT_TCPREQQFULLDROP, + _PM_NETSTAT_TCPEXT_TCPRETRANSFAIL, + _PM_NETSTAT_TCPEXT_TCPRCVCOALESCE, + _PM_NETSTAT_TCPEXT_TCPOFOQUEUE, + _PM_NETSTAT_TCPEXT_TCPOFODROP, + _PM_NETSTAT_TCPEXT_TCPOFOMERGE, + _PM_NETSTAT_TCPEXT_TCPCHALLENGEACK, + _PM_NETSTAT_TCPEXT_TCPSYNCHALLENGE, + _PM_NETSTAT_TCPEXT_TCPFASTOPENACTIVE, + _PM_NETSTAT_TCPEXT_TCPFASTOPENACTIVEFAIL, + _PM_NETSTAT_TCPEXT_TCPFASTOPENPASSIVE, + _PM_NETSTAT_TCPEXT_TCPFASTOPENPASSIVEFAIL, + _PM_NETSTAT_TCPEXT_TCPFASTOPENLISTENOVERFLOW, + _PM_NETSTAT_TCPEXT_TCPFASTOPENCOOKIEREQD, + _PM_NETSTAT_TCPEXT_TCPSPURIOUS_RTX_HOSTQUEUES, + _PM_NETSTAT_TCPEXT_BUSYPOLLRXPACKETS, + _PM_NETSTAT_TCPEXT_TCPAUTOCORKING, + _PM_NETSTAT_TCPEXT_TCPFROMZEROWINDOWADV, + _PM_NETSTAT_TCPEXT_TCPTOZEROWINDOWADV, + _PM_NETSTAT_TCPEXT_TCPWANTZEROWINDOWADV, + _PM_NETSTAT_TCPEXT_TCPSYNRETRANS, + _PM_NETSTAT_TCPEXT_TCPORIGDATASENT, + _PM_NETSTAT_TCPEXT_NFIELDS /* must be last */ +}; + + +typedef struct { + __uint64_t ip[_PM_NETSTAT_IPEXT_NFIELDS]; + __uint64_t tcp[_PM_NETSTAT_TCPEXT_NFIELDS]; +} proc_net_netstat_t; + +extern int refresh_proc_net_netstat(proc_net_netstat_t *); |