1 /* $OpenBSD: mib.c,v 1.1 2019/08/09 06:17:59 martijn Exp $ */ 2 3 /* 4 * Copyright (c) 2012 Joel Knight <joel@openbsd.org> 5 * Copyright (c) 2007, 2008, 2012 Reyk Floeter <reyk@openbsd.org> 6 * 7 * Permission to use, copy, modify, and distribute this software for any 8 * purpose with or without fee is hereby granted, provided that the above 9 * copyright notice and this permission notice appear in all copies. 10 * 11 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 12 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 13 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 14 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 15 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 16 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 17 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 18 */ 19 20 21 #include <sys/tree.h> 22 #include <sys/types.h> 23 #include <sys/queue.h> 24 25 #include "ber.h" 26 #include "mib.h" 27 #include "smi.h" 28 29 static struct oid mib_tree[] = MIB_TREE; 30 static struct oid base_mib[] = { 31 { MIB(mib_2), OID_MIB }, 32 { MIB(sysDescr), OID_RD }, 33 { MIB(sysOID), OID_RD }, 34 { MIB(sysUpTime), OID_RD }, 35 { MIB(sysContact), OID_RW }, 36 { MIB(sysName), OID_RW }, 37 { MIB(sysLocation), OID_RW }, 38 { MIB(sysServices), OID_RS }, 39 { MIB(sysORLastChange), OID_RD }, 40 { MIB(sysORIndex), OID_TRD }, 41 { MIB(sysORID), OID_TRD }, 42 { MIB(sysORDescr), OID_TRD }, 43 { MIB(sysORUpTime), OID_TRD }, 44 { MIB(snmp), OID_MIB }, 45 { MIB(snmpInPkts), OID_RD }, 46 { MIB(snmpOutPkts), OID_RD }, 47 { MIB(snmpInBadVersions), OID_RD }, 48 { MIB(snmpInBadCommunityNames), OID_RD }, 49 { MIB(snmpInBadCommunityUses), OID_RD }, 50 { MIB(snmpInASNParseErrs), OID_RD }, 51 { MIB(snmpInTooBigs), OID_RD }, 52 { MIB(snmpInNoSuchNames), OID_RD }, 53 { MIB(snmpInBadValues), OID_RD }, 54 { MIB(snmpInReadOnlys), OID_RD }, 55 { MIB(snmpInGenErrs), OID_RD }, 56 { MIB(snmpInTotalReqVars), OID_RD }, 57 { MIB(snmpInTotalSetVars), OID_RD }, 58 { MIB(snmpInGetRequests), OID_RD }, 59 { MIB(snmpInGetNexts), OID_RD }, 60 { MIB(snmpInSetRequests), OID_RD }, 61 { MIB(snmpInGetResponses), OID_RD }, 62 { MIB(snmpInTraps), OID_RD }, 63 { MIB(snmpOutTooBigs), OID_RD }, 64 { MIB(snmpOutNoSuchNames), OID_RD }, 65 { MIB(snmpOutBadValues), OID_RD }, 66 { MIB(snmpOutGenErrs), OID_RD }, 67 { MIB(snmpOutGetRequests), OID_RD }, 68 { MIB(snmpOutGetNexts), OID_RD }, 69 { MIB(snmpOutSetRequests), OID_RD }, 70 { MIB(snmpOutGetResponses), OID_RD }, 71 { MIB(snmpOutTraps), OID_RD }, 72 { MIB(snmpEnableAuthenTraps), OID_RW }, 73 { MIB(snmpSilentDrops), OID_RD }, 74 { MIB(snmpProxyDrops), OID_RD }, 75 { MIBEND } 76 }; 77 78 static struct oid usm_mib[] = { 79 { MIB(snmpEngine), OID_MIB }, 80 { MIB(snmpEngineID), OID_RD }, 81 { MIB(snmpEngineBoots), OID_RD }, 82 { MIB(snmpEngineTime), OID_RD }, 83 { MIB(snmpEngineMaxMsgSize), OID_RD }, 84 { MIB(usmStats), OID_MIB }, 85 { MIB(usmStatsUnsupportedSecLevels), OID_RD }, 86 { MIB(usmStatsNotInTimeWindow), OID_RD }, 87 { MIB(usmStatsUnknownUserNames), OID_RD }, 88 { MIB(usmStatsUnknownEngineId), OID_RD }, 89 { MIB(usmStatsWrongDigests), OID_RD }, 90 { MIB(usmStatsDecryptionErrors), OID_RD }, 91 { MIBEND } 92 }; 93 94 static struct oid hr_mib[] = { 95 { MIB(host), OID_MIB }, 96 { MIB(hrSystemUptime), OID_RD }, 97 { MIB(hrSystemDate), OID_RD }, 98 { MIB(hrSystemProcesses), OID_RD }, 99 { MIB(hrSystemMaxProcesses), OID_RD }, 100 { MIB(hrMemorySize), OID_RD }, 101 { MIB(hrStorageIndex), OID_TRD }, 102 { MIB(hrStorageType), OID_TRD }, 103 { MIB(hrStorageDescr), OID_TRD }, 104 { MIB(hrStorageAllocationUnits), OID_TRD }, 105 { MIB(hrStorageSize), OID_TRD }, 106 { MIB(hrStorageUsed), OID_TRD }, 107 { MIB(hrStorageAllocationFailures), OID_TRD }, 108 { MIB(hrDeviceIndex), OID_TRD }, 109 { MIB(hrDeviceType), OID_TRD }, 110 { MIB(hrDeviceDescr), OID_TRD }, 111 { MIB(hrDeviceID), OID_TRD }, 112 { MIB(hrDeviceStatus), OID_TRD }, 113 { MIB(hrDeviceErrors), OID_TRD }, 114 { MIB(hrProcessorFrwID), OID_TRD }, 115 { MIB(hrProcessorLoad), OID_TRD }, 116 { MIB(hrSWRunIndex), OID_TRD }, 117 { MIB(hrSWRunName), OID_TRD }, 118 { MIB(hrSWRunID), OID_TRD }, 119 { MIB(hrSWRunPath), OID_TRD }, 120 { MIB(hrSWRunParameters), OID_TRD }, 121 { MIB(hrSWRunType), OID_TRD }, 122 { MIB(hrSWRunStatus), OID_TRD }, 123 { MIBEND } 124 }; 125 126 static struct oid if_mib[] = { 127 { MIB(ifMIB), OID_MIB }, 128 { MIB(ifName), OID_TRD }, 129 { MIB(ifInMulticastPkts), OID_TRD }, 130 { MIB(ifInBroadcastPkts), OID_TRD }, 131 { MIB(ifOutMulticastPkts), OID_TRD }, 132 { MIB(ifOutBroadcastPkts), OID_TRD }, 133 { MIB(ifHCInOctets), OID_TRD }, 134 { MIB(ifHCInUcastPkts), OID_TRD }, 135 { MIB(ifHCInMulticastPkts), OID_TRD }, 136 { MIB(ifHCInBroadcastPkts), OID_TRD }, 137 { MIB(ifHCOutOctets), OID_TRD }, 138 { MIB(ifHCOutUcastPkts), OID_TRD }, 139 { MIB(ifHCOutMulticastPkts), OID_TRD }, 140 { MIB(ifHCOutBroadcastPkts), OID_TRD }, 141 { MIB(ifLinkUpDownTrapEnable), OID_TRD }, 142 { MIB(ifHighSpeed), OID_TRD }, 143 { MIB(ifPromiscuousMode), OID_TRD }, 144 { MIB(ifConnectorPresent), OID_TRD }, 145 { MIB(ifAlias), OID_TRD }, 146 { MIB(ifCounterDiscontinuityTime), OID_TRD }, 147 { MIB(ifRcvAddressStatus), OID_TRD }, 148 { MIB(ifRcvAddressType), OID_TRD }, 149 { MIB(ifStackLastChange), OID_RD }, 150 { MIB(ifNumber), OID_RD }, 151 { MIB(ifIndex), OID_TRD }, 152 { MIB(ifDescr), OID_TRD }, 153 { MIB(ifType), OID_TRD }, 154 { MIB(ifMtu), OID_TRD }, 155 { MIB(ifSpeed), OID_TRD }, 156 { MIB(ifPhysAddress), OID_TRD }, 157 { MIB(ifAdminStatus), OID_TRD }, 158 { MIB(ifOperStatus), OID_TRD }, 159 { MIB(ifLastChange), OID_TRD }, 160 { MIB(ifInOctets), OID_TRD }, 161 { MIB(ifInUcastPkts), OID_TRD }, 162 { MIB(ifInNUcastPkts), OID_TRD }, 163 { MIB(ifInDiscards), OID_TRD }, 164 { MIB(ifInErrors), OID_TRD }, 165 { MIB(ifInUnknownProtos), OID_TRD }, 166 { MIB(ifOutOctets), OID_TRD }, 167 { MIB(ifOutUcastPkts), OID_TRD }, 168 { MIB(ifOutNUcastPkts), OID_TRD }, 169 { MIB(ifOutDiscards), OID_TRD }, 170 { MIB(ifOutErrors), OID_TRD }, 171 { MIB(ifOutQLen), OID_TRD }, 172 { MIB(ifSpecific), OID_TRD }, 173 { MIBEND } 174 }; 175 176 static struct oid ip_mib[] = { 177 { MIB(ipMIB), OID_MIB }, 178 { MIB(ipForwarding), OID_RD }, 179 { MIB(ipDefaultTTL), OID_RD }, 180 { MIB(ipInReceives), OID_RD }, 181 { MIB(ipInHdrErrors), OID_RD }, 182 { MIB(ipInAddrErrors), OID_RD }, 183 { MIB(ipForwDatagrams), OID_RD }, 184 { MIB(ipInUnknownProtos), OID_RD }, 185 { MIB(ipInDelivers), OID_RD }, 186 { MIB(ipOutRequests), OID_RD }, 187 { MIB(ipOutDiscards), OID_RD }, 188 { MIB(ipOutNoRoutes), OID_RD }, 189 { MIB(ipReasmTimeout), OID_RD }, 190 { MIB(ipReasmReqds), OID_RD }, 191 { MIB(ipReasmOKs), OID_RD }, 192 { MIB(ipReasmFails), OID_RD }, 193 { MIB(ipFragOKs), OID_RD }, 194 { MIB(ipFragFails), OID_RD }, 195 { MIB(ipFragCreates), OID_RD }, 196 { MIB(ipAdEntAddr), OID_TRD }, 197 { MIB(ipAdEntIfIndex), OID_TRD }, 198 { MIB(ipAdEntNetMask), OID_TRD }, 199 { MIB(ipAdEntBcastAddr), OID_TRD }, 200 { MIB(ipAdEntReasmMaxSize), OID_TRD }, 201 { MIB(ipNetToMediaIfIndex), OID_TRD }, 202 { MIB(ipNetToMediaPhysAddress), OID_TRD }, 203 { MIB(ipNetToMediaNetAddress), OID_TRD }, 204 { MIB(ipNetToMediaType), OID_TRD }, 205 { MIBEND } 206 }; 207 208 static struct oid ipf_mib[] = { 209 { MIB(ipfMIB), OID_MIB }, 210 { MIB(ipfInetCidrRouteNumber), OID_RD }, 211 { MIB(ipfRouteEntIfIndex), OID_TRD }, 212 { MIB(ipfRouteEntType), OID_TRD }, 213 { MIB(ipfRouteEntProto), OID_TRD }, 214 { MIB(ipfRouteEntAge), OID_TRD }, 215 { MIB(ipfRouteEntNextHopAS), OID_TRD }, 216 { MIB(ipfRouteEntRouteMetric1), OID_TRD }, 217 { MIB(ipfRouteEntRouteMetric2), OID_TRD }, 218 { MIB(ipfRouteEntRouteMetric3), OID_TRD }, 219 { MIB(ipfRouteEntRouteMetric4), OID_TRD }, 220 { MIB(ipfRouteEntRouteMetric5), OID_TRD }, 221 { MIB(ipfRouteEntStatus), OID_TRD }, 222 { MIBEND } 223 }; 224 225 static struct oid bridge_mib[] = { 226 { MIB(dot1dBridge), OID_MIB }, 227 { MIB(dot1dBaseBridgeAddress) }, 228 { MIB(dot1dBaseNumPorts), OID_RD }, 229 { MIB(dot1dBaseType), OID_RD }, 230 { MIB(dot1dBasePort), OID_TRD }, 231 { MIB(dot1dBasePortIfIndex), OID_TRD }, 232 { MIB(dot1dBasePortCircuit), OID_TRD}, 233 { MIB(dot1dBasePortDelayExceededDiscards), OID_TRD }, 234 { MIB(dot1dBasePortMtuExceededDiscards), OID_TRD }, 235 { MIBEND } 236 }; 237 238 static struct oid diskio_mib[] = { 239 { MIB(ucdDiskIOMIB), OID_MIB }, 240 { MIB(diskIOIndex), OID_TRD }, 241 { MIB(diskIODevice), OID_TRD }, 242 { MIB(diskIONRead), OID_TRD }, 243 { MIB(diskIONWritten), OID_TRD }, 244 { MIB(diskIOReads), OID_TRD }, 245 { MIB(diskIOWrites), OID_TRD }, 246 { MIB(diskIONReadX), OID_TRD }, 247 { MIB(diskIONWrittenX), OID_TRD }, 248 { MIBEND } 249 }; 250 251 static struct oid openbsd_mib[] = { 252 { MIB(pfMIBObjects), OID_MIB }, 253 { MIB(pfRunning), OID_RD }, 254 { MIB(pfRuntime), OID_RD }, 255 { MIB(pfDebug), OID_RD }, 256 { MIB(pfHostid), OID_RD }, 257 { MIB(pfCntMatch), OID_RD }, 258 { MIB(pfCntBadOffset), OID_RD }, 259 { MIB(pfCntFragment), OID_RD }, 260 { MIB(pfCntShort), OID_RD }, 261 { MIB(pfCntNormalize), OID_RD }, 262 { MIB(pfCntMemory), OID_RD }, 263 { MIB(pfCntTimestamp), OID_RD }, 264 { MIB(pfCntCongestion), OID_RD }, 265 { MIB(pfCntIpOptions), OID_RD }, 266 { MIB(pfCntProtoCksum), OID_RD }, 267 { MIB(pfCntStateMismatch), OID_RD }, 268 { MIB(pfCntStateInsert), OID_RD }, 269 { MIB(pfCntStateLimit), OID_RD }, 270 { MIB(pfCntSrcLimit), OID_RD }, 271 { MIB(pfCntSynproxy), OID_RD }, 272 { MIB(pfCntTranslate), OID_RD }, 273 { MIB(pfCntNoRoute), OID_RD }, 274 { MIB(pfStateCount), OID_RD }, 275 { MIB(pfStateSearches), OID_RD }, 276 { MIB(pfStateInserts), OID_RD }, 277 { MIB(pfStateRemovals), OID_RD }, 278 { MIB(pfLogIfName), OID_RD }, 279 { MIB(pfLogIfIpBytesIn), OID_RD }, 280 { MIB(pfLogIfIpBytesOut), OID_RD }, 281 { MIB(pfLogIfIpPktsInPass), OID_RD }, 282 { MIB(pfLogIfIpPktsInDrop), OID_RD }, 283 { MIB(pfLogIfIpPktsOutPass), OID_RD }, 284 { MIB(pfLogIfIpPktsOutDrop), OID_RD }, 285 { MIB(pfLogIfIp6BytesIn), OID_RD }, 286 { MIB(pfLogIfIp6BytesOut), OID_RD }, 287 { MIB(pfLogIfIp6PktsInPass), OID_RD }, 288 { MIB(pfLogIfIp6PktsInDrop), OID_RD }, 289 { MIB(pfLogIfIp6PktsOutPass), OID_RD }, 290 { MIB(pfLogIfIp6PktsOutDrop), OID_RD }, 291 { MIB(pfSrcTrackCount), OID_RD }, 292 { MIB(pfSrcTrackSearches), OID_RD }, 293 { MIB(pfSrcTrackInserts), OID_RD }, 294 { MIB(pfSrcTrackRemovals), OID_RD }, 295 { MIB(pfLimitStates), OID_RD }, 296 { MIB(pfLimitSourceNodes), OID_RD }, 297 { MIB(pfLimitFragments), OID_RD }, 298 { MIB(pfLimitMaxTables), OID_RD }, 299 { MIB(pfLimitMaxTableEntries), OID_RD }, 300 { MIB(pfTimeoutTcpFirst), OID_RD }, 301 { MIB(pfTimeoutTcpOpening), OID_RD }, 302 { MIB(pfTimeoutTcpEstablished), OID_RD }, 303 { MIB(pfTimeoutTcpClosing), OID_RD }, 304 { MIB(pfTimeoutTcpFinWait), OID_RD }, 305 { MIB(pfTimeoutTcpClosed), OID_RD }, 306 { MIB(pfTimeoutUdpFirst), OID_RD }, 307 { MIB(pfTimeoutUdpSingle), OID_RD }, 308 { MIB(pfTimeoutUdpMultiple), OID_RD }, 309 { MIB(pfTimeoutIcmpFirst), OID_RD }, 310 { MIB(pfTimeoutIcmpError), OID_RD }, 311 { MIB(pfTimeoutOtherFirst), OID_RD }, 312 { MIB(pfTimeoutOtherSingle), OID_RD }, 313 { MIB(pfTimeoutOtherMultiple), OID_RD }, 314 { MIB(pfTimeoutFragment), OID_RD }, 315 { MIB(pfTimeoutInterval), OID_RD }, 316 { MIB(pfTimeoutAdaptiveStart), OID_RD }, 317 { MIB(pfTimeoutAdaptiveEnd), OID_RD }, 318 { MIB(pfTimeoutSrcTrack), OID_RD }, 319 { MIB(pfIfNumber), OID_RD }, 320 { MIB(pfIfIndex), OID_TRD }, 321 { MIB(pfIfDescr), OID_TRD }, 322 { MIB(pfIfType), OID_TRD }, 323 { MIB(pfIfRefs), OID_TRD }, 324 { MIB(pfIfRules), OID_TRD }, 325 { MIB(pfIfIn4PassPkts), OID_TRD }, 326 { MIB(pfIfIn4PassBytes), OID_TRD }, 327 { MIB(pfIfIn4BlockPkts), OID_TRD }, 328 { MIB(pfIfIn4BlockBytes), OID_TRD }, 329 { MIB(pfIfOut4PassPkts), OID_TRD }, 330 { MIB(pfIfOut4PassBytes), OID_TRD }, 331 { MIB(pfIfOut4BlockPkts), OID_TRD }, 332 { MIB(pfIfOut4BlockBytes), OID_TRD }, 333 { MIB(pfIfIn6PassPkts), OID_TRD }, 334 { MIB(pfIfIn6PassBytes), OID_TRD }, 335 { MIB(pfIfIn6BlockPkts), OID_TRD }, 336 { MIB(pfIfIn6BlockBytes), OID_TRD }, 337 { MIB(pfIfOut6PassPkts), OID_TRD }, 338 { MIB(pfIfOut6PassBytes), OID_TRD }, 339 { MIB(pfIfOut6BlockPkts), OID_TRD }, 340 { MIB(pfIfOut6BlockBytes), OID_TRD }, 341 { MIB(pfTblNumber), OID_RD }, 342 { MIB(pfTblIndex), OID_TRD }, 343 { MIB(pfTblName), OID_TRD }, 344 { MIB(pfTblAddresses), OID_TRD }, 345 { MIB(pfTblAnchorRefs), OID_TRD }, 346 { MIB(pfTblRuleRefs), OID_TRD }, 347 { MIB(pfTblEvalsMatch), OID_TRD }, 348 { MIB(pfTblEvalsNoMatch), OID_TRD }, 349 { MIB(pfTblInPassPkts), OID_TRD }, 350 { MIB(pfTblInPassBytes), OID_TRD }, 351 { MIB(pfTblInBlockPkts), OID_TRD }, 352 { MIB(pfTblInBlockBytes), OID_TRD }, 353 { MIB(pfTblInXPassPkts), OID_TRD }, 354 { MIB(pfTblInXPassBytes), OID_TRD }, 355 { MIB(pfTblOutPassPkts), OID_TRD }, 356 { MIB(pfTblOutPassBytes), OID_TRD }, 357 { MIB(pfTblOutBlockPkts), OID_TRD }, 358 { MIB(pfTblOutBlockBytes), OID_TRD }, 359 { MIB(pfTblOutXPassPkts), OID_TRD }, 360 { MIB(pfTblOutXPassBytes), OID_TRD }, 361 { MIB(pfTblStatsCleared), OID_TRD }, 362 { MIB(pfTblInMatchPkts), OID_TRD }, 363 { MIB(pfTblInMatchBytes), OID_TRD }, 364 { MIB(pfTblOutMatchPkts), OID_TRD }, 365 { MIB(pfTblOutMatchBytes), OID_TRD }, 366 { MIB(pfTblAddrTblIndex), OID_TRD }, 367 { MIB(pfTblAddrNet), OID_TRD }, 368 { MIB(pfTblAddrMask), OID_TRD }, 369 { MIB(pfTblAddrCleared), OID_TRD }, 370 { MIB(pfTblAddrInBlockPkts), OID_TRD }, 371 { MIB(pfTblAddrInBlockBytes), OID_TRD }, 372 { MIB(pfTblAddrInPassPkts), OID_TRD }, 373 { MIB(pfTblAddrInPassBytes), OID_TRD }, 374 { MIB(pfTblAddrOutBlockPkts), OID_TRD }, 375 { MIB(pfTblAddrOutBlockBytes), OID_TRD }, 376 { MIB(pfTblAddrOutPassPkts), OID_TRD }, 377 { MIB(pfTblAddrOutPassBytes), OID_TRD }, 378 { MIB(pfTblAddrInMatchPkts), OID_TRD }, 379 { MIB(pfTblAddrInMatchBytes), OID_TRD }, 380 { MIB(pfTblAddrOutMatchPkts), OID_TRD }, 381 { MIB(pfTblAddrOutMatchBytes), OID_TRD }, 382 { MIB(pfLabelNumber), OID_RD }, 383 { MIB(pfLabelIndex), OID_TRD }, 384 { MIB(pfLabelName), OID_TRD }, 385 { MIB(pfLabelEvals), OID_TRD }, 386 { MIB(pfLabelPkts), OID_TRD }, 387 { MIB(pfLabelBytes), OID_TRD }, 388 { MIB(pfLabelInPkts), OID_TRD }, 389 { MIB(pfLabelInBytes), OID_TRD }, 390 { MIB(pfLabelOutPkts), OID_TRD }, 391 { MIB(pfLabelOutBytes), OID_TRD }, 392 { MIB(pfLabelTotalStates), OID_TRD }, 393 { MIB(pfsyncIpPktsRecv), OID_RD }, 394 { MIB(pfsyncIp6PktsRecv), OID_RD }, 395 { MIB(pfsyncPktDiscardsForBadInterface), OID_RD }, 396 { MIB(pfsyncPktDiscardsForBadTtl), OID_RD }, 397 { MIB(pfsyncPktShorterThanHeader), OID_RD }, 398 { MIB(pfsyncPktDiscardsForBadVersion), OID_RD }, 399 { MIB(pfsyncPktDiscardsForBadAction), OID_RD }, 400 { MIB(pfsyncPktDiscardsForBadLength), OID_RD }, 401 { MIB(pfsyncPktDiscardsForBadAuth), OID_RD }, 402 { MIB(pfsyncPktDiscardsForStaleState), OID_RD }, 403 { MIB(pfsyncPktDiscardsForBadValues), OID_RD }, 404 { MIB(pfsyncPktDiscardsForBadState), OID_RD }, 405 { MIB(pfsyncIpPktsSent), OID_RD }, 406 { MIB(pfsyncIp6PktsSent), OID_RD }, 407 { MIB(pfsyncNoMemory), OID_RD }, 408 { MIB(pfsyncOutputErrors), OID_RD }, 409 { MIB(sensorsMIBObjects), OID_MIB }, 410 { MIB(sensorNumber), OID_RD }, 411 { MIB(sensorIndex), OID_TRD }, 412 { MIB(sensorDescr), OID_TRD }, 413 { MIB(sensorType), OID_TRD }, 414 { MIB(sensorDevice), OID_TRD }, 415 { MIB(sensorValue), OID_TRD }, 416 { MIB(sensorUnits), OID_TRD }, 417 { MIB(sensorStatus), OID_TRD }, 418 { MIB(carpMIBObjects), OID_MIB }, 419 { MIB(carpAllow), OID_RD }, 420 { MIB(carpPreempt), OID_RD }, 421 { MIB(carpLog), OID_RD }, 422 { MIB(carpIpPktsRecv), OID_RD }, 423 { MIB(carpIp6PktsRecv), OID_RD }, 424 { MIB(carpPktDiscardsBadIface), OID_RD }, 425 { MIB(carpPktDiscardsBadTtl), OID_RD }, 426 { MIB(carpPktShorterThanHdr), OID_RD }, 427 { MIB(carpDiscardsBadCksum), OID_RD }, 428 { MIB(carpDiscardsBadVersion), OID_RD }, 429 { MIB(carpDiscardsTooShort), OID_RD }, 430 { MIB(carpDiscardsBadAuth), OID_RD }, 431 { MIB(carpDiscardsBadVhid), OID_RD }, 432 { MIB(carpDiscardsBadAddrList), OID_RD }, 433 { MIB(carpIpPktsSent), OID_RD }, 434 { MIB(carpIp6PktsSent), OID_RD }, 435 { MIB(carpNoMemory), OID_RD }, 436 { MIB(carpTransitionsToMaster), OID_RD }, 437 { MIB(carpIfNumber), OID_RD }, 438 { MIB(carpIfIndex), OID_TRD }, 439 { MIB(carpIfDescr), OID_TRD }, 440 { MIB(carpIfVhid), OID_TRD }, 441 { MIB(carpIfDev ), OID_TRD }, 442 { MIB(carpIfAdvbase), OID_TRD }, 443 { MIB(carpIfAdvskew), OID_TRD }, 444 { MIB(carpIfState), OID_TRD }, 445 { MIB(carpGroupName), OID_TRD }, 446 { MIB(carpGroupDemote), OID_TRD }, 447 { MIB(memMIBObjects), OID_MIB }, 448 { MIB(memMIBVersion), OID_RD }, 449 { MIB(memIfName), OID_TRD }, 450 { MIB(memIfLiveLocks), OID_TRD }, 451 { MIBEND } 452 }; 453 454 void 455 mib_init(void) 456 { 457 /* 458 * MIB declarations (to register the OID names) 459 */ 460 smi_mibtree(mib_tree); 461 462 /* 463 * MIB definitions (the implementation) 464 */ 465 466 /* SNMPv2-MIB */ 467 smi_mibtree(base_mib); 468 469 /* SNMP-USER-BASED-SM-MIB */ 470 smi_mibtree(usm_mib); 471 472 /* HOST-RESOURCES-MIB */ 473 smi_mibtree(hr_mib); 474 475 /* IF-MIB */ 476 smi_mibtree(if_mib); 477 478 /* IP-MIB */ 479 smi_mibtree(ip_mib); 480 481 /* IP-FORWARD-MIB */ 482 smi_mibtree(ipf_mib); 483 484 /* BRIDGE-MIB */ 485 smi_mibtree(bridge_mib); 486 487 /* UCD-DISKIO-MIB */ 488 smi_mibtree(diskio_mib); 489 490 /* OPENBSD-MIB */ 491 smi_mibtree(openbsd_mib); 492 } 493