]> CyberLeo.Net >> Repos - FreeBSD/releng/8.1.git/blob - contrib/bsnmp/snmpd/BEGEMOT-SNMPD.txt
Copy stable/8 to releng/8.1 in preparation for 8.1-RC1.
[FreeBSD/releng/8.1.git] / contrib / bsnmp / snmpd / BEGEMOT-SNMPD.txt
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 --
33 BEGEMOT-SNMPD-MIB DEFINITIONS ::= BEGIN
34
35 IMPORTS
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
46 begemotSnmpd 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
64 begemotSnmpdObjects     OBJECT IDENTIFIER ::= { begemotSnmpd 1 }
65 begemotSnmpdDefs        OBJECT IDENTIFIER ::= { begemotSnmpd 2 }
66
67 -- --------------------------------------------------------------------------
68
69 SectionName ::= 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 --
81 begemotSnmpdAgent       OBJECT IDENTIFIER ::= { begemotSnmpdDefs 1 }
82
83 begemotSnmpdAgentFreeBSD 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 --
93 begemotSnmpdConfig      OBJECT IDENTIFIER ::= { begemotSnmpdObjects 1 }
94
95 begemotSnmpdTransmitBuffer 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
105 begemotSnmpdReceiveBuffer 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
115 begemotSnmpdCommunityDisable 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
125 begemotSnmpdTrap1Addr 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
133 begemotSnmpdVersionEnable 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 --
149 begemotTrapSinkTable 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
158 begemotTrapSinkEntry 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
167 BegemotTrapSinkEntry ::= SEQUENCE {
168     begemotTrapSinkAddr         IpAddress,
169     begemotTrapSinkPort         INTEGER,
170     begemotTrapSinkStatus       RowStatus
171 }
172
173 begemotTrapSinkAddr 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
182 begemotTrapSinkPort 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
191 begemotTrapSinkStatus 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 --
202 begemotSnmpdPortTable 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
211 begemotSnmpdPortEntry 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
221 BegemotSnmpdPortEntry ::= SEQUENCE {
222     begemotSnmpdPortAddress     IpAddress,
223     begemotSnmpdPortPort        INTEGER,
224     begemotSnmpdPortStatus      INTEGER
225 }
226
227 begemotSnmpdPortAddress 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
235 begemotSnmpdPortPort 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
243 begemotSnmpdPortStatus 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 ---
254 begemotSnmpdCommunityTable 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
262 begemotSnmpdCommunityEntry 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
272 BegemotSnmpdCommunityEntry ::= SEQUENCE {
273     begemotSnmpdCommunityModule SectionName,
274     begemotSnmpdCommunityIndex  Unsigned32,
275     begemotSnmpdCommunityString OCTET STRING,
276     begemotSnmpdCommunityDescr  OCTET STRING
277 }
278
279 begemotSnmpdCommunityModule 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
288 begemotSnmpdCommunityIndex 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
296 begemotSnmpdCommunityString 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
304 begemotSnmpdCommunityDescr 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 --
315 begemotSnmpdModuleTable 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
324 begemotSnmpdModuleEntry 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
333 BegemotSnmpdModuleEntry ::= SEQUENCE {
334     begemotSnmpdModuleSection   SectionName,
335     begemotSnmpdModulePath      OCTET STRING,
336     begemotSnmpdModuleComment   OCTET STRING
337 }
338
339 begemotSnmpdModuleSection 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
349 begemotSnmpdModulePath 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
359 begemotSnmpdModuleComment 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 --
372 begemotSnmpdStats       OBJECT IDENTIFIER ::= { begemotSnmpdObjects 7 }
373
374 begemotSnmpdStatsNoRxBufs 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
383 begemotSnmpdStatsNoTxBufs 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
392 begemotSnmpdStatsInTooLongPkts 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
401 begemotSnmpdStatsInBadPduTypes 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 --
412 begemotSnmpdDebug       OBJECT IDENTIFIER ::= { begemotSnmpdObjects 8 }
413
414 begemotSnmpdDebugDumpPdus 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
423 begemotSnmpdDebugSnmpTrace 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
441 begemotSnmpdDebugSyslogPri 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 --
453 begemotSnmpdLocalPortTable 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
462 begemotSnmpdLocalPortEntry 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
472 BegemotSnmpdLocalPortEntry ::= SEQUENCE {
473     begemotSnmpdLocalPortPath   OCTET STRING,
474     begemotSnmpdLocalPortStatus INTEGER,
475     begemotSnmpdLocalPortType   INTEGER
476 }
477
478 begemotSnmpdLocalPortPath 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
486 begemotSnmpdLocalPortStatus 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
494 begemotSnmpdLocalPortType 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 --
514 begemotSnmpdTransportMappings   OBJECT IDENTIFIER ::= { begemotSnmpdObjects 10 }
515
516 begemotSnmpdTransportTable 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
524 begemotSnmpdTransportEntry 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
533 BegemotSnmpdTransportEntry ::= SEQUENCE {
534     begemotSnmpdTransportName   OCTET STRING,
535     begemotSnmpdTransportStatus INTEGER,
536     begemotSnmpdTransportOid    OBJECT IDENTIFIER
537 }
538
539 begemotSnmpdTransportName 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
547 begemotSnmpdTransportStatus 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
555 begemotSnmpdTransportOid 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 --
566 begemotSnmpdTransUdp    OBJECT IDENTIFIER ::= { begemotSnmpdTransportMappings 2 }
567 begemotSnmpdTransLsock  OBJECT IDENTIFIER ::= { begemotSnmpdTransportMappings 3 }
568
569 END