2 -- Copyright (c) 2001-2003
3 -- Fraunhofer Institute for Open Communication Systems (FhG Fokus).
4 -- All rights reserved.
6 -- Author: Harti Brandt <harti@freebsd.org>
8 -- Redistribution and use in source and binary forms, with or without
9 -- modification, are permitted provided that the following conditions
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.
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
29 -- $Begemot: bsnmp/snmpd/BEGEMOT-SNMPD.txt,v 1.23 2004/08/06 08:47:08 brandt Exp $
31 -- Begemot Private SNMPd MIB.
33 BEGEMOT-SNMPD-MIB DEFINITIONS ::= BEGIN
36 MODULE-IDENTITY, OBJECT-TYPE, OBJECT-IDENTITY, Counter32,
39 TEXTUAL-CONVENTION, TruthValue, RowStatus
41 MODULE-COMPLIANCE, OBJECT-GROUP
46 begemotSnmpd MODULE-IDENTITY
47 LAST-UPDATED "200212040000Z"
48 ORGANIZATION "Fraunhofer FOKUS, CATS"
52 Postal: Fraunhofer Institute for Open Communication Systems
53 Kaiserin-Augusta-Allee 31
59 E-mail: harti@freebsd.org"
61 "The MIB module for the Begemot SNMP daemon."
64 begemotSnmpdObjects OBJECT IDENTIFIER ::= { begemotSnmpd 1 }
65 begemotSnmpdDefs OBJECT IDENTIFIER ::= { begemotSnmpd 2 }
67 -- --------------------------------------------------------------------------
69 SectionName ::= TEXTUAL-CONVENTION
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))
77 -- --------------------------------------------------------------------------
81 begemotSnmpdAgent OBJECT IDENTIFIER ::= { begemotSnmpdDefs 1 }
83 begemotSnmpdAgentFreeBSD OBJECT-IDENTITY
86 "Identifies the agent as running on FreeBSD."
87 ::= { begemotSnmpdAgent 1 }
89 -- --------------------------------------------------------------------------
93 begemotSnmpdConfig OBJECT IDENTIFIER ::= { begemotSnmpdObjects 1 }
95 begemotSnmpdTransmitBuffer OBJECT-TYPE
96 SYNTAX INTEGER (484..65535)
100 "The size of the receive buffer in bytes. Larger messages
101 are dropped by SNMPd."
103 ::= { begemotSnmpdConfig 1 }
105 begemotSnmpdReceiveBuffer OBJECT-TYPE
106 SYNTAX INTEGER (484..65535)
107 MAX-ACCESS read-write
110 "The size of the transmit buffer in bytes. Larger messages
111 cannot be sent by the SNMPd."
113 ::= { begemotSnmpdConfig 2 }
115 begemotSnmpdCommunityDisable OBJECT-TYPE
117 MAX-ACCESS read-write
120 "Disables all access to the CommunityTable from SNMP. Once
121 set it cannot be cleared."
123 ::= { begemotSnmpdConfig 3 }
125 begemotSnmpdTrap1Addr OBJECT-TYPE
127 MAX-ACCESS read-write
130 "The trap sink for v1 traps."
131 ::= { begemotSnmpdConfig 4 }
133 begemotSnmpdVersionEnable OBJECT-TYPE
138 "The SNMP versions that the agent processes. The following
142 0x00000002 - SNMPv2c"
144 ::= { begemotSnmpdConfig 5 }
149 begemotTrapSinkTable OBJECT-TYPE
150 SYNTAX SEQUENCE OF BegemotTrapSinkEntry
151 MAX-ACCESS not-accessible
154 "A table with destinations for standard traps."
155 INDEX { begemotTrapSinkAddr, begemotTrapSinkPort }
156 ::= { begemotSnmpdObjects 2 }
158 begemotTrapSinkEntry OBJECT-TYPE
159 SYNTAX BegemotTrapSinkEntry
160 MAX-ACCESS not-accessible
163 "Entry describes one trap destination."
164 INDEX { begemotTrapSinkAddr, begemotTrapSinkPort }
165 ::= { begemotTrapSinkTable 1 }
167 BegemotTrapSinkEntry ::= SEQUENCE {
168 begemotTrapSinkAddr IpAddress,
169 begemotTrapSinkPort INTEGER,
170 begemotTrapSinkStatus RowStatus
173 begemotTrapSinkAddr OBJECT-TYPE
175 MAX-ACCESS not-accessible
178 "Destination IP address of the manager station where to send
180 ::= { begemotTrapSinkEntry 1 }
182 begemotTrapSinkPort OBJECT-TYPE
183 SYNTAX INTEGER (1..65535)
184 MAX-ACCESS not-accessible
187 "Destination UDP port of the manager station where to send
189 ::= { begemotTrapSinkEntry 2 }
191 begemotTrapSinkStatus OBJECT-TYPE
193 MAX-ACCESS read-create
196 "Used to create/activate/destroy the entry."
197 ::= { begemotTrapSinkEntry 3 }
202 begemotSnmpdPortTable OBJECT-TYPE
203 SYNTAX SEQUENCE OF BegemotSnmpdPortEntry
204 MAX-ACCESS not-accessible
207 "A table with descriptions of UDP ports to listen on
209 ::= { begemotSnmpdObjects 4 }
211 begemotSnmpdPortEntry OBJECT-TYPE
212 SYNTAX BegemotSnmpdPortEntry
213 MAX-ACCESS not-accessible
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 }
221 BegemotSnmpdPortEntry ::= SEQUENCE {
222 begemotSnmpdPortAddress IpAddress,
223 begemotSnmpdPortPort INTEGER,
224 begemotSnmpdPortStatus INTEGER
227 begemotSnmpdPortAddress OBJECT-TYPE
229 MAX-ACCESS not-accessible
232 "The IP address to bind to."
233 ::= { begemotSnmpdPortEntry 1 }
235 begemotSnmpdPortPort OBJECT-TYPE
236 SYNTAX INTEGER (1..65535)
237 MAX-ACCESS not-accessible
240 "The UDP port to listen on for SNMP messages."
241 ::= { begemotSnmpdPortEntry 2 }
243 begemotSnmpdPortStatus OBJECT-TYPE
244 SYNTAX INTEGER { valid(1), invalid(2) }
245 MAX-ACCESS read-create
248 "Set status to 1 to create entry, set it to 2 to delete it."
249 ::= { begemotSnmpdPortEntry 3 }
254 begemotSnmpdCommunityTable OBJECT-TYPE
255 SYNTAX SEQUENCE OF BegemotSnmpdCommunityEntry
256 MAX-ACCESS not-accessible
259 "A table with the community strings for access control."
260 ::= { begemotSnmpdObjects 5 }
262 begemotSnmpdCommunityEntry OBJECT-TYPE
263 SYNTAX BegemotSnmpdCommunityEntry
264 MAX-ACCESS not-accessible
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 }
272 BegemotSnmpdCommunityEntry ::= SEQUENCE {
273 begemotSnmpdCommunityModule SectionName,
274 begemotSnmpdCommunityIndex Unsigned32,
275 begemotSnmpdCommunityString OCTET STRING,
276 begemotSnmpdCommunityDescr OCTET STRING
279 begemotSnmpdCommunityModule OBJECT-TYPE
281 MAX-ACCESS not-accessible
284 "Index of the module that has registered this community.
285 For global communities this is the empty string."
286 ::= { begemotSnmpdCommunityEntry 1 }
288 begemotSnmpdCommunityIndex OBJECT-TYPE
289 SYNTAX Unsigned32 (1..4294967295)
290 MAX-ACCESS not-accessible
293 "The numerical index of the community (private to the module)."
294 ::= { begemotSnmpdCommunityEntry 2 }
296 begemotSnmpdCommunityString OBJECT-TYPE
298 MAX-ACCESS read-write
301 "The string for access to SNMPd."
302 ::= { begemotSnmpdCommunityEntry 3 }
304 begemotSnmpdCommunityDescr OBJECT-TYPE
309 "A description what this community is good for."
310 ::= { begemotSnmpdCommunityEntry 4 }
315 begemotSnmpdModuleTable OBJECT-TYPE
316 SYNTAX SEQUENCE OF BegemotSnmpdModuleEntry
317 MAX-ACCESS not-accessible
320 "A table describing all the currently loaded dynamic modules.
321 Writing to this table loads and unloads modules."
322 ::= { begemotSnmpdObjects 6 }
324 begemotSnmpdModuleEntry OBJECT-TYPE
325 SYNTAX BegemotSnmpdModuleEntry
326 MAX-ACCESS not-accessible
329 "A table entry describing a loadable module."
330 INDEX { begemotSnmpdModuleSection }
331 ::= { begemotSnmpdModuleTable 1 }
333 BegemotSnmpdModuleEntry ::= SEQUENCE {
334 begemotSnmpdModuleSection SectionName,
335 begemotSnmpdModulePath OCTET STRING,
336 begemotSnmpdModuleComment OCTET STRING
339 begemotSnmpdModuleSection OBJECT-TYPE
341 MAX-ACCESS not-accessible
344 "The string used for matching configuration file sections
345 and indexes the module table."
346 ::= { begemotSnmpdModuleEntry 1 }
349 begemotSnmpdModulePath OBJECT-TYPE
351 MAX-ACCESS read-create
354 "The path name of the module. Set to empty string
355 to unload a module. The path of an existing module
357 ::= { begemotSnmpdModuleEntry 2 }
359 begemotSnmpdModuleComment OBJECT-TYPE
364 "A comment describing this module."
365 ::= { begemotSnmpdModuleEntry 3 }
368 -- --------------------------------------------------------------------------
370 -- The STATISTICS Group
372 begemotSnmpdStats OBJECT IDENTIFIER ::= { begemotSnmpdObjects 7 }
374 begemotSnmpdStatsNoRxBufs OBJECT-TYPE
379 "Number of times a receive buffer could not be allocated
381 ::= { begemotSnmpdStats 1 }
383 begemotSnmpdStatsNoTxBufs OBJECT-TYPE
388 "Number of times a transmit buffer could not be allocated
390 ::= { begemotSnmpdStats 2 }
392 begemotSnmpdStatsInTooLongPkts OBJECT-TYPE
397 "Number of packets received that were longer than the
398 receive buffer. These packets are dropped."
399 ::= { begemotSnmpdStats 3 }
401 begemotSnmpdStatsInBadPduTypes OBJECT-TYPE
406 "Number of packets received with a bad type field."
407 ::= { begemotSnmpdStats 4 }
412 begemotSnmpdDebug OBJECT IDENTIFIER ::= { begemotSnmpdObjects 8 }
414 begemotSnmpdDebugDumpPdus OBJECT-TYPE
416 MAX-ACCESS read-write
419 "Dump PDUs to log file if true."
421 ::= { begemotSnmpdDebug 1 }
423 begemotSnmpdDebugSnmpTrace OBJECT-TYPE
425 MAX-ACCESS read-write
428 "Tracing flags for the SNMP library. These flags have the
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."
439 ::= { begemotSnmpdDebug 2 }
441 begemotSnmpdDebugSyslogPri OBJECT-TYPE
442 SYNTAX INTEGER (0..8)
443 MAX-ACCESS read-write
446 "Events with this or higher priority should not be logged."
447 DEFVAL { 7 } -- don't log debug messages
448 ::= { begemotSnmpdDebug 3 }
453 begemotSnmpdLocalPortTable OBJECT-TYPE
454 SYNTAX SEQUENCE OF BegemotSnmpdLocalPortEntry
455 MAX-ACCESS not-accessible
458 "A table with descriptions of local (unix domain) ports to listen
459 on for SNMP messages."
460 ::= { begemotSnmpdObjects 9 }
462 begemotSnmpdLocalPortEntry OBJECT-TYPE
463 SYNTAX BegemotSnmpdLocalPortEntry
464 MAX-ACCESS not-accessible
467 "An entry in the table with descriptions of local ports to
468 listen on for SNMP messages."
469 INDEX { begemotSnmpdLocalPortPath }
470 ::= { begemotSnmpdLocalPortTable 1 }
472 BegemotSnmpdLocalPortEntry ::= SEQUENCE {
473 begemotSnmpdLocalPortPath OCTET STRING,
474 begemotSnmpdLocalPortStatus INTEGER,
475 begemotSnmpdLocalPortType INTEGER
478 begemotSnmpdLocalPortPath OBJECT-TYPE
479 SYNTAX OCTET STRING (SIZE(1..104))
480 MAX-ACCESS not-accessible
483 "The path name to create and listen on."
484 ::= { begemotSnmpdLocalPortEntry 1 }
486 begemotSnmpdLocalPortStatus OBJECT-TYPE
487 SYNTAX INTEGER { valid(1), invalid(2) }
488 MAX-ACCESS read-create
491 "Set status to 1 to create entry, set it to 2 to delete it."
492 ::= { begemotSnmpdLocalPortEntry 2 }
494 begemotSnmpdLocalPortType OBJECT-TYPE
501 MAX-ACCESS read-create
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 }
512 -- Transport mapping table
514 begemotSnmpdTransportMappings OBJECT IDENTIFIER ::= { begemotSnmpdObjects 10 }
516 begemotSnmpdTransportTable OBJECT-TYPE
517 SYNTAX SEQUENCE OF BegemotSnmpdTransportEntry
518 MAX-ACCESS not-accessible
521 "A table containing all the currently loaded transport mappings."
522 ::= { begemotSnmpdTransportMappings 1 }
524 begemotSnmpdTransportEntry OBJECT-TYPE
525 SYNTAX BegemotSnmpdTransportEntry
526 MAX-ACCESS not-accessible
529 "An entry in the table with the transport mappings."
530 INDEX { begemotSnmpdTransportName }
531 ::= { begemotSnmpdTransportTable 1 }
533 BegemotSnmpdTransportEntry ::= SEQUENCE {
534 begemotSnmpdTransportName OCTET STRING,
535 begemotSnmpdTransportStatus INTEGER,
536 begemotSnmpdTransportOid OBJECT IDENTIFIER
539 begemotSnmpdTransportName OBJECT-TYPE
540 SYNTAX OCTET STRING (SIZE(1..256))
541 MAX-ACCESS not-accessible
544 "The name of the mapping."
545 ::= { begemotSnmpdTransportEntry 1 }
547 begemotSnmpdTransportStatus OBJECT-TYPE
552 "Used to create/activate/destroy the entry."
553 ::= { begemotSnmpdTransportEntry 2 }
555 begemotSnmpdTransportOid OBJECT-TYPE
556 SYNTAX OBJECT IDENTIFIER
560 "A pointer to the group with the transport-dependend stuff."
561 ::= { begemotSnmpdTransportEntry 3 }
564 -- XXX These should go into their own MIB
566 begemotSnmpdTransUdp OBJECT IDENTIFIER ::= { begemotSnmpdTransportMappings 2 }
567 begemotSnmpdTransLsock OBJECT IDENTIFIER ::= { begemotSnmpdTransportMappings 3 }