1/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
2/*
3 * Definitions for MIBs
4 *
5 * Author: Hideaki YOSHIFUJI <yoshfuji@linux-ipv6.org>
6 */
7
8#ifndef _LINUX_SNMP_H
9#define _LINUX_SNMP_H
10
11/* ipstats mib definitions */
12/*
13 * RFC 1213: MIB-II
14 * RFC 2011 (updates 1213): SNMPv2-MIB-IP
15 * RFC 2863: Interfaces Group MIB
16 * RFC 2465: IPv6 MIB: General Group
17 * draft-ietf-ipv6-rfc2011-update-10.txt: MIB for IP: IP Statistics Tables
18 */
19enum
20{
21 IPSTATS_MIB_NUM = 0,
22/* frequently written fields in fast path, kept in same cache line */
23 IPSTATS_MIB_INPKTS, /* InReceives */
24 IPSTATS_MIB_INOCTETS, /* InOctets */
25 IPSTATS_MIB_INDELIVERS, /* InDelivers */
26 IPSTATS_MIB_OUTFORWDATAGRAMS, /* OutForwDatagrams */
27 IPSTATS_MIB_OUTPKTS, /* OutRequests */
28 IPSTATS_MIB_OUTOCTETS, /* OutOctets */
29/* other fields */
30 IPSTATS_MIB_INHDRERRORS, /* InHdrErrors */
31 IPSTATS_MIB_INTOOBIGERRORS, /* InTooBigErrors */
32 IPSTATS_MIB_INNOROUTES, /* InNoRoutes */
33 IPSTATS_MIB_INADDRERRORS, /* InAddrErrors */
34 IPSTATS_MIB_INUNKNOWNPROTOS, /* InUnknownProtos */
35 IPSTATS_MIB_INTRUNCATEDPKTS, /* InTruncatedPkts */
36 IPSTATS_MIB_INDISCARDS, /* InDiscards */
37 IPSTATS_MIB_OUTDISCARDS, /* OutDiscards */
38 IPSTATS_MIB_OUTNOROUTES, /* OutNoRoutes */
39 IPSTATS_MIB_REASMTIMEOUT, /* ReasmTimeout */
40 IPSTATS_MIB_REASMREQDS, /* ReasmReqds */
41 IPSTATS_MIB_REASMOKS, /* ReasmOKs */
42 IPSTATS_MIB_REASMFAILS, /* ReasmFails */
43 IPSTATS_MIB_FRAGOKS, /* FragOKs */
44 IPSTATS_MIB_FRAGFAILS, /* FragFails */
45 IPSTATS_MIB_FRAGCREATES, /* FragCreates */
46 IPSTATS_MIB_INMCASTPKTS, /* InMcastPkts */
47 IPSTATS_MIB_OUTMCASTPKTS, /* OutMcastPkts */
48 IPSTATS_MIB_INBCASTPKTS, /* InBcastPkts */
49 IPSTATS_MIB_OUTBCASTPKTS, /* OutBcastPkts */
50 IPSTATS_MIB_INMCASTOCTETS, /* InMcastOctets */
51 IPSTATS_MIB_OUTMCASTOCTETS, /* OutMcastOctets */
52 IPSTATS_MIB_INBCASTOCTETS, /* InBcastOctets */
53 IPSTATS_MIB_OUTBCASTOCTETS, /* OutBcastOctets */
54 IPSTATS_MIB_CSUMERRORS, /* InCsumErrors */
55 IPSTATS_MIB_NOECTPKTS, /* InNoECTPkts */
56 IPSTATS_MIB_ECT1PKTS, /* InECT1Pkts */
57 IPSTATS_MIB_ECT0PKTS, /* InECT0Pkts */
58 IPSTATS_MIB_CEPKTS, /* InCEPkts */
59 IPSTATS_MIB_REASM_OVERLAPS, /* ReasmOverlaps */
60 __IPSTATS_MIB_MAX
61};
62
63/* icmp mib definitions */
64/*
65 * RFC 1213: MIB-II ICMP Group
66 * RFC 2011 (updates 1213): SNMPv2 MIB for IP: ICMP group
67 */
68enum
69{
70 ICMP_MIB_NUM = 0,
71 ICMP_MIB_INMSGS, /* InMsgs */
72 ICMP_MIB_INERRORS, /* InErrors */
73 ICMP_MIB_INDESTUNREACHS, /* InDestUnreachs */
74 ICMP_MIB_INTIMEEXCDS, /* InTimeExcds */
75 ICMP_MIB_INPARMPROBS, /* InParmProbs */
76 ICMP_MIB_INSRCQUENCHS, /* InSrcQuenchs */
77 ICMP_MIB_INREDIRECTS, /* InRedirects */
78 ICMP_MIB_INECHOS, /* InEchos */
79 ICMP_MIB_INECHOREPS, /* InEchoReps */
80 ICMP_MIB_INTIMESTAMPS, /* InTimestamps */
81 ICMP_MIB_INTIMESTAMPREPS, /* InTimestampReps */
82 ICMP_MIB_INADDRMASKS, /* InAddrMasks */
83 ICMP_MIB_INADDRMASKREPS, /* InAddrMaskReps */
84 ICMP_MIB_OUTMSGS, /* OutMsgs */
85 ICMP_MIB_OUTERRORS, /* OutErrors */
86 ICMP_MIB_OUTDESTUNREACHS, /* OutDestUnreachs */
87 ICMP_MIB_OUTTIMEEXCDS, /* OutTimeExcds */
88 ICMP_MIB_OUTPARMPROBS, /* OutParmProbs */
89 ICMP_MIB_OUTSRCQUENCHS, /* OutSrcQuenchs */
90 ICMP_MIB_OUTREDIRECTS, /* OutRedirects */
91 ICMP_MIB_OUTECHOS, /* OutEchos */
92 ICMP_MIB_OUTECHOREPS, /* OutEchoReps */
93 ICMP_MIB_OUTTIMESTAMPS, /* OutTimestamps */
94 ICMP_MIB_OUTTIMESTAMPREPS, /* OutTimestampReps */
95 ICMP_MIB_OUTADDRMASKS, /* OutAddrMasks */
96 ICMP_MIB_OUTADDRMASKREPS, /* OutAddrMaskReps */
97 ICMP_MIB_CSUMERRORS, /* InCsumErrors */
98 __ICMP_MIB_MAX
99};
100
101#define __ICMPMSG_MIB_MAX 512 /* Out+In for all 8-bit ICMP types */
102
103/* icmp6 mib definitions */
104/*
105 * RFC 2466: ICMPv6-MIB
106 */
107enum
108{
109 ICMP6_MIB_NUM = 0,
110 ICMP6_MIB_INMSGS, /* InMsgs */
111 ICMP6_MIB_INERRORS, /* InErrors */
112 ICMP6_MIB_OUTMSGS, /* OutMsgs */
113 ICMP6_MIB_OUTERRORS, /* OutErrors */
114 ICMP6_MIB_CSUMERRORS, /* InCsumErrors */
115 __ICMP6_MIB_MAX
116};
117
118#define __ICMP6MSG_MIB_MAX 512 /* Out+In for all 8-bit ICMPv6 types */
119
120/* tcp mib definitions */
121/*
122 * RFC 1213: MIB-II TCP group
123 * RFC 2012 (updates 1213): SNMPv2-MIB-TCP
124 */
125enum
126{
127 TCP_MIB_NUM = 0,
128 TCP_MIB_RTOALGORITHM, /* RtoAlgorithm */
129 TCP_MIB_RTOMIN, /* RtoMin */
130 TCP_MIB_RTOMAX, /* RtoMax */
131 TCP_MIB_MAXCONN, /* MaxConn */
132 TCP_MIB_ACTIVEOPENS, /* ActiveOpens */
133 TCP_MIB_PASSIVEOPENS, /* PassiveOpens */
134 TCP_MIB_ATTEMPTFAILS, /* AttemptFails */
135 TCP_MIB_ESTABRESETS, /* EstabResets */
136 TCP_MIB_CURRESTAB, /* CurrEstab */
137 TCP_MIB_INSEGS, /* InSegs */
138 TCP_MIB_OUTSEGS, /* OutSegs */
139 TCP_MIB_RETRANSSEGS, /* RetransSegs */
140 TCP_MIB_INERRS, /* InErrs */
141 TCP_MIB_OUTRSTS, /* OutRsts */
142 TCP_MIB_CSUMERRORS, /* InCsumErrors */
143 __TCP_MIB_MAX
144};
145
146/* udp mib definitions */
147/*
148 * RFC 1213: MIB-II UDP group
149 * RFC 2013 (updates 1213): SNMPv2-MIB-UDP
150 */
151enum
152{
153 UDP_MIB_NUM = 0,
154 UDP_MIB_INDATAGRAMS, /* InDatagrams */
155 UDP_MIB_NOPORTS, /* NoPorts */
156 UDP_MIB_INERRORS, /* InErrors */
157 UDP_MIB_OUTDATAGRAMS, /* OutDatagrams */
158 UDP_MIB_RCVBUFERRORS, /* RcvbufErrors */
159 UDP_MIB_SNDBUFERRORS, /* SndbufErrors */
160 UDP_MIB_CSUMERRORS, /* InCsumErrors */
161 UDP_MIB_IGNOREDMULTI, /* IgnoredMulti */
162 __UDP_MIB_MAX
163};
164
165/* linux mib definitions */
166enum
167{
168 LINUX_MIB_NUM = 0,
169 LINUX_MIB_SYNCOOKIESSENT, /* SyncookiesSent */
170 LINUX_MIB_SYNCOOKIESRECV, /* SyncookiesRecv */
171 LINUX_MIB_SYNCOOKIESFAILED, /* SyncookiesFailed */
172 LINUX_MIB_EMBRYONICRSTS, /* EmbryonicRsts */
173 LINUX_MIB_PRUNECALLED, /* PruneCalled */
174 LINUX_MIB_RCVPRUNED, /* RcvPruned */
175 LINUX_MIB_OFOPRUNED, /* OfoPruned */
176 LINUX_MIB_OUTOFWINDOWICMPS, /* OutOfWindowIcmps */
177 LINUX_MIB_LOCKDROPPEDICMPS, /* LockDroppedIcmps */
178 LINUX_MIB_ARPFILTER, /* ArpFilter */
179 LINUX_MIB_TIMEWAITED, /* TimeWaited */
180 LINUX_MIB_TIMEWAITRECYCLED, /* TimeWaitRecycled */
181 LINUX_MIB_TIMEWAITKILLED, /* TimeWaitKilled */
182 LINUX_MIB_PAWSACTIVEREJECTED, /* PAWSActiveRejected */
183 LINUX_MIB_PAWSESTABREJECTED, /* PAWSEstabRejected */
184 LINUX_MIB_DELAYEDACKS, /* DelayedACKs */
185 LINUX_MIB_DELAYEDACKLOCKED, /* DelayedACKLocked */
186 LINUX_MIB_DELAYEDACKLOST, /* DelayedACKLost */
187 LINUX_MIB_LISTENOVERFLOWS, /* ListenOverflows */
188 LINUX_MIB_LISTENDROPS, /* ListenDrops */
189 LINUX_MIB_TCPHPHITS, /* TCPHPHits */
190 LINUX_MIB_TCPPUREACKS, /* TCPPureAcks */
191 LINUX_MIB_TCPHPACKS, /* TCPHPAcks */
192 LINUX_MIB_TCPRENORECOVERY, /* TCPRenoRecovery */
193 LINUX_MIB_TCPSACKRECOVERY, /* TCPSackRecovery */
194 LINUX_MIB_TCPSACKRENEGING, /* TCPSACKReneging */
195 LINUX_MIB_TCPSACKREORDER, /* TCPSACKReorder */
196 LINUX_MIB_TCPRENOREORDER, /* TCPRenoReorder */
197 LINUX_MIB_TCPTSREORDER, /* TCPTSReorder */
198 LINUX_MIB_TCPFULLUNDO, /* TCPFullUndo */
199 LINUX_MIB_TCPPARTIALUNDO, /* TCPPartialUndo */
200 LINUX_MIB_TCPDSACKUNDO, /* TCPDSACKUndo */
201 LINUX_MIB_TCPLOSSUNDO, /* TCPLossUndo */
202 LINUX_MIB_TCPLOSTRETRANSMIT, /* TCPLostRetransmit */
203 LINUX_MIB_TCPRENOFAILURES, /* TCPRenoFailures */
204 LINUX_MIB_TCPSACKFAILURES, /* TCPSackFailures */
205 LINUX_MIB_TCPLOSSFAILURES, /* TCPLossFailures */
206 LINUX_MIB_TCPFASTRETRANS, /* TCPFastRetrans */
207 LINUX_MIB_TCPSLOWSTARTRETRANS, /* TCPSlowStartRetrans */
208 LINUX_MIB_TCPTIMEOUTS, /* TCPTimeouts */
209 LINUX_MIB_TCPLOSSPROBES, /* TCPLossProbes */
210 LINUX_MIB_TCPLOSSPROBERECOVERY, /* TCPLossProbeRecovery */
211 LINUX_MIB_TCPRENORECOVERYFAIL, /* TCPRenoRecoveryFail */
212 LINUX_MIB_TCPSACKRECOVERYFAIL, /* TCPSackRecoveryFail */
213 LINUX_MIB_TCPRCVCOLLAPSED, /* TCPRcvCollapsed */
214 LINUX_MIB_TCPDSACKOLDSENT, /* TCPDSACKOldSent */
215 LINUX_MIB_TCPDSACKOFOSENT, /* TCPDSACKOfoSent */
216 LINUX_MIB_TCPDSACKRECV, /* TCPDSACKRecv */
217 LINUX_MIB_TCPDSACKOFORECV, /* TCPDSACKOfoRecv */
218 LINUX_MIB_TCPABORTONDATA, /* TCPAbortOnData */
219 LINUX_MIB_TCPABORTONCLOSE, /* TCPAbortOnClose */
220 LINUX_MIB_TCPABORTONMEMORY, /* TCPAbortOnMemory */
221 LINUX_MIB_TCPABORTONTIMEOUT, /* TCPAbortOnTimeout */
222 LINUX_MIB_TCPABORTONLINGER, /* TCPAbortOnLinger */
223 LINUX_MIB_TCPABORTFAILED, /* TCPAbortFailed */
224 LINUX_MIB_TCPMEMORYPRESSURES, /* TCPMemoryPressures */
225 LINUX_MIB_TCPMEMORYPRESSURESCHRONO, /* TCPMemoryPressuresChrono */
226 LINUX_MIB_TCPSACKDISCARD, /* TCPSACKDiscard */
227 LINUX_MIB_TCPDSACKIGNOREDOLD, /* TCPSACKIgnoredOld */
228 LINUX_MIB_TCPDSACKIGNOREDNOUNDO, /* TCPSACKIgnoredNoUndo */
229 LINUX_MIB_TCPSPURIOUSRTOS, /* TCPSpuriousRTOs */
230 LINUX_MIB_TCPMD5NOTFOUND, /* TCPMD5NotFound */
231 LINUX_MIB_TCPMD5UNEXPECTED, /* TCPMD5Unexpected */
232 LINUX_MIB_TCPMD5FAILURE, /* TCPMD5Failure */
233 LINUX_MIB_SACKSHIFTED,
234 LINUX_MIB_SACKMERGED,
235 LINUX_MIB_SACKSHIFTFALLBACK,
236 LINUX_MIB_TCPBACKLOGDROP,
237 LINUX_MIB_PFMEMALLOCDROP,
238 LINUX_MIB_TCPMINTTLDROP, /* RFC 5082 */
239 LINUX_MIB_TCPDEFERACCEPTDROP,
240 LINUX_MIB_IPRPFILTER, /* IP Reverse Path Filter (rp_filter) */
241 LINUX_MIB_TCPTIMEWAITOVERFLOW, /* TCPTimeWaitOverflow */
242 LINUX_MIB_TCPREQQFULLDOCOOKIES, /* TCPReqQFullDoCookies */
243 LINUX_MIB_TCPREQQFULLDROP, /* TCPReqQFullDrop */
244 LINUX_MIB_TCPRETRANSFAIL, /* TCPRetransFail */
245 LINUX_MIB_TCPRCVCOALESCE, /* TCPRcvCoalesce */
246 LINUX_MIB_TCPOFOQUEUE, /* TCPOFOQueue */
247 LINUX_MIB_TCPOFODROP, /* TCPOFODrop */
248 LINUX_MIB_TCPOFOMERGE, /* TCPOFOMerge */
249 LINUX_MIB_TCPCHALLENGEACK, /* TCPChallengeACK */
250 LINUX_MIB_TCPSYNCHALLENGE, /* TCPSYNChallenge */
251 LINUX_MIB_TCPFASTOPENACTIVE, /* TCPFastOpenActive */
252 LINUX_MIB_TCPFASTOPENACTIVEFAIL, /* TCPFastOpenActiveFail */
253 LINUX_MIB_TCPFASTOPENPASSIVE, /* TCPFastOpenPassive*/
254 LINUX_MIB_TCPFASTOPENPASSIVEFAIL, /* TCPFastOpenPassiveFail */
255 LINUX_MIB_TCPFASTOPENLISTENOVERFLOW, /* TCPFastOpenListenOverflow */
256 LINUX_MIB_TCPFASTOPENCOOKIEREQD, /* TCPFastOpenCookieReqd */
257 LINUX_MIB_TCPFASTOPENBLACKHOLE, /* TCPFastOpenBlackholeDetect */
258 LINUX_MIB_TCPSPURIOUS_RTX_HOSTQUEUES, /* TCPSpuriousRtxHostQueues */
259 LINUX_MIB_BUSYPOLLRXPACKETS, /* BusyPollRxPackets */
260 LINUX_MIB_TCPAUTOCORKING, /* TCPAutoCorking */
261 LINUX_MIB_TCPFROMZEROWINDOWADV, /* TCPFromZeroWindowAdv */
262 LINUX_MIB_TCPTOZEROWINDOWADV, /* TCPToZeroWindowAdv */
263 LINUX_MIB_TCPWANTZEROWINDOWADV, /* TCPWantZeroWindowAdv */
264 LINUX_MIB_TCPSYNRETRANS, /* TCPSynRetrans */
265 LINUX_MIB_TCPORIGDATASENT, /* TCPOrigDataSent */
266 LINUX_MIB_TCPHYSTARTTRAINDETECT, /* TCPHystartTrainDetect */
267 LINUX_MIB_TCPHYSTARTTRAINCWND, /* TCPHystartTrainCwnd */
268 LINUX_MIB_TCPHYSTARTDELAYDETECT, /* TCPHystartDelayDetect */
269 LINUX_MIB_TCPHYSTARTDELAYCWND, /* TCPHystartDelayCwnd */
270 LINUX_MIB_TCPACKSKIPPEDSYNRECV, /* TCPACKSkippedSynRecv */
271 LINUX_MIB_TCPACKSKIPPEDPAWS, /* TCPACKSkippedPAWS */
272 LINUX_MIB_TCPACKSKIPPEDSEQ, /* TCPACKSkippedSeq */
273 LINUX_MIB_TCPACKSKIPPEDFINWAIT2, /* TCPACKSkippedFinWait2 */
274 LINUX_MIB_TCPACKSKIPPEDTIMEWAIT, /* TCPACKSkippedTimeWait */
275 LINUX_MIB_TCPACKSKIPPEDCHALLENGE, /* TCPACKSkippedChallenge */
276 LINUX_MIB_TCPWINPROBE, /* TCPWinProbe */
277 LINUX_MIB_TCPKEEPALIVE, /* TCPKeepAlive */
278 LINUX_MIB_TCPMTUPFAIL, /* TCPMTUPFail */
279 LINUX_MIB_TCPMTUPSUCCESS, /* TCPMTUPSuccess */
280 LINUX_MIB_TCPDELIVERED, /* TCPDelivered */
281 LINUX_MIB_TCPDELIVEREDCE, /* TCPDeliveredCE */
282 LINUX_MIB_TCPACKCOMPRESSED, /* TCPAckCompressed */
283 LINUX_MIB_TCPZEROWINDOWDROP, /* TCPZeroWindowDrop */
284 LINUX_MIB_TCPRCVQDROP, /* TCPRcvQDrop */
285 __LINUX_MIB_MAX
286};
287
288/* linux Xfrm mib definitions */
289enum
290{
291 LINUX_MIB_XFRMNUM = 0,
292 LINUX_MIB_XFRMINERROR, /* XfrmInError */
293 LINUX_MIB_XFRMINBUFFERERROR, /* XfrmInBufferError */
294 LINUX_MIB_XFRMINHDRERROR, /* XfrmInHdrError */
295 LINUX_MIB_XFRMINNOSTATES, /* XfrmInNoStates */
296 LINUX_MIB_XFRMINSTATEPROTOERROR, /* XfrmInStateProtoError */
297 LINUX_MIB_XFRMINSTATEMODEERROR, /* XfrmInStateModeError */
298 LINUX_MIB_XFRMINSTATESEQERROR, /* XfrmInStateSeqError */
299 LINUX_MIB_XFRMINSTATEEXPIRED, /* XfrmInStateExpired */
300 LINUX_MIB_XFRMINSTATEMISMATCH, /* XfrmInStateMismatch */
301 LINUX_MIB_XFRMINSTATEINVALID, /* XfrmInStateInvalid */
302 LINUX_MIB_XFRMINTMPLMISMATCH, /* XfrmInTmplMismatch */
303 LINUX_MIB_XFRMINNOPOLS, /* XfrmInNoPols */
304 LINUX_MIB_XFRMINPOLBLOCK, /* XfrmInPolBlock */
305 LINUX_MIB_XFRMINPOLERROR, /* XfrmInPolError */
306 LINUX_MIB_XFRMOUTERROR, /* XfrmOutError */
307 LINUX_MIB_XFRMOUTBUNDLEGENERROR, /* XfrmOutBundleGenError */
308 LINUX_MIB_XFRMOUTBUNDLECHECKERROR, /* XfrmOutBundleCheckError */
309 LINUX_MIB_XFRMOUTNOSTATES, /* XfrmOutNoStates */
310 LINUX_MIB_XFRMOUTSTATEPROTOERROR, /* XfrmOutStateProtoError */
311 LINUX_MIB_XFRMOUTSTATEMODEERROR, /* XfrmOutStateModeError */
312 LINUX_MIB_XFRMOUTSTATESEQERROR, /* XfrmOutStateSeqError */
313 LINUX_MIB_XFRMOUTSTATEEXPIRED, /* XfrmOutStateExpired */
314 LINUX_MIB_XFRMOUTPOLBLOCK, /* XfrmOutPolBlock */
315 LINUX_MIB_XFRMOUTPOLDEAD, /* XfrmOutPolDead */
316 LINUX_MIB_XFRMOUTPOLERROR, /* XfrmOutPolError */
317 LINUX_MIB_XFRMFWDHDRERROR, /* XfrmFwdHdrError*/
318 LINUX_MIB_XFRMOUTSTATEINVALID, /* XfrmOutStateInvalid */
319 LINUX_MIB_XFRMACQUIREERROR, /* XfrmAcquireError */
320 __LINUX_MIB_XFRMMAX
321};
322
323#endif /* _LINUX_SNMP_H */
324