1-- 2-- Copyright (c) 2001-2003 3-- Fraunhofer Institute for Open Communication Systems (FhG Fokus). 4-- All rights reserved. 5-- 6-- Author: Harti Brandt <harti@freebsd.org> 7-- 8-- Redistribution and use in source and binary forms, with or without 9-- modification, are permitted provided that the following conditions 10-- are met: 11-- 1. Redistributions of source code must retain the above copyright 12-- notice, this list of conditions and the following disclaimer. 13-- 2. Redistributions in binary form must reproduce the above copyright 14-- notice, this list of conditions and the following disclaimer in the 15-- documentation and/or other materials provided with the distribution. 16-- 17-- THIS SOFTWARE IS PROVIDED BY AUTHOR AND CONTRIBUTORS ``AS IS'' AND 18-- ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 19-- IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 20-- ARE DISCLAIMED. IN NO EVENT SHALL AUTHOR OR CONTRIBUTORS BE LIABLE 21-- FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 22-- DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 23-- OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 24-- HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 25-- LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 26-- OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 27-- SUCH DAMAGE. 28-- 29-- $Begemot: bsnmp/snmpd/BEGEMOT-SNMPD.txt,v 1.23 2004/08/06 08:47:08 brandt Exp $ 30-- 31-- Begemot Private SNMPd MIB. 32-- 33BEGEMOT-SNMPD-MIB DEFINITIONS ::= BEGIN 34 35IMPORTS 36 MODULE-IDENTITY, OBJECT-TYPE, OBJECT-IDENTITY, Counter32, 37 Unsigned32, IpAddress 38 FROM SNMPv2-SMI 39 TEXTUAL-CONVENTION, TruthValue, RowStatus 40 FROM SNMPv2-TC 41 MODULE-COMPLIANCE, OBJECT-GROUP 42 FROM SNMPv2-CONF 43 begemot 44 FROM BEGEMOT-MIB; 45 46begemotSnmpd MODULE-IDENTITY 47 LAST-UPDATED "200212040000Z" 48 ORGANIZATION "Fraunhofer FOKUS, CATS" 49 CONTACT-INFO 50 " Hartmut Brandt 51 52 Postal: Fraunhofer Institute for Open Communication Systems 53 Kaiserin-Augusta-Allee 31 54 10589 Berlin 55 Germany 56 57 Fax: +49 30 3463 7352 58 59 E-mail: harti@freebsd.org" 60 DESCRIPTION 61 "The MIB module for the Begemot SNMP daemon." 62 ::= { begemot 1 } 63 64begemotSnmpdObjects OBJECT IDENTIFIER ::= { begemotSnmpd 1 } 65begemotSnmpdDefs OBJECT IDENTIFIER ::= { begemotSnmpd 2 } 66 67-- -------------------------------------------------------------------------- 68 69SectionName ::= TEXTUAL-CONVENTION 70 DISPLAY-HINT "14a" 71 STATUS current 72 DESCRIPTION 73 "Name of a loadable module. Should consist of alphanumeric characers 74 only, the first character must be a letter." 75 SYNTAX OCTET STRING (SIZE(1..14)) 76 77-- -------------------------------------------------------------------------- 78-- 79-- Agent types 80-- 81begemotSnmpdAgent OBJECT IDENTIFIER ::= { begemotSnmpdDefs 1 } 82 83begemotSnmpdAgentFreeBSD OBJECT-IDENTITY 84 STATUS current 85 DESCRIPTION 86 "Identifies the agent as running on FreeBSD." 87 ::= { begemotSnmpdAgent 1 } 88 89-- -------------------------------------------------------------------------- 90-- 91-- The Config Group 92-- 93begemotSnmpdConfig OBJECT IDENTIFIER ::= { begemotSnmpdObjects 1 } 94 95begemotSnmpdTransmitBuffer OBJECT-TYPE 96 SYNTAX INTEGER (484..65535) 97 MAX-ACCESS read-write 98 STATUS current 99 DESCRIPTION 100 "The size of the receive buffer in bytes. Larger messages 101 are dropped by SNMPd." 102 DEFVAL { 2048 } 103 ::= { begemotSnmpdConfig 1 } 104 105begemotSnmpdReceiveBuffer OBJECT-TYPE 106 SYNTAX INTEGER (484..65535) 107 MAX-ACCESS read-write 108 STATUS current 109 DESCRIPTION 110 "The size of the transmit buffer in bytes. Larger messages 111 cannot be sent by the SNMPd." 112 DEFVAL { 2048 } 113 ::= { begemotSnmpdConfig 2 } 114 115begemotSnmpdCommunityDisable OBJECT-TYPE 116 SYNTAX TruthValue 117 MAX-ACCESS read-write 118 STATUS current 119 DESCRIPTION 120 "Disables all access to the CommunityTable from SNMP. Once 121 set it cannot be cleared." 122 DEFVAL { false } 123 ::= { begemotSnmpdConfig 3 } 124 125begemotSnmpdTrap1Addr OBJECT-TYPE 126 SYNTAX IpAddress 127 MAX-ACCESS read-write 128 STATUS current 129 DESCRIPTION 130 "The trap sink for v1 traps." 131 ::= { begemotSnmpdConfig 4 } 132 133begemotSnmpdVersionEnable OBJECT-TYPE 134 SYNTAX Unsigned32 135 MAX-ACCESS read-only 136 STATUS current 137 DESCRIPTION 138 "The SNMP versions that the agent processes. The following 139 bits are defined: 140 141 0x00000001 - SNMPv1 142 0x00000002 - SNMPv2c" 143 DEFVAL { 3 } 144 ::= { begemotSnmpdConfig 5 } 145 146-- 147-- Trap destinations 148-- 149begemotTrapSinkTable OBJECT-TYPE 150 SYNTAX SEQUENCE OF BegemotTrapSinkEntry 151 MAX-ACCESS not-accessible 152 STATUS current 153 DESCRIPTION 154 "A table with destinations for standard traps." 155 INDEX { begemotTrapSinkAddr, begemotTrapSinkPort } 156 ::= { begemotSnmpdObjects 2 } 157 158begemotTrapSinkEntry OBJECT-TYPE 159 SYNTAX BegemotTrapSinkEntry 160 MAX-ACCESS not-accessible 161 STATUS current 162 DESCRIPTION 163 "Entry describes one trap destination." 164 INDEX { begemotTrapSinkAddr, begemotTrapSinkPort } 165 ::= { begemotTrapSinkTable 1 } 166 167BegemotTrapSinkEntry ::= SEQUENCE { 168 begemotTrapSinkAddr IpAddress, 169 begemotTrapSinkPort INTEGER, 170 begemotTrapSinkStatus RowStatus 171} 172 173begemotTrapSinkAddr OBJECT-TYPE 174 SYNTAX IpAddress 175 MAX-ACCESS not-accessible 176 STATUS current 177 DESCRIPTION 178 "Destination IP address of the manager station where to send 179 traps." 180 ::= { begemotTrapSinkEntry 1 } 181 182begemotTrapSinkPort OBJECT-TYPE 183 SYNTAX INTEGER (1..65535) 184 MAX-ACCESS not-accessible 185 STATUS current 186 DESCRIPTION 187 "Destination UDP port of the manager station where to send 188 traps." 189 ::= { begemotTrapSinkEntry 2 } 190 191begemotTrapSinkStatus OBJECT-TYPE 192 SYNTAX RowStatus 193 MAX-ACCESS read-create 194 STATUS current 195 DESCRIPTION 196 "Used to create/activate/destroy the entry." 197 ::= { begemotTrapSinkEntry 3 } 198 199-- 200-- SNMP port table 201-- 202begemotSnmpdPortTable OBJECT-TYPE 203 SYNTAX SEQUENCE OF BegemotSnmpdPortEntry 204 MAX-ACCESS not-accessible 205 STATUS current 206 DESCRIPTION 207 "A table with descriptions of UDP ports to listen on 208 for SNMP messages." 209 ::= { begemotSnmpdObjects 4 } 210 211begemotSnmpdPortEntry OBJECT-TYPE 212 SYNTAX BegemotSnmpdPortEntry 213 MAX-ACCESS not-accessible 214 STATUS current 215 DESCRIPTION 216 "An entry in the table with descriptions of UDP ports to 217 listen on for SNMP messages." 218 INDEX { begemotSnmpdPortAddress, begemotSnmpdPortPort } 219 ::= { begemotSnmpdPortTable 1 } 220 221BegemotSnmpdPortEntry ::= SEQUENCE { 222 begemotSnmpdPortAddress IpAddress, 223 begemotSnmpdPortPort INTEGER, 224 begemotSnmpdPortStatus INTEGER 225} 226 227begemotSnmpdPortAddress OBJECT-TYPE 228 SYNTAX IpAddress 229 MAX-ACCESS not-accessible 230 STATUS current 231 DESCRIPTION 232 "The IP address to bind to." 233 ::= { begemotSnmpdPortEntry 1 } 234 235begemotSnmpdPortPort OBJECT-TYPE 236 SYNTAX INTEGER (1..65535) 237 MAX-ACCESS not-accessible 238 STATUS current 239 DESCRIPTION 240 "The UDP port to listen on for SNMP messages." 241 ::= { begemotSnmpdPortEntry 2 } 242 243begemotSnmpdPortStatus OBJECT-TYPE 244 SYNTAX INTEGER { valid(1), invalid(2) } 245 MAX-ACCESS read-create 246 STATUS current 247 DESCRIPTION 248 "Set status to 1 to create entry, set it to 2 to delete it." 249 ::= { begemotSnmpdPortEntry 3 } 250 251--- 252--- Community table 253--- 254begemotSnmpdCommunityTable OBJECT-TYPE 255 SYNTAX SEQUENCE OF BegemotSnmpdCommunityEntry 256 MAX-ACCESS not-accessible 257 STATUS current 258 DESCRIPTION 259 "A table with the community strings for access control." 260 ::= { begemotSnmpdObjects 5 } 261 262begemotSnmpdCommunityEntry OBJECT-TYPE 263 SYNTAX BegemotSnmpdCommunityEntry 264 MAX-ACCESS not-accessible 265 STATUS current 266 DESCRIPTION 267 "A table with the community strings for access control. 268 When begemotSnmpdCommDisable is true, this table disappears." 269 INDEX { begemotSnmpdCommunityModule, begemotSnmpdCommunityIndex } 270 ::= { begemotSnmpdCommunityTable 1 } 271 272BegemotSnmpdCommunityEntry ::= SEQUENCE { 273 begemotSnmpdCommunityModule SectionName, 274 begemotSnmpdCommunityIndex Unsigned32, 275 begemotSnmpdCommunityString OCTET STRING, 276 begemotSnmpdCommunityDescr OCTET STRING 277} 278 279begemotSnmpdCommunityModule OBJECT-TYPE 280 SYNTAX SectionName 281 MAX-ACCESS not-accessible 282 STATUS current 283 DESCRIPTION 284 "Index of the module that has registered this community. 285 For global communities this is the empty string." 286 ::= { begemotSnmpdCommunityEntry 1 } 287 288begemotSnmpdCommunityIndex OBJECT-TYPE 289 SYNTAX Unsigned32 (1..4294967295) 290 MAX-ACCESS not-accessible 291 STATUS current 292 DESCRIPTION 293 "The numerical index of the community (private to the module)." 294 ::= { begemotSnmpdCommunityEntry 2 } 295 296begemotSnmpdCommunityString OBJECT-TYPE 297 SYNTAX OCTET STRING 298 MAX-ACCESS read-write 299 STATUS current 300 DESCRIPTION 301 "The string for access to SNMPd." 302 ::= { begemotSnmpdCommunityEntry 3 } 303 304begemotSnmpdCommunityDescr OBJECT-TYPE 305 SYNTAX OCTET STRING 306 MAX-ACCESS read-only 307 STATUS current 308 DESCRIPTION 309 "A description what this community is good for." 310 ::= { begemotSnmpdCommunityEntry 4 } 311 312-- 313-- Module table 314-- 315begemotSnmpdModuleTable OBJECT-TYPE 316 SYNTAX SEQUENCE OF BegemotSnmpdModuleEntry 317 MAX-ACCESS not-accessible 318 STATUS current 319 DESCRIPTION 320 "A table describing all the currently loaded dynamic modules. 321 Writing to this table loads and unloads modules." 322 ::= { begemotSnmpdObjects 6 } 323 324begemotSnmpdModuleEntry OBJECT-TYPE 325 SYNTAX BegemotSnmpdModuleEntry 326 MAX-ACCESS not-accessible 327 STATUS current 328 DESCRIPTION 329 "A table entry describing a loadable module." 330 INDEX { begemotSnmpdModuleSection } 331 ::= { begemotSnmpdModuleTable 1 } 332 333BegemotSnmpdModuleEntry ::= SEQUENCE { 334 begemotSnmpdModuleSection SectionName, 335 begemotSnmpdModulePath OCTET STRING, 336 begemotSnmpdModuleComment OCTET STRING 337} 338 339begemotSnmpdModuleSection OBJECT-TYPE 340 SYNTAX SectionName 341 MAX-ACCESS not-accessible 342 STATUS current 343 DESCRIPTION 344 "The string used for matching configuration file sections 345 and indexes the module table." 346 ::= { begemotSnmpdModuleEntry 1 } 347 348 349begemotSnmpdModulePath OBJECT-TYPE 350 SYNTAX OCTET STRING 351 MAX-ACCESS read-create 352 STATUS current 353 DESCRIPTION 354 "The path name of the module. Set to empty string 355 to unload a module. The path of an existing module 356 may not be changed." 357 ::= { begemotSnmpdModuleEntry 2 } 358 359begemotSnmpdModuleComment OBJECT-TYPE 360 SYNTAX OCTET STRING 361 MAX-ACCESS read-only 362 STATUS current 363 DESCRIPTION 364 "A comment describing this module." 365 ::= { begemotSnmpdModuleEntry 3 } 366 367 368-- -------------------------------------------------------------------------- 369-- 370-- The STATISTICS Group 371-- 372begemotSnmpdStats OBJECT IDENTIFIER ::= { begemotSnmpdObjects 7 } 373 374begemotSnmpdStatsNoRxBufs OBJECT-TYPE 375 SYNTAX Counter32 376 MAX-ACCESS read-only 377 STATUS current 378 DESCRIPTION 379 "Number of times a receive buffer could not be allocated 380 for a packet." 381 ::= { begemotSnmpdStats 1 } 382 383begemotSnmpdStatsNoTxBufs OBJECT-TYPE 384 SYNTAX Counter32 385 MAX-ACCESS read-only 386 STATUS current 387 DESCRIPTION 388 "Number of times a transmit buffer could not be allocated 389 for a packet." 390 ::= { begemotSnmpdStats 2 } 391 392begemotSnmpdStatsInTooLongPkts OBJECT-TYPE 393 SYNTAX Counter32 394 MAX-ACCESS read-only 395 STATUS current 396 DESCRIPTION 397 "Number of packets received that were longer than the 398 receive buffer. These packets are dropped." 399 ::= { begemotSnmpdStats 3 } 400 401begemotSnmpdStatsInBadPduTypes OBJECT-TYPE 402 SYNTAX Counter32 403 MAX-ACCESS read-only 404 STATUS current 405 DESCRIPTION 406 "Number of packets received with a bad type field." 407 ::= { begemotSnmpdStats 4 } 408 409-- 410-- The Debug Group 411-- 412begemotSnmpdDebug OBJECT IDENTIFIER ::= { begemotSnmpdObjects 8 } 413 414begemotSnmpdDebugDumpPdus OBJECT-TYPE 415 SYNTAX TruthValue 416 MAX-ACCESS read-write 417 STATUS current 418 DESCRIPTION 419 "Dump PDUs to log file if true." 420 DEFVAL { false } 421 ::= { begemotSnmpdDebug 1 } 422 423begemotSnmpdDebugSnmpTrace OBJECT-TYPE 424 SYNTAX Unsigned32 425 MAX-ACCESS read-write 426 STATUS current 427 DESCRIPTION 428 "Tracing flags for the SNMP library. These flags have the 429 following meaning: 430 0x00000001 trace GET operator 431 0x00000002 trace GETNEXT operator 432 0x00000004 trace SET operator 433 0x00000008 trace dependency processing 434 0x00000010 trace node finding 435 0x10000000 log ASN1 errors 436 0x20000000 log SNMP errors 437 Individual values can be or-ed together." 438 DEFVAL { 0 } 439 ::= { begemotSnmpdDebug 2 } 440 441begemotSnmpdDebugSyslogPri OBJECT-TYPE 442 SYNTAX INTEGER (0..8) 443 MAX-ACCESS read-write 444 STATUS current 445 DESCRIPTION 446 "Events with this or higher priority should not be logged." 447 DEFVAL { 7 } -- don't log debug messages 448 ::= { begemotSnmpdDebug 3 } 449 450-- 451-- Local port table 452-- 453begemotSnmpdLocalPortTable OBJECT-TYPE 454 SYNTAX SEQUENCE OF BegemotSnmpdLocalPortEntry 455 MAX-ACCESS not-accessible 456 STATUS current 457 DESCRIPTION 458 "A table with descriptions of local (unix domain) ports to listen 459 on for SNMP messages." 460 ::= { begemotSnmpdObjects 9 } 461 462begemotSnmpdLocalPortEntry OBJECT-TYPE 463 SYNTAX BegemotSnmpdLocalPortEntry 464 MAX-ACCESS not-accessible 465 STATUS current 466 DESCRIPTION 467 "An entry in the table with descriptions of local ports to 468 listen on for SNMP messages." 469 INDEX { begemotSnmpdLocalPortPath } 470 ::= { begemotSnmpdLocalPortTable 1 } 471 472BegemotSnmpdLocalPortEntry ::= SEQUENCE { 473 begemotSnmpdLocalPortPath OCTET STRING, 474 begemotSnmpdLocalPortStatus INTEGER, 475 begemotSnmpdLocalPortType INTEGER 476} 477 478begemotSnmpdLocalPortPath OBJECT-TYPE 479 SYNTAX OCTET STRING (SIZE(1..104)) 480 MAX-ACCESS not-accessible 481 STATUS current 482 DESCRIPTION 483 "The path name to create and listen on." 484 ::= { begemotSnmpdLocalPortEntry 1 } 485 486begemotSnmpdLocalPortStatus OBJECT-TYPE 487 SYNTAX INTEGER { valid(1), invalid(2) } 488 MAX-ACCESS read-create 489 STATUS current 490 DESCRIPTION 491 "Set status to 1 to create entry, set it to 2 to delete it." 492 ::= { begemotSnmpdLocalPortEntry 2 } 493 494begemotSnmpdLocalPortType OBJECT-TYPE 495 SYNTAX INTEGER { 496 dgram-unpriv(1), 497 dgram-priv(2), 498 stream-unpriv(3), 499 stream-priv(4) 500 } 501 MAX-ACCESS read-create 502 STATUS current 503 DESCRIPTION 504 "Type of the port. If the type is unpriv SET operations 505 are allowed from all clients if the community matches. For 506 priv SET operations are allowed only from peers with uid 507 zero. If the daemon cannot determine the peer uid it disallows 508 the SET operation for -priv ports." 509 ::= { begemotSnmpdLocalPortEntry 3 } 510 511-- 512-- Transport mapping table 513-- 514begemotSnmpdTransportMappings OBJECT IDENTIFIER ::= { begemotSnmpdObjects 10 } 515 516begemotSnmpdTransportTable OBJECT-TYPE 517 SYNTAX SEQUENCE OF BegemotSnmpdTransportEntry 518 MAX-ACCESS not-accessible 519 STATUS current 520 DESCRIPTION 521 "A table containing all the currently loaded transport mappings." 522 ::= { begemotSnmpdTransportMappings 1 } 523 524begemotSnmpdTransportEntry OBJECT-TYPE 525 SYNTAX BegemotSnmpdTransportEntry 526 MAX-ACCESS not-accessible 527 STATUS current 528 DESCRIPTION 529 "An entry in the table with the transport mappings." 530 INDEX { begemotSnmpdTransportName } 531 ::= { begemotSnmpdTransportTable 1 } 532 533BegemotSnmpdTransportEntry ::= SEQUENCE { 534 begemotSnmpdTransportName OCTET STRING, 535 begemotSnmpdTransportStatus INTEGER, 536 begemotSnmpdTransportOid OBJECT IDENTIFIER 537} 538 539begemotSnmpdTransportName OBJECT-TYPE 540 SYNTAX OCTET STRING (SIZE(1..256)) 541 MAX-ACCESS not-accessible 542 STATUS current 543 DESCRIPTION 544 "The name of the mapping." 545 ::= { begemotSnmpdTransportEntry 1 } 546 547begemotSnmpdTransportStatus OBJECT-TYPE 548 SYNTAX RowStatus 549 MAX-ACCESS read-only 550 STATUS current 551 DESCRIPTION 552 "Used to create/activate/destroy the entry." 553 ::= { begemotSnmpdTransportEntry 2 } 554 555begemotSnmpdTransportOid OBJECT-TYPE 556 SYNTAX OBJECT IDENTIFIER 557 MAX-ACCESS read-only 558 STATUS current 559 DESCRIPTION 560 "A pointer to the group with the transport-dependend stuff." 561 ::= { begemotSnmpdTransportEntry 3 } 562 563-- 564-- XXX These should go into their own MIB 565-- 566begemotSnmpdTransUdp OBJECT IDENTIFIER ::= { begemotSnmpdTransportMappings 2 } 567begemotSnmpdTransLsock OBJECT IDENTIFIER ::= { begemotSnmpdTransportMappings 3 } 568 569END 570