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 "201801190000Z"
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,
278 begemotSnmpdCommunityPermission INTEGER
281 begemotSnmpdCommunityModule OBJECT-TYPE
283 MAX-ACCESS not-accessible
286 "Index of the module that has registered this community.
287 For global communities this is the empty string."
288 ::= { begemotSnmpdCommunityEntry 1 }
290 begemotSnmpdCommunityIndex OBJECT-TYPE
291 SYNTAX Unsigned32 (1..4294967295)
292 MAX-ACCESS not-accessible
295 "The numerical index of the community (private to the module)."
296 ::= { begemotSnmpdCommunityEntry 2 }
298 begemotSnmpdCommunityString OBJECT-TYPE
300 MAX-ACCESS read-write
303 "The string for access to SNMPd."
304 ::= { begemotSnmpdCommunityEntry 3 }
306 begemotSnmpdCommunityDescr OBJECT-TYPE
311 "A description what this community is good for."
312 ::= { begemotSnmpdCommunityEntry 4 }
314 begemotSnmpdCommunityPermission OBJECT-TYPE
315 SYNTAX INTEGER (1..4294967295)
316 MAX-ACCESS not-accessible
319 "The numerical value of access rights granted to the community."
320 ::= { begemotSnmpdCommunityEntry 5 }
325 begemotSnmpdModuleTable OBJECT-TYPE
326 SYNTAX SEQUENCE OF BegemotSnmpdModuleEntry
327 MAX-ACCESS not-accessible
330 "A table describing all the currently loaded dynamic modules.
331 Writing to this table loads and unloads modules."
332 ::= { begemotSnmpdObjects 6 }
334 begemotSnmpdModuleEntry OBJECT-TYPE
335 SYNTAX BegemotSnmpdModuleEntry
336 MAX-ACCESS not-accessible
339 "A table entry describing a loadable module."
340 INDEX { begemotSnmpdModuleSection }
341 ::= { begemotSnmpdModuleTable 1 }
343 BegemotSnmpdModuleEntry ::= SEQUENCE {
344 begemotSnmpdModuleSection SectionName,
345 begemotSnmpdModulePath OCTET STRING,
346 begemotSnmpdModuleComment OCTET STRING
349 begemotSnmpdModuleSection OBJECT-TYPE
351 MAX-ACCESS not-accessible
354 "The string used for matching configuration file sections
355 and indexes the module table."
356 ::= { begemotSnmpdModuleEntry 1 }
359 begemotSnmpdModulePath OBJECT-TYPE
361 MAX-ACCESS read-create
364 "The path name of the module. Set to empty string
365 to unload a module. The path of an existing module
367 ::= { begemotSnmpdModuleEntry 2 }
369 begemotSnmpdModuleComment OBJECT-TYPE
374 "A comment describing this module."
375 ::= { begemotSnmpdModuleEntry 3 }
378 -- --------------------------------------------------------------------------
380 -- The STATISTICS Group
382 begemotSnmpdStats OBJECT IDENTIFIER ::= { begemotSnmpdObjects 7 }
384 begemotSnmpdStatsNoRxBufs OBJECT-TYPE
389 "Number of times a receive buffer could not be allocated
391 ::= { begemotSnmpdStats 1 }
393 begemotSnmpdStatsNoTxBufs OBJECT-TYPE
398 "Number of times a transmit buffer could not be allocated
400 ::= { begemotSnmpdStats 2 }
402 begemotSnmpdStatsInTooLongPkts OBJECT-TYPE
407 "Number of packets received that were longer than the
408 receive buffer. These packets are dropped."
409 ::= { begemotSnmpdStats 3 }
411 begemotSnmpdStatsInBadPduTypes OBJECT-TYPE
416 "Number of packets received with a bad type field."
417 ::= { begemotSnmpdStats 4 }
422 begemotSnmpdDebug OBJECT IDENTIFIER ::= { begemotSnmpdObjects 8 }
424 begemotSnmpdDebugDumpPdus OBJECT-TYPE
426 MAX-ACCESS read-write
429 "Dump PDUs to log file if true."
431 ::= { begemotSnmpdDebug 1 }
433 begemotSnmpdDebugSnmpTrace OBJECT-TYPE
435 MAX-ACCESS read-write
438 "Tracing flags for the SNMP library. These flags have the
440 0x00000001 trace GET operator
441 0x00000002 trace GETNEXT operator
442 0x00000004 trace SET operator
443 0x00000008 trace dependency processing
444 0x00000010 trace node finding
445 0x10000000 log ASN1 errors
446 0x20000000 log SNMP errors
447 Individual values can be or-ed together."
449 ::= { begemotSnmpdDebug 2 }
451 begemotSnmpdDebugSyslogPri OBJECT-TYPE
452 SYNTAX INTEGER (0..8)
453 MAX-ACCESS read-write
456 "Events with this or higher priority should not be logged."
457 DEFVAL { 7 } -- don't log debug messages
458 ::= { begemotSnmpdDebug 3 }
463 begemotSnmpdLocalPortTable OBJECT-TYPE
464 SYNTAX SEQUENCE OF BegemotSnmpdLocalPortEntry
465 MAX-ACCESS not-accessible
468 "A table with descriptions of local (unix domain) ports to listen
469 on for SNMP messages."
470 ::= { begemotSnmpdObjects 9 }
472 begemotSnmpdLocalPortEntry OBJECT-TYPE
473 SYNTAX BegemotSnmpdLocalPortEntry
474 MAX-ACCESS not-accessible
477 "An entry in the table with descriptions of local ports to
478 listen on for SNMP messages."
479 INDEX { begemotSnmpdLocalPortPath }
480 ::= { begemotSnmpdLocalPortTable 1 }
482 BegemotSnmpdLocalPortEntry ::= SEQUENCE {
483 begemotSnmpdLocalPortPath OCTET STRING,
484 begemotSnmpdLocalPortStatus INTEGER,
485 begemotSnmpdLocalPortType INTEGER
488 begemotSnmpdLocalPortPath OBJECT-TYPE
489 SYNTAX OCTET STRING (SIZE(1..104))
490 MAX-ACCESS not-accessible
493 "The path name to create and listen on."
494 ::= { begemotSnmpdLocalPortEntry 1 }
496 begemotSnmpdLocalPortStatus OBJECT-TYPE
497 SYNTAX INTEGER { valid(1), invalid(2) }
498 MAX-ACCESS read-create
501 "Set status to 1 to create entry, set it to 2 to delete it."
502 ::= { begemotSnmpdLocalPortEntry 2 }
504 begemotSnmpdLocalPortType OBJECT-TYPE
511 MAX-ACCESS read-create
514 "Type of the port. If the type is unpriv SET operations
515 are allowed from all clients if the community matches. For
516 priv SET operations are allowed only from peers with uid
517 zero. If the daemon cannot determine the peer uid it disallows
518 the SET operation for -priv ports."
519 ::= { begemotSnmpdLocalPortEntry 3 }
522 -- Transport mapping table
524 begemotSnmpdTransportMappings OBJECT IDENTIFIER ::= { begemotSnmpdObjects 10 }
526 begemotSnmpdTransportTable OBJECT-TYPE
527 SYNTAX SEQUENCE OF BegemotSnmpdTransportEntry
528 MAX-ACCESS not-accessible
531 "A table containing all the currently loaded transport mappings."
532 ::= { begemotSnmpdTransportMappings 1 }
534 begemotSnmpdTransportEntry OBJECT-TYPE
535 SYNTAX BegemotSnmpdTransportEntry
536 MAX-ACCESS not-accessible
539 "An entry in the table with the transport mappings."
540 INDEX { begemotSnmpdTransportName }
541 ::= { begemotSnmpdTransportTable 1 }
543 BegemotSnmpdTransportEntry ::= SEQUENCE {
544 begemotSnmpdTransportName OCTET STRING,
545 begemotSnmpdTransportStatus INTEGER,
546 begemotSnmpdTransportOid OBJECT IDENTIFIER
549 begemotSnmpdTransportName OBJECT-TYPE
550 SYNTAX OCTET STRING (SIZE(1..256))
551 MAX-ACCESS not-accessible
554 "The name of the mapping."
555 ::= { begemotSnmpdTransportEntry 1 }
557 begemotSnmpdTransportStatus OBJECT-TYPE
562 "Used to create/activate/destroy the entry."
563 ::= { begemotSnmpdTransportEntry 2 }
565 begemotSnmpdTransportOid OBJECT-TYPE
566 SYNTAX OBJECT IDENTIFIER
570 "A pointer to the group with the transport-dependend stuff."
571 ::= { begemotSnmpdTransportEntry 3 }
574 -- XXX These should go into their own MIB
576 begemotSnmpdTransUdp OBJECT IDENTIFIER ::= { begemotSnmpdTransportMappings 2 }
577 begemotSnmpdTransLsock OBJECT IDENTIFIER ::= { begemotSnmpdTransportMappings 3 }