Home | History | Annotate | Download | only in linux
      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_MAX
     60 };
     61 
     62 /* icmp mib definitions */
     63 /*
     64  * RFC 1213:  MIB-II ICMP Group
     65  * RFC 2011 (updates 1213):  SNMPv2 MIB for IP: ICMP group
     66  */
     67 enum
     68 {
     69 	ICMP_MIB_NUM = 0,
     70 	ICMP_MIB_INMSGS,			/* InMsgs */
     71 	ICMP_MIB_INERRORS,			/* InErrors */
     72 	ICMP_MIB_INDESTUNREACHS,		/* InDestUnreachs */
     73 	ICMP_MIB_INTIMEEXCDS,			/* InTimeExcds */
     74 	ICMP_MIB_INPARMPROBS,			/* InParmProbs */
     75 	ICMP_MIB_INSRCQUENCHS,			/* InSrcQuenchs */
     76 	ICMP_MIB_INREDIRECTS,			/* InRedirects */
     77 	ICMP_MIB_INECHOS,			/* InEchos */
     78 	ICMP_MIB_INECHOREPS,			/* InEchoReps */
     79 	ICMP_MIB_INTIMESTAMPS,			/* InTimestamps */
     80 	ICMP_MIB_INTIMESTAMPREPS,		/* InTimestampReps */
     81 	ICMP_MIB_INADDRMASKS,			/* InAddrMasks */
     82 	ICMP_MIB_INADDRMASKREPS,		/* InAddrMaskReps */
     83 	ICMP_MIB_OUTMSGS,			/* OutMsgs */
     84 	ICMP_MIB_OUTERRORS,			/* OutErrors */
     85 	ICMP_MIB_OUTDESTUNREACHS,		/* OutDestUnreachs */
     86 	ICMP_MIB_OUTTIMEEXCDS,			/* OutTimeExcds */
     87 	ICMP_MIB_OUTPARMPROBS,			/* OutParmProbs */
     88 	ICMP_MIB_OUTSRCQUENCHS,			/* OutSrcQuenchs */
     89 	ICMP_MIB_OUTREDIRECTS,			/* OutRedirects */
     90 	ICMP_MIB_OUTECHOS,			/* OutEchos */
     91 	ICMP_MIB_OUTECHOREPS,			/* OutEchoReps */
     92 	ICMP_MIB_OUTTIMESTAMPS,			/* OutTimestamps */
     93 	ICMP_MIB_OUTTIMESTAMPREPS,		/* OutTimestampReps */
     94 	ICMP_MIB_OUTADDRMASKS,			/* OutAddrMasks */
     95 	ICMP_MIB_OUTADDRMASKREPS,		/* OutAddrMaskReps */
     96 	ICMP_MIB_CSUMERRORS,			/* InCsumErrors */
     97 	__ICMP_MIB_MAX
     98 };
     99 
    100 #define __ICMPMSG_MIB_MAX 512	/* Out+In for all 8-bit ICMP types */
    101 
    102 /* icmp6 mib definitions */
    103 /*
    104  * RFC 2466:  ICMPv6-MIB
    105  */
    106 enum
    107 {
    108 	ICMP6_MIB_NUM = 0,
    109 	ICMP6_MIB_INMSGS,			/* InMsgs */
    110 	ICMP6_MIB_INERRORS,			/* InErrors */
    111 	ICMP6_MIB_OUTMSGS,			/* OutMsgs */
    112 	ICMP6_MIB_OUTERRORS,			/* OutErrors */
    113 	ICMP6_MIB_CSUMERRORS,			/* InCsumErrors */
    114 	__ICMP6_MIB_MAX
    115 };
    116 
    117 #define __ICMP6MSG_MIB_MAX 512 /* Out+In for all 8-bit ICMPv6 types */
    118 
    119 /* tcp mib definitions */
    120 /*
    121  * RFC 1213:  MIB-II TCP group
    122  * RFC 2012 (updates 1213):  SNMPv2-MIB-TCP
    123  */
    124 enum
    125 {
    126 	TCP_MIB_NUM = 0,
    127 	TCP_MIB_RTOALGORITHM,			/* RtoAlgorithm */
    128 	TCP_MIB_RTOMIN,				/* RtoMin */
    129 	TCP_MIB_RTOMAX,				/* RtoMax */
    130 	TCP_MIB_MAXCONN,			/* MaxConn */
    131 	TCP_MIB_ACTIVEOPENS,			/* ActiveOpens */
    132 	TCP_MIB_PASSIVEOPENS,			/* PassiveOpens */
    133 	TCP_MIB_ATTEMPTFAILS,			/* AttemptFails */
    134 	TCP_MIB_ESTABRESETS,			/* EstabResets */
    135 	TCP_MIB_CURRESTAB,			/* CurrEstab */
    136 	TCP_MIB_INSEGS,				/* InSegs */
    137 	TCP_MIB_OUTSEGS,			/* OutSegs */
    138 	TCP_MIB_RETRANSSEGS,			/* RetransSegs */
    139 	TCP_MIB_INERRS,				/* InErrs */
    140 	TCP_MIB_OUTRSTS,			/* OutRsts */
    141 	TCP_MIB_CSUMERRORS,			/* InCsumErrors */
    142 	__TCP_MIB_MAX
    143 };
    144 
    145 /* udp mib definitions */
    146 /*
    147  * RFC 1213:  MIB-II UDP group
    148  * RFC 2013 (updates 1213):  SNMPv2-MIB-UDP
    149  */
    150 enum
    151 {
    152 	UDP_MIB_NUM = 0,
    153 	UDP_MIB_INDATAGRAMS,			/* InDatagrams */
    154 	UDP_MIB_NOPORTS,			/* NoPorts */
    155 	UDP_MIB_INERRORS,			/* InErrors */
    156 	UDP_MIB_OUTDATAGRAMS,			/* OutDatagrams */
    157 	UDP_MIB_RCVBUFERRORS,			/* RcvbufErrors */
    158 	UDP_MIB_SNDBUFERRORS,			/* SndbufErrors */
    159 	UDP_MIB_CSUMERRORS,			/* InCsumErrors */
    160 	UDP_MIB_IGNOREDMULTI,			/* IgnoredMulti */
    161 	__UDP_MIB_MAX
    162 };
    163 
    164 /* linux mib definitions */
    165 enum
    166 {
    167 	LINUX_MIB_NUM = 0,
    168 	LINUX_MIB_SYNCOOKIESSENT,		/* SyncookiesSent */
    169 	LINUX_MIB_SYNCOOKIESRECV,		/* SyncookiesRecv */
    170 	LINUX_MIB_SYNCOOKIESFAILED,		/* SyncookiesFailed */
    171 	LINUX_MIB_EMBRYONICRSTS,		/* EmbryonicRsts */
    172 	LINUX_MIB_PRUNECALLED,			/* PruneCalled */
    173 	LINUX_MIB_RCVPRUNED,			/* RcvPruned */
    174 	LINUX_MIB_OFOPRUNED,			/* OfoPruned */
    175 	LINUX_MIB_OUTOFWINDOWICMPS,		/* OutOfWindowIcmps */
    176 	LINUX_MIB_LOCKDROPPEDICMPS,		/* LockDroppedIcmps */
    177 	LINUX_MIB_ARPFILTER,			/* ArpFilter */
    178 	LINUX_MIB_TIMEWAITED,			/* TimeWaited */
    179 	LINUX_MIB_TIMEWAITRECYCLED,		/* TimeWaitRecycled */
    180 	LINUX_MIB_TIMEWAITKILLED,		/* TimeWaitKilled */
    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_TCPHPHITS,			/* TCPHPHits */
    189 	LINUX_MIB_TCPPUREACKS,			/* TCPPureAcks */
    190 	LINUX_MIB_TCPHPACKS,			/* TCPHPAcks */
    191 	LINUX_MIB_TCPRENORECOVERY,		/* TCPRenoRecovery */
    192 	LINUX_MIB_TCPSACKRECOVERY,		/* TCPSackRecovery */
    193 	LINUX_MIB_TCPSACKRENEGING,		/* TCPSACKReneging */
    194 	LINUX_MIB_TCPSACKREORDER,		/* TCPSACKReorder */
    195 	LINUX_MIB_TCPRENOREORDER,		/* TCPRenoReorder */
    196 	LINUX_MIB_TCPTSREORDER,			/* TCPTSReorder */
    197 	LINUX_MIB_TCPFULLUNDO,			/* TCPFullUndo */
    198 	LINUX_MIB_TCPPARTIALUNDO,		/* TCPPartialUndo */
    199 	LINUX_MIB_TCPDSACKUNDO,			/* TCPDSACKUndo */
    200 	LINUX_MIB_TCPLOSSUNDO,			/* TCPLossUndo */
    201 	LINUX_MIB_TCPLOSTRETRANSMIT,		/* TCPLostRetransmit */
    202 	LINUX_MIB_TCPRENOFAILURES,		/* TCPRenoFailures */
    203 	LINUX_MIB_TCPSACKFAILURES,		/* TCPSackFailures */
    204 	LINUX_MIB_TCPLOSSFAILURES,		/* TCPLossFailures */
    205 	LINUX_MIB_TCPFASTRETRANS,		/* TCPFastRetrans */
    206 	LINUX_MIB_TCPSLOWSTARTRETRANS,		/* TCPSlowStartRetrans */
    207 	LINUX_MIB_TCPTIMEOUTS,			/* TCPTimeouts */
    208 	LINUX_MIB_TCPLOSSPROBES,		/* TCPLossProbes */
    209 	LINUX_MIB_TCPLOSSPROBERECOVERY,		/* TCPLossProbeRecovery */
    210 	LINUX_MIB_TCPRENORECOVERYFAIL,		/* TCPRenoRecoveryFail */
    211 	LINUX_MIB_TCPSACKRECOVERYFAIL,		/* TCPSackRecoveryFail */
    212 	LINUX_MIB_TCPRCVCOLLAPSED,		/* TCPRcvCollapsed */
    213 	LINUX_MIB_TCPDSACKOLDSENT,		/* TCPDSACKOldSent */
    214 	LINUX_MIB_TCPDSACKOFOSENT,		/* TCPDSACKOfoSent */
    215 	LINUX_MIB_TCPDSACKRECV,			/* TCPDSACKRecv */
    216 	LINUX_MIB_TCPDSACKOFORECV,		/* TCPDSACKOfoRecv */
    217 	LINUX_MIB_TCPABORTONDATA,		/* TCPAbortOnData */
    218 	LINUX_MIB_TCPABORTONCLOSE,		/* TCPAbortOnClose */
    219 	LINUX_MIB_TCPABORTONMEMORY,		/* TCPAbortOnMemory */
    220 	LINUX_MIB_TCPABORTONTIMEOUT,		/* TCPAbortOnTimeout */
    221 	LINUX_MIB_TCPABORTONLINGER,		/* TCPAbortOnLinger */
    222 	LINUX_MIB_TCPABORTFAILED,		/* TCPAbortFailed */
    223 	LINUX_MIB_TCPMEMORYPRESSURES,		/* TCPMemoryPressures */
    224 	LINUX_MIB_TCPMEMORYPRESSURESCHRONO,	/* TCPMemoryPressuresChrono */
    225 	LINUX_MIB_TCPSACKDISCARD,		/* TCPSACKDiscard */
    226 	LINUX_MIB_TCPDSACKIGNOREDOLD,		/* TCPSACKIgnoredOld */
    227 	LINUX_MIB_TCPDSACKIGNOREDNOUNDO,	/* TCPSACKIgnoredNoUndo */
    228 	LINUX_MIB_TCPSPURIOUSRTOS,		/* TCPSpuriousRTOs */
    229 	LINUX_MIB_TCPMD5NOTFOUND,		/* TCPMD5NotFound */
    230 	LINUX_MIB_TCPMD5UNEXPECTED,		/* TCPMD5Unexpected */
    231 	LINUX_MIB_TCPMD5FAILURE,		/* TCPMD5Failure */
    232 	LINUX_MIB_SACKSHIFTED,
    233 	LINUX_MIB_SACKMERGED,
    234 	LINUX_MIB_SACKSHIFTFALLBACK,
    235 	LINUX_MIB_TCPBACKLOGDROP,
    236 	LINUX_MIB_PFMEMALLOCDROP,
    237 	LINUX_MIB_TCPMINTTLDROP, /* RFC 5082 */
    238 	LINUX_MIB_TCPDEFERACCEPTDROP,
    239 	LINUX_MIB_IPRPFILTER, /* IP Reverse Path Filter (rp_filter) */
    240 	LINUX_MIB_TCPTIMEWAITOVERFLOW,		/* TCPTimeWaitOverflow */
    241 	LINUX_MIB_TCPREQQFULLDOCOOKIES,		/* TCPReqQFullDoCookies */
    242 	LINUX_MIB_TCPREQQFULLDROP,		/* TCPReqQFullDrop */
    243 	LINUX_MIB_TCPRETRANSFAIL,		/* TCPRetransFail */
    244 	LINUX_MIB_TCPRCVCOALESCE,		/* TCPRcvCoalesce */
    245 	LINUX_MIB_TCPOFOQUEUE,			/* TCPOFOQueue */
    246 	LINUX_MIB_TCPOFODROP,			/* TCPOFODrop */
    247 	LINUX_MIB_TCPOFOMERGE,			/* TCPOFOMerge */
    248 	LINUX_MIB_TCPCHALLENGEACK,		/* TCPChallengeACK */
    249 	LINUX_MIB_TCPSYNCHALLENGE,		/* TCPSYNChallenge */
    250 	LINUX_MIB_TCPFASTOPENACTIVE,		/* TCPFastOpenActive */
    251 	LINUX_MIB_TCPFASTOPENACTIVEFAIL,	/* TCPFastOpenActiveFail */
    252 	LINUX_MIB_TCPFASTOPENPASSIVE,		/* TCPFastOpenPassive*/
    253 	LINUX_MIB_TCPFASTOPENPASSIVEFAIL,	/* TCPFastOpenPassiveFail */
    254 	LINUX_MIB_TCPFASTOPENLISTENOVERFLOW,	/* TCPFastOpenListenOverflow */
    255 	LINUX_MIB_TCPFASTOPENCOOKIEREQD,	/* TCPFastOpenCookieReqd */
    256 	LINUX_MIB_TCPFASTOPENBLACKHOLE,		/* TCPFastOpenBlackholeDetect */
    257 	LINUX_MIB_TCPSPURIOUS_RTX_HOSTQUEUES, /* TCPSpuriousRtxHostQueues */
    258 	LINUX_MIB_BUSYPOLLRXPACKETS,		/* BusyPollRxPackets */
    259 	LINUX_MIB_TCPAUTOCORKING,		/* TCPAutoCorking */
    260 	LINUX_MIB_TCPFROMZEROWINDOWADV,		/* TCPFromZeroWindowAdv */
    261 	LINUX_MIB_TCPTOZEROWINDOWADV,		/* TCPToZeroWindowAdv */
    262 	LINUX_MIB_TCPWANTZEROWINDOWADV,		/* TCPWantZeroWindowAdv */
    263 	LINUX_MIB_TCPSYNRETRANS,		/* TCPSynRetrans */
    264 	LINUX_MIB_TCPORIGDATASENT,		/* TCPOrigDataSent */
    265 	LINUX_MIB_TCPHYSTARTTRAINDETECT,	/* TCPHystartTrainDetect */
    266 	LINUX_MIB_TCPHYSTARTTRAINCWND,		/* TCPHystartTrainCwnd */
    267 	LINUX_MIB_TCPHYSTARTDELAYDETECT,	/* TCPHystartDelayDetect */
    268 	LINUX_MIB_TCPHYSTARTDELAYCWND,		/* TCPHystartDelayCwnd */
    269 	LINUX_MIB_TCPACKSKIPPEDSYNRECV,		/* TCPACKSkippedSynRecv */
    270 	LINUX_MIB_TCPACKSKIPPEDPAWS,		/* TCPACKSkippedPAWS */
    271 	LINUX_MIB_TCPACKSKIPPEDSEQ,		/* TCPACKSkippedSeq */
    272 	LINUX_MIB_TCPACKSKIPPEDFINWAIT2,	/* TCPACKSkippedFinWait2 */
    273 	LINUX_MIB_TCPACKSKIPPEDTIMEWAIT,	/* TCPACKSkippedTimeWait */
    274 	LINUX_MIB_TCPACKSKIPPEDCHALLENGE,	/* TCPACKSkippedChallenge */
    275 	LINUX_MIB_TCPWINPROBE,			/* TCPWinProbe */
    276 	LINUX_MIB_TCPKEEPALIVE,			/* TCPKeepAlive */
    277 	LINUX_MIB_TCPMTUPFAIL,			/* TCPMTUPFail */
    278 	LINUX_MIB_TCPMTUPSUCCESS,		/* TCPMTUPSuccess */
    279 	__LINUX_MIB_MAX
    280 };
    281 
    282 /* linux Xfrm mib definitions */
    283 enum
    284 {
    285 	LINUX_MIB_XFRMNUM = 0,
    286 	LINUX_MIB_XFRMINERROR,			/* XfrmInError */
    287 	LINUX_MIB_XFRMINBUFFERERROR,		/* XfrmInBufferError */
    288 	LINUX_MIB_XFRMINHDRERROR,		/* XfrmInHdrError */
    289 	LINUX_MIB_XFRMINNOSTATES,		/* XfrmInNoStates */
    290 	LINUX_MIB_XFRMINSTATEPROTOERROR,	/* XfrmInStateProtoError */
    291 	LINUX_MIB_XFRMINSTATEMODEERROR,		/* XfrmInStateModeError */
    292 	LINUX_MIB_XFRMINSTATESEQERROR,		/* XfrmInStateSeqError */
    293 	LINUX_MIB_XFRMINSTATEEXPIRED,		/* XfrmInStateExpired */
    294 	LINUX_MIB_XFRMINSTATEMISMATCH,		/* XfrmInStateMismatch */
    295 	LINUX_MIB_XFRMINSTATEINVALID,		/* XfrmInStateInvalid */
    296 	LINUX_MIB_XFRMINTMPLMISMATCH,		/* XfrmInTmplMismatch */
    297 	LINUX_MIB_XFRMINNOPOLS,			/* XfrmInNoPols */
    298 	LINUX_MIB_XFRMINPOLBLOCK,		/* XfrmInPolBlock */
    299 	LINUX_MIB_XFRMINPOLERROR,		/* XfrmInPolError */
    300 	LINUX_MIB_XFRMOUTERROR,			/* XfrmOutError */
    301 	LINUX_MIB_XFRMOUTBUNDLEGENERROR,	/* XfrmOutBundleGenError */
    302 	LINUX_MIB_XFRMOUTBUNDLECHECKERROR,	/* XfrmOutBundleCheckError */
    303 	LINUX_MIB_XFRMOUTNOSTATES,		/* XfrmOutNoStates */
    304 	LINUX_MIB_XFRMOUTSTATEPROTOERROR,	/* XfrmOutStateProtoError */
    305 	LINUX_MIB_XFRMOUTSTATEMODEERROR,	/* XfrmOutStateModeError */
    306 	LINUX_MIB_XFRMOUTSTATESEQERROR,		/* XfrmOutStateSeqError */
    307 	LINUX_MIB_XFRMOUTSTATEEXPIRED,		/* XfrmOutStateExpired */
    308 	LINUX_MIB_XFRMOUTPOLBLOCK,		/* XfrmOutPolBlock */
    309 	LINUX_MIB_XFRMOUTPOLDEAD,		/* XfrmOutPolDead */
    310 	LINUX_MIB_XFRMOUTPOLERROR,		/* XfrmOutPolError */
    311 	LINUX_MIB_XFRMFWDHDRERROR,		/* XfrmFwdHdrError*/
    312 	LINUX_MIB_XFRMOUTSTATEINVALID,		/* XfrmOutStateInvalid */
    313 	LINUX_MIB_XFRMACQUIREERROR,		/* XfrmAcquireError */
    314 	__LINUX_MIB_XFRMMAX
    315 };
    316 
    317 #endif	/* _LINUX_SNMP_H */
    318