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