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