1 /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 /* 3 * Definitions for MIBs 4 * 5 * Author: Hideaki YOSHIFUJI <yoshfuji (at) 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 */ 19 enum 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 */ 68 enum 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 */ 107 enum 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 */ 125 enum 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 */ 151 enum 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 */ 166 enum 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_TCPBACKLOGCOALESCE, /* TCPBacklogCoalesce */ 247 LINUX_MIB_TCPOFOQUEUE, /* TCPOFOQueue */ 248 LINUX_MIB_TCPOFODROP, /* TCPOFODrop */ 249 LINUX_MIB_TCPOFOMERGE, /* TCPOFOMerge */ 250 LINUX_MIB_TCPCHALLENGEACK, /* TCPChallengeACK */ 251 LINUX_MIB_TCPSYNCHALLENGE, /* TCPSYNChallenge */ 252 LINUX_MIB_TCPFASTOPENACTIVE, /* TCPFastOpenActive */ 253 LINUX_MIB_TCPFASTOPENACTIVEFAIL, /* TCPFastOpenActiveFail */ 254 LINUX_MIB_TCPFASTOPENPASSIVE, /* TCPFastOpenPassive*/ 255 LINUX_MIB_TCPFASTOPENPASSIVEFAIL, /* TCPFastOpenPassiveFail */ 256 LINUX_MIB_TCPFASTOPENLISTENOVERFLOW, /* TCPFastOpenListenOverflow */ 257 LINUX_MIB_TCPFASTOPENCOOKIEREQD, /* TCPFastOpenCookieReqd */ 258 LINUX_MIB_TCPFASTOPENBLACKHOLE, /* TCPFastOpenBlackholeDetect */ 259 LINUX_MIB_TCPSPURIOUS_RTX_HOSTQUEUES, /* TCPSpuriousRtxHostQueues */ 260 LINUX_MIB_BUSYPOLLRXPACKETS, /* BusyPollRxPackets */ 261 LINUX_MIB_TCPAUTOCORKING, /* TCPAutoCorking */ 262 LINUX_MIB_TCPFROMZEROWINDOWADV, /* TCPFromZeroWindowAdv */ 263 LINUX_MIB_TCPTOZEROWINDOWADV, /* TCPToZeroWindowAdv */ 264 LINUX_MIB_TCPWANTZEROWINDOWADV, /* TCPWantZeroWindowAdv */ 265 LINUX_MIB_TCPSYNRETRANS, /* TCPSynRetrans */ 266 LINUX_MIB_TCPORIGDATASENT, /* TCPOrigDataSent */ 267 LINUX_MIB_TCPHYSTARTTRAINDETECT, /* TCPHystartTrainDetect */ 268 LINUX_MIB_TCPHYSTARTTRAINCWND, /* TCPHystartTrainCwnd */ 269 LINUX_MIB_TCPHYSTARTDELAYDETECT, /* TCPHystartDelayDetect */ 270 LINUX_MIB_TCPHYSTARTDELAYCWND, /* TCPHystartDelayCwnd */ 271 LINUX_MIB_TCPACKSKIPPEDSYNRECV, /* TCPACKSkippedSynRecv */ 272 LINUX_MIB_TCPACKSKIPPEDPAWS, /* TCPACKSkippedPAWS */ 273 LINUX_MIB_TCPACKSKIPPEDSEQ, /* TCPACKSkippedSeq */ 274 LINUX_MIB_TCPACKSKIPPEDFINWAIT2, /* TCPACKSkippedFinWait2 */ 275 LINUX_MIB_TCPACKSKIPPEDTIMEWAIT, /* TCPACKSkippedTimeWait */ 276 LINUX_MIB_TCPACKSKIPPEDCHALLENGE, /* TCPACKSkippedChallenge */ 277 LINUX_MIB_TCPWINPROBE, /* TCPWinProbe */ 278 LINUX_MIB_TCPKEEPALIVE, /* TCPKeepAlive */ 279 LINUX_MIB_TCPMTUPFAIL, /* TCPMTUPFail */ 280 LINUX_MIB_TCPMTUPSUCCESS, /* TCPMTUPSuccess */ 281 LINUX_MIB_TCPDELIVERED, /* TCPDelivered */ 282 LINUX_MIB_TCPDELIVEREDCE, /* TCPDeliveredCE */ 283 LINUX_MIB_TCPACKCOMPRESSED, /* TCPAckCompressed */ 284 LINUX_MIB_TCPZEROWINDOWDROP, /* TCPZeroWindowDrop */ 285 LINUX_MIB_TCPRCVQDROP, /* TCPRcvQDrop */ 286 __LINUX_MIB_MAX 287 }; 288 289 /* linux Xfrm mib definitions */ 290 enum 291 { 292 LINUX_MIB_XFRMNUM = 0, 293 LINUX_MIB_XFRMINERROR, /* XfrmInError */ 294 LINUX_MIB_XFRMINBUFFERERROR, /* XfrmInBufferError */ 295 LINUX_MIB_XFRMINHDRERROR, /* XfrmInHdrError */ 296 LINUX_MIB_XFRMINNOSTATES, /* XfrmInNoStates */ 297 LINUX_MIB_XFRMINSTATEPROTOERROR, /* XfrmInStateProtoError */ 298 LINUX_MIB_XFRMINSTATEMODEERROR, /* XfrmInStateModeError */ 299 LINUX_MIB_XFRMINSTATESEQERROR, /* XfrmInStateSeqError */ 300 LINUX_MIB_XFRMINSTATEEXPIRED, /* XfrmInStateExpired */ 301 LINUX_MIB_XFRMINSTATEMISMATCH, /* XfrmInStateMismatch */ 302 LINUX_MIB_XFRMINSTATEINVALID, /* XfrmInStateInvalid */ 303 LINUX_MIB_XFRMINTMPLMISMATCH, /* XfrmInTmplMismatch */ 304 LINUX_MIB_XFRMINNOPOLS, /* XfrmInNoPols */ 305 LINUX_MIB_XFRMINPOLBLOCK, /* XfrmInPolBlock */ 306 LINUX_MIB_XFRMINPOLERROR, /* XfrmInPolError */ 307 LINUX_MIB_XFRMOUTERROR, /* XfrmOutError */ 308 LINUX_MIB_XFRMOUTBUNDLEGENERROR, /* XfrmOutBundleGenError */ 309 LINUX_MIB_XFRMOUTBUNDLECHECKERROR, /* XfrmOutBundleCheckError */ 310 LINUX_MIB_XFRMOUTNOSTATES, /* XfrmOutNoStates */ 311 LINUX_MIB_XFRMOUTSTATEPROTOERROR, /* XfrmOutStateProtoError */ 312 LINUX_MIB_XFRMOUTSTATEMODEERROR, /* XfrmOutStateModeError */ 313 LINUX_MIB_XFRMOUTSTATESEQERROR, /* XfrmOutStateSeqError */ 314 LINUX_MIB_XFRMOUTSTATEEXPIRED, /* XfrmOutStateExpired */ 315 LINUX_MIB_XFRMOUTPOLBLOCK, /* XfrmOutPolBlock */ 316 LINUX_MIB_XFRMOUTPOLDEAD, /* XfrmOutPolDead */ 317 LINUX_MIB_XFRMOUTPOLERROR, /* XfrmOutPolError */ 318 LINUX_MIB_XFRMFWDHDRERROR, /* XfrmFwdHdrError*/ 319 LINUX_MIB_XFRMOUTSTATEINVALID, /* XfrmOutStateInvalid */ 320 LINUX_MIB_XFRMACQUIREERROR, /* XfrmAcquireError */ 321 __LINUX_MIB_XFRMMAX 322 }; 323 324 #endif /* _LINUX_SNMP_H */ 325