]> CyberLeo.Net >> Repos - FreeBSD/releng/9.2.git/blob - contrib/bsnmp/snmpd/BEGEMOT-SNMPD.txt
- Copy stable/9 to releng/9.2 as part of the 9.2-RELEASE cycle.
[FreeBSD/releng/9.2.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             0x00000004  - SNMPv3"
144     DEFVAL      { 3 }
145     ::= { begemotSnmpdConfig 5 }
146
147 --
148 -- Trap destinations
149 --
150 begemotTrapSinkTable OBJECT-TYPE
151     SYNTAX      SEQUENCE OF BegemotTrapSinkEntry
152     MAX-ACCESS  not-accessible
153     STATUS      current
154     DESCRIPTION
155             "A table with destinations for standard traps."
156     INDEX       { begemotTrapSinkAddr, begemotTrapSinkPort }
157     ::= { begemotSnmpdObjects 2 }
158
159 begemotTrapSinkEntry OBJECT-TYPE
160     SYNTAX      BegemotTrapSinkEntry
161     MAX-ACCESS  not-accessible
162     STATUS      current
163     DESCRIPTION
164             "Entry describes one trap destination."
165     INDEX       { begemotTrapSinkAddr, begemotTrapSinkPort }
166     ::= { begemotTrapSinkTable 1 }
167
168 BegemotTrapSinkEntry ::= SEQUENCE {
169     begemotTrapSinkAddr         IpAddress,
170     begemotTrapSinkPort         INTEGER,
171     begemotTrapSinkStatus       RowStatus
172 }
173
174 begemotTrapSinkAddr OBJECT-TYPE
175     SYNTAX      IpAddress
176     MAX-ACCESS  not-accessible
177     STATUS      current
178     DESCRIPTION
179             "Destination IP address of the manager station where to send
180             traps."
181     ::= { begemotTrapSinkEntry 1 }
182
183 begemotTrapSinkPort OBJECT-TYPE
184     SYNTAX      INTEGER (1..65535)
185     MAX-ACCESS  not-accessible
186     STATUS      current
187     DESCRIPTION
188             "Destination UDP port of the manager station where to send
189             traps."
190     ::= { begemotTrapSinkEntry 2 }
191
192 begemotTrapSinkStatus OBJECT-TYPE
193     SYNTAX      RowStatus
194     MAX-ACCESS  read-create
195     STATUS      current
196     DESCRIPTION
197             "Used to create/activate/destroy the entry."
198     ::= { begemotTrapSinkEntry 3 }
199
200 --
201 -- SNMP port table
202 --
203 begemotSnmpdPortTable OBJECT-TYPE
204     SYNTAX      SEQUENCE OF BegemotSnmpdPortEntry
205     MAX-ACCESS  not-accessible
206     STATUS      current
207     DESCRIPTION
208             "A table with descriptions of UDP ports to listen on
209             for SNMP messages."
210     ::= { begemotSnmpdObjects 4 }
211
212 begemotSnmpdPortEntry OBJECT-TYPE
213     SYNTAX      BegemotSnmpdPortEntry
214     MAX-ACCESS  not-accessible
215     STATUS      current
216     DESCRIPTION
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 }
221
222 BegemotSnmpdPortEntry ::= SEQUENCE {
223     begemotSnmpdPortAddress     IpAddress,
224     begemotSnmpdPortPort        INTEGER,
225     begemotSnmpdPortStatus      INTEGER
226 }
227
228 begemotSnmpdPortAddress OBJECT-TYPE
229     SYNTAX      IpAddress
230     MAX-ACCESS  not-accessible
231     STATUS      current
232     DESCRIPTION
233             "The IP address to bind to."
234     ::= { begemotSnmpdPortEntry 1 }
235
236 begemotSnmpdPortPort OBJECT-TYPE
237     SYNTAX      INTEGER (1..65535)
238     MAX-ACCESS  not-accessible
239     STATUS      current
240     DESCRIPTION
241             "The UDP port to listen on for SNMP messages."
242     ::= { begemotSnmpdPortEntry 2 }
243
244 begemotSnmpdPortStatus OBJECT-TYPE
245     SYNTAX      INTEGER { valid(1), invalid(2) }
246     MAX-ACCESS  read-create
247     STATUS      current
248     DESCRIPTION
249             "Set status to 1 to create entry, set it to 2 to delete it."
250     ::= { begemotSnmpdPortEntry 3 }
251
252 ---
253 --- Community table
254 ---
255 begemotSnmpdCommunityTable OBJECT-TYPE
256     SYNTAX      SEQUENCE OF BegemotSnmpdCommunityEntry
257     MAX-ACCESS  not-accessible
258     STATUS      current
259     DESCRIPTION
260             "A table with the community strings for access control."
261     ::= { begemotSnmpdObjects 5 }
262
263 begemotSnmpdCommunityEntry OBJECT-TYPE
264     SYNTAX      BegemotSnmpdCommunityEntry
265     MAX-ACCESS  not-accessible
266     STATUS      current
267     DESCRIPTION
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 }
272
273 BegemotSnmpdCommunityEntry ::= SEQUENCE {
274     begemotSnmpdCommunityModule SectionName,
275     begemotSnmpdCommunityIndex  Unsigned32,
276     begemotSnmpdCommunityString OCTET STRING,
277     begemotSnmpdCommunityDescr  OCTET STRING
278 }
279
280 begemotSnmpdCommunityModule OBJECT-TYPE
281     SYNTAX      SectionName
282     MAX-ACCESS  not-accessible
283     STATUS      current
284     DESCRIPTION
285             "Index of the module that has registered this community.
286             For global communities this is the empty string."
287     ::= { begemotSnmpdCommunityEntry 1 }
288
289 begemotSnmpdCommunityIndex OBJECT-TYPE
290     SYNTAX      Unsigned32 (1..4294967295)
291     MAX-ACCESS  not-accessible
292     STATUS      current
293     DESCRIPTION
294             "The numerical index of the community (private to the module)."
295     ::= { begemotSnmpdCommunityEntry 2 }
296
297 begemotSnmpdCommunityString OBJECT-TYPE
298     SYNTAX      OCTET STRING
299     MAX-ACCESS  read-write
300     STATUS      current
301     DESCRIPTION
302             "The string for access to SNMPd."
303     ::= { begemotSnmpdCommunityEntry 3 }
304
305 begemotSnmpdCommunityDescr OBJECT-TYPE
306     SYNTAX      OCTET STRING
307     MAX-ACCESS  read-only
308     STATUS      current
309     DESCRIPTION
310             "A description what this community is good for."
311     ::= { begemotSnmpdCommunityEntry 4 }
312
313 --
314 -- Module table
315 --
316 begemotSnmpdModuleTable OBJECT-TYPE
317     SYNTAX      SEQUENCE OF BegemotSnmpdModuleEntry
318     MAX-ACCESS  not-accessible
319     STATUS      current
320     DESCRIPTION
321             "A table describing all the currently loaded dynamic modules.
322             Writing to this table loads and unloads modules."
323     ::= { begemotSnmpdObjects 6 }
324
325 begemotSnmpdModuleEntry OBJECT-TYPE
326     SYNTAX      BegemotSnmpdModuleEntry
327     MAX-ACCESS  not-accessible
328     STATUS      current
329     DESCRIPTION
330             "A table entry describing a loadable module."
331     INDEX       { begemotSnmpdModuleSection }
332     ::= { begemotSnmpdModuleTable 1 }
333
334 BegemotSnmpdModuleEntry ::= SEQUENCE {
335     begemotSnmpdModuleSection   SectionName,
336     begemotSnmpdModulePath      OCTET STRING,
337     begemotSnmpdModuleComment   OCTET STRING
338 }
339
340 begemotSnmpdModuleSection OBJECT-TYPE
341     SYNTAX      SectionName
342     MAX-ACCESS  not-accessible
343     STATUS      current
344     DESCRIPTION
345             "The string used for matching configuration file sections
346             and indexes the module table."
347     ::= { begemotSnmpdModuleEntry 1 }
348
349
350 begemotSnmpdModulePath OBJECT-TYPE
351     SYNTAX      OCTET STRING
352     MAX-ACCESS  read-create
353     STATUS      current
354     DESCRIPTION
355             "The path name of the module. Set to empty string
356             to unload a module. The path of an existing module
357             may not be changed."
358     ::= { begemotSnmpdModuleEntry 2 }
359
360 begemotSnmpdModuleComment OBJECT-TYPE
361     SYNTAX      OCTET STRING
362     MAX-ACCESS  read-only
363     STATUS      current
364     DESCRIPTION
365             "A comment describing this module."
366     ::= { begemotSnmpdModuleEntry 3 }
367
368
369 -- --------------------------------------------------------------------------
370 --
371 -- The STATISTICS Group
372 --
373 begemotSnmpdStats       OBJECT IDENTIFIER ::= { begemotSnmpdObjects 7 }
374
375 begemotSnmpdStatsNoRxBufs OBJECT-TYPE
376     SYNTAX      Counter32
377     MAX-ACCESS  read-only
378     STATUS      current
379     DESCRIPTION
380             "Number of times a receive buffer could not be allocated
381             for a packet."
382     ::= { begemotSnmpdStats 1 }
383
384 begemotSnmpdStatsNoTxBufs OBJECT-TYPE
385     SYNTAX      Counter32
386     MAX-ACCESS  read-only
387     STATUS      current
388     DESCRIPTION
389             "Number of times a transmit buffer could not be allocated
390             for a packet."
391     ::= { begemotSnmpdStats 2 }
392
393 begemotSnmpdStatsInTooLongPkts OBJECT-TYPE
394     SYNTAX      Counter32
395     MAX-ACCESS  read-only
396     STATUS      current
397     DESCRIPTION
398             "Number of packets received that were longer than the
399             receive buffer. These packets are dropped."
400     ::= { begemotSnmpdStats 3 }
401
402 begemotSnmpdStatsInBadPduTypes OBJECT-TYPE
403     SYNTAX      Counter32
404     MAX-ACCESS  read-only
405     STATUS      current
406     DESCRIPTION
407             "Number of packets received with a bad type field."
408     ::= { begemotSnmpdStats 4 }
409
410 --
411 -- The Debug Group
412 --
413 begemotSnmpdDebug       OBJECT IDENTIFIER ::= { begemotSnmpdObjects 8 }
414
415 begemotSnmpdDebugDumpPdus OBJECT-TYPE
416     SYNTAX      TruthValue
417     MAX-ACCESS  read-write
418     STATUS      current
419     DESCRIPTION
420             "Dump PDUs to log file if true."
421     DEFVAL      { false }
422     ::= { begemotSnmpdDebug 1 }
423
424 begemotSnmpdDebugSnmpTrace OBJECT-TYPE
425     SYNTAX      Unsigned32
426     MAX-ACCESS  read-write
427     STATUS      current
428     DESCRIPTION
429             "Tracing flags for the SNMP library. These flags have the
430             following meaning:
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."
439     DEFVAL      { 0 }
440     ::= { begemotSnmpdDebug 2 }
441
442 begemotSnmpdDebugSyslogPri OBJECT-TYPE
443     SYNTAX      INTEGER (0..8)
444     MAX-ACCESS  read-write
445     STATUS      current
446     DESCRIPTION
447             "Events with this or higher priority should not be logged."
448     DEFVAL      { 7 }   -- don't log debug messages
449     ::= { begemotSnmpdDebug 3 }
450
451 --
452 -- Local port table
453 --
454 begemotSnmpdLocalPortTable OBJECT-TYPE
455     SYNTAX      SEQUENCE OF BegemotSnmpdLocalPortEntry
456     MAX-ACCESS  not-accessible
457     STATUS      current
458     DESCRIPTION
459             "A table with descriptions of local (unix domain) ports to listen
460             on for SNMP messages."
461     ::= { begemotSnmpdObjects 9 }
462
463 begemotSnmpdLocalPortEntry OBJECT-TYPE
464     SYNTAX      BegemotSnmpdLocalPortEntry
465     MAX-ACCESS  not-accessible
466     STATUS      current
467     DESCRIPTION
468             "An entry in the table with descriptions of local ports to
469             listen on for SNMP messages."
470     INDEX       { begemotSnmpdLocalPortPath }
471     ::= { begemotSnmpdLocalPortTable 1 }
472
473 BegemotSnmpdLocalPortEntry ::= SEQUENCE {
474     begemotSnmpdLocalPortPath   OCTET STRING,
475     begemotSnmpdLocalPortStatus INTEGER,
476     begemotSnmpdLocalPortType   INTEGER
477 }
478
479 begemotSnmpdLocalPortPath OBJECT-TYPE
480     SYNTAX      OCTET STRING (SIZE(1..104))
481     MAX-ACCESS  not-accessible
482     STATUS      current
483     DESCRIPTION
484             "The path name to create and listen on."
485     ::= { begemotSnmpdLocalPortEntry 1 }
486
487 begemotSnmpdLocalPortStatus OBJECT-TYPE
488     SYNTAX      INTEGER { valid(1), invalid(2) }
489     MAX-ACCESS  read-create
490     STATUS      current
491     DESCRIPTION
492             "Set status to 1 to create entry, set it to 2 to delete it."
493     ::= { begemotSnmpdLocalPortEntry 2 }
494
495 begemotSnmpdLocalPortType OBJECT-TYPE
496     SYNTAX      INTEGER {
497                         dgram-unpriv(1),
498                         dgram-priv(2),
499                         stream-unpriv(3),
500                         stream-priv(4)
501                 }
502     MAX-ACCESS  read-create
503     STATUS      current
504     DESCRIPTION
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 }
511
512 --
513 -- Transport mapping table
514 --
515 begemotSnmpdTransportMappings   OBJECT IDENTIFIER ::= { begemotSnmpdObjects 10 }
516
517 begemotSnmpdTransportTable OBJECT-TYPE
518     SYNTAX      SEQUENCE OF BegemotSnmpdTransportEntry
519     MAX-ACCESS  not-accessible
520     STATUS      current
521     DESCRIPTION
522             "A table containing all the currently loaded transport mappings."
523     ::= { begemotSnmpdTransportMappings 1 }
524
525 begemotSnmpdTransportEntry OBJECT-TYPE
526     SYNTAX      BegemotSnmpdTransportEntry
527     MAX-ACCESS  not-accessible
528     STATUS      current
529     DESCRIPTION
530             "An entry in the table with the transport mappings."
531     INDEX       { begemotSnmpdTransportName }
532     ::= { begemotSnmpdTransportTable 1 }
533
534 BegemotSnmpdTransportEntry ::= SEQUENCE {
535     begemotSnmpdTransportName   OCTET STRING,
536     begemotSnmpdTransportStatus INTEGER,
537     begemotSnmpdTransportOid    OBJECT IDENTIFIER
538 }
539
540 begemotSnmpdTransportName OBJECT-TYPE
541     SYNTAX      OCTET STRING (SIZE(1..256))
542     MAX-ACCESS  not-accessible
543     STATUS      current
544     DESCRIPTION
545             "The name of the mapping."
546     ::= { begemotSnmpdTransportEntry 1 }
547
548 begemotSnmpdTransportStatus OBJECT-TYPE
549     SYNTAX      RowStatus
550     MAX-ACCESS  read-only
551     STATUS      current
552     DESCRIPTION
553             "Used to create/activate/destroy the entry."
554     ::= { begemotSnmpdTransportEntry 2 }
555
556 begemotSnmpdTransportOid OBJECT-TYPE
557     SYNTAX      OBJECT IDENTIFIER
558     MAX-ACCESS  read-only
559     STATUS      current
560     DESCRIPTION
561             "A pointer to the group with the transport-dependend stuff."
562     ::= { begemotSnmpdTransportEntry 3 }
563
564 --
565 -- XXX These should go into their own MIB
566 --
567 begemotSnmpdTransUdp    OBJECT IDENTIFIER ::= { begemotSnmpdTransportMappings 2 }
568 begemotSnmpdTransLsock  OBJECT IDENTIFIER ::= { begemotSnmpdTransportMappings 3 }
569
570 END