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
145 ::= { begemotSnmpdConfig 5 }
150 begemotTrapSinkTable OBJECT-TYPE
151 SYNTAX SEQUENCE OF BegemotTrapSinkEntry
152 MAX-ACCESS not-accessible
155 "A table with destinations for standard traps."
156 INDEX { begemotTrapSinkAddr, begemotTrapSinkPort }
157 ::= { begemotSnmpdObjects 2 }
159 begemotTrapSinkEntry OBJECT-TYPE
160 SYNTAX BegemotTrapSinkEntry
161 MAX-ACCESS not-accessible
164 "Entry describes one trap destination."
165 INDEX { begemotTrapSinkAddr, begemotTrapSinkPort }
166 ::= { begemotTrapSinkTable 1 }
168 BegemotTrapSinkEntry ::= SEQUENCE {
169 begemotTrapSinkAddr IpAddress,
170 begemotTrapSinkPort INTEGER,
171 begemotTrapSinkStatus RowStatus
174 begemotTrapSinkAddr OBJECT-TYPE
176 MAX-ACCESS not-accessible
179 "Destination IP address of the manager station where to send
181 ::= { begemotTrapSinkEntry 1 }
183 begemotTrapSinkPort OBJECT-TYPE
184 SYNTAX INTEGER (1..65535)
185 MAX-ACCESS not-accessible
188 "Destination UDP port of the manager station where to send
190 ::= { begemotTrapSinkEntry 2 }
192 begemotTrapSinkStatus OBJECT-TYPE
194 MAX-ACCESS read-create
197 "Used to create/activate/destroy the entry."
198 ::= { begemotTrapSinkEntry 3 }
203 begemotSnmpdPortTable OBJECT-TYPE
204 SYNTAX SEQUENCE OF BegemotSnmpdPortEntry
205 MAX-ACCESS not-accessible
208 "A table with descriptions of UDP ports to listen on
210 ::= { begemotSnmpdObjects 4 }
212 begemotSnmpdPortEntry OBJECT-TYPE
213 SYNTAX BegemotSnmpdPortEntry
214 MAX-ACCESS not-accessible
217 "An entry in the table with descriptions of UDP ports to
218 listen on for SNMP messages."
219 INDEX { begemotSnmpdPortAddress, begemotSnmpdPortPort }
220 ::= { begemotSnmpdPortTable 1 }
222 BegemotSnmpdPortEntry ::= SEQUENCE {
223 begemotSnmpdPortAddress IpAddress,
224 begemotSnmpdPortPort INTEGER,
225 begemotSnmpdPortStatus INTEGER
228 begemotSnmpdPortAddress OBJECT-TYPE
230 MAX-ACCESS not-accessible
233 "The IP address to bind to."
234 ::= { begemotSnmpdPortEntry 1 }
236 begemotSnmpdPortPort OBJECT-TYPE
237 SYNTAX INTEGER (1..65535)
238 MAX-ACCESS not-accessible
241 "The UDP port to listen on for SNMP messages."
242 ::= { begemotSnmpdPortEntry 2 }
244 begemotSnmpdPortStatus OBJECT-TYPE
245 SYNTAX INTEGER { valid(1), invalid(2) }
246 MAX-ACCESS read-create
249 "Set status to 1 to create entry, set it to 2 to delete it."
250 ::= { begemotSnmpdPortEntry 3 }
255 begemotSnmpdCommunityTable OBJECT-TYPE
256 SYNTAX SEQUENCE OF BegemotSnmpdCommunityEntry
257 MAX-ACCESS not-accessible
260 "A table with the community strings for access control."
261 ::= { begemotSnmpdObjects 5 }
263 begemotSnmpdCommunityEntry OBJECT-TYPE
264 SYNTAX BegemotSnmpdCommunityEntry
265 MAX-ACCESS not-accessible
268 "A table with the community strings for access control.
269 When begemotSnmpdCommDisable is true, this table disappears."
270 INDEX { begemotSnmpdCommunityModule, begemotSnmpdCommunityIndex }
271 ::= { begemotSnmpdCommunityTable 1 }
273 BegemotSnmpdCommunityEntry ::= SEQUENCE {
274 begemotSnmpdCommunityModule SectionName,
275 begemotSnmpdCommunityIndex Unsigned32,
276 begemotSnmpdCommunityString OCTET STRING,
277 begemotSnmpdCommunityDescr OCTET STRING
280 begemotSnmpdCommunityModule OBJECT-TYPE
282 MAX-ACCESS not-accessible
285 "Index of the module that has registered this community.
286 For global communities this is the empty string."
287 ::= { begemotSnmpdCommunityEntry 1 }
289 begemotSnmpdCommunityIndex OBJECT-TYPE
290 SYNTAX Unsigned32 (1..4294967295)
291 MAX-ACCESS not-accessible
294 "The numerical index of the community (private to the module)."
295 ::= { begemotSnmpdCommunityEntry 2 }
297 begemotSnmpdCommunityString OBJECT-TYPE
299 MAX-ACCESS read-write
302 "The string for access to SNMPd."
303 ::= { begemotSnmpdCommunityEntry 3 }
305 begemotSnmpdCommunityDescr OBJECT-TYPE
310 "A description what this community is good for."
311 ::= { begemotSnmpdCommunityEntry 4 }
316 begemotSnmpdModuleTable OBJECT-TYPE
317 SYNTAX SEQUENCE OF BegemotSnmpdModuleEntry
318 MAX-ACCESS not-accessible
321 "A table describing all the currently loaded dynamic modules.
322 Writing to this table loads and unloads modules."
323 ::= { begemotSnmpdObjects 6 }
325 begemotSnmpdModuleEntry OBJECT-TYPE
326 SYNTAX BegemotSnmpdModuleEntry
327 MAX-ACCESS not-accessible
330 "A table entry describing a loadable module."
331 INDEX { begemotSnmpdModuleSection }
332 ::= { begemotSnmpdModuleTable 1 }
334 BegemotSnmpdModuleEntry ::= SEQUENCE {
335 begemotSnmpdModuleSection SectionName,
336 begemotSnmpdModulePath OCTET STRING,
337 begemotSnmpdModuleComment OCTET STRING
340 begemotSnmpdModuleSection OBJECT-TYPE
342 MAX-ACCESS not-accessible
345 "The string used for matching configuration file sections
346 and indexes the module table."
347 ::= { begemotSnmpdModuleEntry 1 }
350 begemotSnmpdModulePath OBJECT-TYPE
352 MAX-ACCESS read-create
355 "The path name of the module. Set to empty string
356 to unload a module. The path of an existing module
358 ::= { begemotSnmpdModuleEntry 2 }
360 begemotSnmpdModuleComment OBJECT-TYPE
365 "A comment describing this module."
366 ::= { begemotSnmpdModuleEntry 3 }
369 -- --------------------------------------------------------------------------
371 -- The STATISTICS Group
373 begemotSnmpdStats OBJECT IDENTIFIER ::= { begemotSnmpdObjects 7 }
375 begemotSnmpdStatsNoRxBufs OBJECT-TYPE
380 "Number of times a receive buffer could not be allocated
382 ::= { begemotSnmpdStats 1 }
384 begemotSnmpdStatsNoTxBufs OBJECT-TYPE
389 "Number of times a transmit buffer could not be allocated
391 ::= { begemotSnmpdStats 2 }
393 begemotSnmpdStatsInTooLongPkts OBJECT-TYPE
398 "Number of packets received that were longer than the
399 receive buffer. These packets are dropped."
400 ::= { begemotSnmpdStats 3 }
402 begemotSnmpdStatsInBadPduTypes OBJECT-TYPE
407 "Number of packets received with a bad type field."
408 ::= { begemotSnmpdStats 4 }
413 begemotSnmpdDebug OBJECT IDENTIFIER ::= { begemotSnmpdObjects 8 }
415 begemotSnmpdDebugDumpPdus OBJECT-TYPE
417 MAX-ACCESS read-write
420 "Dump PDUs to log file if true."
422 ::= { begemotSnmpdDebug 1 }
424 begemotSnmpdDebugSnmpTrace OBJECT-TYPE
426 MAX-ACCESS read-write
429 "Tracing flags for the SNMP library. These flags have the
431 0x00000001 trace GET operator
432 0x00000002 trace GETNEXT operator
433 0x00000004 trace SET operator
434 0x00000008 trace dependency processing
435 0x00000010 trace node finding
436 0x10000000 log ASN1 errors
437 0x20000000 log SNMP errors
438 Individual values can be or-ed together."
440 ::= { begemotSnmpdDebug 2 }
442 begemotSnmpdDebugSyslogPri OBJECT-TYPE
443 SYNTAX INTEGER (0..8)
444 MAX-ACCESS read-write
447 "Events with this or higher priority should not be logged."
448 DEFVAL { 7 } -- don't log debug messages
449 ::= { begemotSnmpdDebug 3 }
454 begemotSnmpdLocalPortTable OBJECT-TYPE
455 SYNTAX SEQUENCE OF BegemotSnmpdLocalPortEntry
456 MAX-ACCESS not-accessible
459 "A table with descriptions of local (unix domain) ports to listen
460 on for SNMP messages."
461 ::= { begemotSnmpdObjects 9 }
463 begemotSnmpdLocalPortEntry OBJECT-TYPE
464 SYNTAX BegemotSnmpdLocalPortEntry
465 MAX-ACCESS not-accessible
468 "An entry in the table with descriptions of local ports to
469 listen on for SNMP messages."
470 INDEX { begemotSnmpdLocalPortPath }
471 ::= { begemotSnmpdLocalPortTable 1 }
473 BegemotSnmpdLocalPortEntry ::= SEQUENCE {
474 begemotSnmpdLocalPortPath OCTET STRING,
475 begemotSnmpdLocalPortStatus INTEGER,
476 begemotSnmpdLocalPortType INTEGER
479 begemotSnmpdLocalPortPath OBJECT-TYPE
480 SYNTAX OCTET STRING (SIZE(1..104))
481 MAX-ACCESS not-accessible
484 "The path name to create and listen on."
485 ::= { begemotSnmpdLocalPortEntry 1 }
487 begemotSnmpdLocalPortStatus OBJECT-TYPE
488 SYNTAX INTEGER { valid(1), invalid(2) }
489 MAX-ACCESS read-create
492 "Set status to 1 to create entry, set it to 2 to delete it."
493 ::= { begemotSnmpdLocalPortEntry 2 }
495 begemotSnmpdLocalPortType OBJECT-TYPE
502 MAX-ACCESS read-create
505 "Type of the port. If the type is unpriv SET operations
506 are allowed from all clients if the community matches. For
507 priv SET operations are allowed only from peers with uid
508 zero. If the daemon cannot determine the peer uid it disallows
509 the SET operation for -priv ports."
510 ::= { begemotSnmpdLocalPortEntry 3 }
513 -- Transport mapping table
515 begemotSnmpdTransportMappings OBJECT IDENTIFIER ::= { begemotSnmpdObjects 10 }
517 begemotSnmpdTransportTable OBJECT-TYPE
518 SYNTAX SEQUENCE OF BegemotSnmpdTransportEntry
519 MAX-ACCESS not-accessible
522 "A table containing all the currently loaded transport mappings."
523 ::= { begemotSnmpdTransportMappings 1 }
525 begemotSnmpdTransportEntry OBJECT-TYPE
526 SYNTAX BegemotSnmpdTransportEntry
527 MAX-ACCESS not-accessible
530 "An entry in the table with the transport mappings."
531 INDEX { begemotSnmpdTransportName }
532 ::= { begemotSnmpdTransportTable 1 }
534 BegemotSnmpdTransportEntry ::= SEQUENCE {
535 begemotSnmpdTransportName OCTET STRING,
536 begemotSnmpdTransportStatus INTEGER,
537 begemotSnmpdTransportOid OBJECT IDENTIFIER
540 begemotSnmpdTransportName OBJECT-TYPE
541 SYNTAX OCTET STRING (SIZE(1..256))
542 MAX-ACCESS not-accessible
545 "The name of the mapping."
546 ::= { begemotSnmpdTransportEntry 1 }
548 begemotSnmpdTransportStatus OBJECT-TYPE
553 "Used to create/activate/destroy the entry."
554 ::= { begemotSnmpdTransportEntry 2 }
556 begemotSnmpdTransportOid OBJECT-TYPE
557 SYNTAX OBJECT IDENTIFIER
561 "A pointer to the group with the transport-dependend stuff."
562 ::= { begemotSnmpdTransportEntry 3 }
565 -- XXX These should go into their own MIB
567 begemotSnmpdTransUdp OBJECT IDENTIFIER ::= { begemotSnmpdTransportMappings 2 }
568 begemotSnmpdTransLsock OBJECT IDENTIFIER ::= { begemotSnmpdTransportMappings 3 }