xref: /freebsd/usr.sbin/bsnmpd/modules/snmp_netgraph/BEGEMOT-NETGRAPH.txt (revision d0b2dbfa0ecf2bbc9709efc5e20baf8e4b44bbbf)
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 of this software and documentation and use in source and
9-- binary forms, with or without modification, are permitted provided that
10-- the following conditions are met:
11--
12-- 1. Redistributions of source code or documentation must retain the above
13--    copyright notice, this list of conditions and the following disclaimer.
14-- 2. Redistributions in binary form must reproduce the above copyright
15--    notice, this list of conditions and the following disclaimer in the
16--    documentation and/or other materials provided with the distribution.
17--
18-- THIS SOFTWARE AND DOCUMENTATION IS PROVIDED BY FRAUNHOFER FOKUS
19-- AND ITS CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
20-- INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
21-- FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL
22-- FRAUNHOFER FOKUS OR ITS CONTRIBUTORS  BE LIABLE FOR ANY DIRECT, INDIRECT,
23-- INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
24-- LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
25-- OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
26-- LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
27-- NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
28-- EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29--
30-- $FreeBSD$
31--
32-- Private MIB for netgraph part of Begemot SNMP daemon.
33--
34BEGEMOT-NETGRAPH-MIB DEFINITIONS ::= BEGIN
35
36IMPORTS
37    MODULE-IDENTITY, OBJECT-TYPE, Counter32, Unsigned32
38	FROM SNMPv2-SMI
39    TEXTUAL-CONVENTION, TruthValue
40	FROM SNMPv2-TC
41    MODULE-COMPLIANCE, OBJECT-GROUP
42	FROM SNMPv2-CONF
43    begemot
44	FROM BEGEMOT-MIB;
45
46begemotNg MODULE-IDENTITY
47    LAST-UPDATED "200311140000Z"
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 for the NetGraph access module for SNMP."
62    REVISION "200311140000Z"
63    DESCRIPTION
64	    "The maximum width of the following OCTET STRINGs was increased
65	    from 15 to 31:
66
67	    - NgTypeName
68	    - NgNodeName
69	    - NgNodeNameOrEmpty
70	    - NgHookName
71	    "
72    REVISION "200201310000Z"
73    DESCRIPTION
74	    "Initial revision."
75    ::= { begemot 2 }
76
77begemotNgObjects	OBJECT IDENTIFIER ::= { begemotNg 1 }
78
79-- --------------------------------------------------------------------------
80
81NgTypeName ::= TEXTUAL-CONVENTION
82    DISPLAY-HINT "31a"
83    STATUS	current
84    DESCRIPTION
85	"Name of a netgraph type."
86    SYNTAX	OCTET STRING (SIZE(1..31))
87
88NgNodeName ::= TEXTUAL-CONVENTION
89    DISPLAY-HINT "31a"
90    STATUS	current
91    DESCRIPTION
92	"Name of a netgraph node."
93    SYNTAX	OCTET STRING (SIZE(1..31))
94
95NgNodeNameOrEmpty ::= TEXTUAL-CONVENTION
96    DISPLAY-HINT "31a"
97    STATUS	current
98    DESCRIPTION
99	"Name of a netgraph node."
100    SYNTAX	OCTET STRING (SIZE(0..31))
101
102NgHookName ::= TEXTUAL-CONVENTION
103    DISPLAY-HINT "31a"
104    STATUS	current
105    DESCRIPTION
106	"Name of a netgraph hook."
107    SYNTAX	OCTET STRING (SIZE(1..31))
108
109NgNodeId ::= TEXTUAL-CONVENTION
110    DISPLAY-HINT "x"
111    STATUS	current
112    DESCRIPTION
113	"Node identifier."
114    SYNTAX	Unsigned32 (1..4294967295)
115
116NgNodeIdOrZero ::= TEXTUAL-CONVENTION
117    DISPLAY-HINT "x"
118    STATUS	current
119    DESCRIPTION
120	"Node identifier or 0 for 'no-node'."
121    SYNTAX	Unsigned32 (0..4294967295)
122
123-- --------------------------------------------------------------------------
124--
125-- Configuration parameters
126--
127begemotNgConfig	OBJECT IDENTIFIER ::= { begemotNgObjects 1 }
128
129begemotNgControlNodeName OBJECT-TYPE
130    SYNTAX	NgNodeName
131    MAX-ACCESS	read-only
132    STATUS	current
133    DESCRIPTION
134	    "The name of the netgraph node of this daemon. The name is
135	    writeable during initialisation. If the name is set from
136	    the empty string to the non-empty string, the netgraph socket
137	    is created. Once set it cannot be changed."
138    ::= { begemotNgConfig 1 }
139
140begemotNgResBufSiz OBJECT-TYPE
141    SYNTAX	INTEGER (1024..65536)
142    MAX-ACCESS	read-write
143    STATUS	current
144    DESCRIPTION
145	    "The size of the receive buffers for netgraph messages."
146    DEFVAL	{ 20000 }
147    ::= { begemotNgConfig 2 }
148
149begemotNgTimeout OBJECT-TYPE
150    SYNTAX	INTEGER (10..10000)
151    UNITS	"milliseconds"
152    MAX-ACCESS	read-write
153    STATUS	current
154    DESCRIPTION
155	    "The maximum time to wait for a response to a netgraph message."
156    DEFVAL	{ 1000 }
157    ::= { begemotNgConfig 3 }
158
159begemotNgDebugLevel OBJECT-TYPE
160    SYNTAX	Unsigned32
161    MAX-ACCESS	read-write
162    STATUS	current
163    DESCRIPTION
164	    "The netgraph library debug level. This should be set only
165	    if the daemon is run with a terminal attached."
166    DEFVAL	{ 0 }
167    ::= { begemotNgConfig 4 }
168
169-- --------------------------------------------------------------------------
170--
171-- The STATISTICS Group
172--
173begemotNgStats	OBJECT IDENTIFIER ::= { begemotNgObjects 2 }
174
175begemotNgNoMems OBJECT-TYPE
176    SYNTAX	Counter32
177    MAX-ACCESS	read-only
178    STATUS	current
179    DESCRIPTION
180	    "Number of times a memory allocation has failed for buffers
181	    or the message queue."
182    ::= { begemotNgStats 1 }
183
184begemotNgMsgReadErrs OBJECT-TYPE
185    SYNTAX	Counter32
186    MAX-ACCESS	read-only
187    STATUS	current
188    DESCRIPTION
189	    "Number of times reading a netgraph message has failed."
190    ::= { begemotNgStats 2 }
191
192begemotNgTooLargeMsgs OBJECT-TYPE
193    SYNTAX	Counter32
194    MAX-ACCESS	read-only
195    STATUS	current
196    DESCRIPTION
197	    "Number of times a netgraph message was too large for
198	    the buffer. Try increasing begemotNgResBufSiz if
199	    this happens."
200    ::= { begemotNgStats 3 }
201
202begemotNgDataReadErrs OBJECT-TYPE
203    SYNTAX	Counter32
204    MAX-ACCESS	read-only
205    STATUS	current
206    DESCRIPTION
207	    "Number of times reading a netgraph data message has failed."
208    ::= { begemotNgStats 4 }
209
210begemotNgTooLargeDatas OBJECT-TYPE
211    SYNTAX	Counter32
212    MAX-ACCESS	read-only
213    STATUS	current
214    DESCRIPTION
215	    "Number of times a netgraph data message was too large.
216	    You need to increase begemotNgResBufSiz."
217    ::= { begemotNgStats 5 }
218
219-- -----------------------------------------------------
220--
221-- The NODE table
222--
223begemotNgTypeTable OBJECT-TYPE
224    SYNTAX	SEQUENCE OF BegemotNgTypeEntry
225    MAX-ACCESS	not-accessible
226    STATUS	current
227    DESCRIPTION
228	    "A table containing information about all netgraph node types."
229    ::= { begemotNgObjects 3 }
230
231begemotNgTypeEntry OBJECT-TYPE
232    SYNTAX	BegemotNgTypeEntry
233    MAX-ACCESS	not-accessible
234    STATUS	current
235    DESCRIPTION
236	    "Table entry that describes one netgraph node."
237    INDEX	{ begemotNgTypeName }
238    ::= { begemotNgTypeTable 1 }
239
240BegemotNgTypeEntry ::= SEQUENCE {
241    begemotNgTypeName	NgTypeName,
242    begemotNgTypeStatus	INTEGER
243}
244
245begemotNgTypeName OBJECT-TYPE
246    SYNTAX	NgTypeName
247    MAX-ACCESS	not-accessible
248    STATUS	current
249    DESCRIPTION
250	    "The name of the type. Used as index."
251    ::= { begemotNgTypeEntry 1 }
252
253begemotNgTypeStatus OBJECT-TYPE
254    SYNTAX	INTEGER { loaded(1), unloaded(2) }
255    MAX-ACCESS	read-create
256    STATUS	current
257    DESCRIPTION
258	    "If loaded then the node type is available. A type can be load
259	    by setting this field to loaded. It is unload if the field is
260	    set to unloaded. Note, that a type cannot be unloaded if it
261	    is compiled into the kernel or has nodes of this type. The name
262	    of the file containing the type implementation is constructed by
263	    prepending ng_ to the type name."
264    ::= { begemotNgTypeEntry 2 }
265
266--
267-- Node table
268--
269begemotNgNodeTable OBJECT-TYPE
270    SYNTAX	SEQUENCE OF BegemotNgNodeEntry
271    MAX-ACCESS	not-accessible
272    STATUS	current
273    DESCRIPTION
274	    "A table containing information about all netgraph nodes."
275    ::= { begemotNgObjects 4 }
276
277begemotNgNodeEntry OBJECT-TYPE
278    SYNTAX	BegemotNgNodeEntry
279    MAX-ACCESS	not-accessible
280    STATUS	current
281    DESCRIPTION
282	    "Table entry that describes one netgraph node."
283    INDEX	{ begemotNgNodeId }
284    ::= { begemotNgNodeTable 1 }
285
286BegemotNgNodeEntry ::= SEQUENCE {
287    begemotNgNodeId	NgNodeId,
288    begemotNgNodeStatus INTEGER,
289    begemotNgNodeName	NgNodeNameOrEmpty,
290    begemotNgNodeType	NgTypeName,
291    begemotNgNodeHooks	Unsigned32
292}
293
294begemotNgNodeId OBJECT-TYPE
295    SYNTAX	NgNodeId
296    MAX-ACCESS	not-accessible
297    STATUS	current
298    DESCRIPTION
299	    "The 32bit node id of this node. 0 is an illegal value."
300    ::= { begemotNgNodeEntry 1 }
301
302begemotNgNodeStatus OBJECT-TYPE
303    SYNTAX	INTEGER { valid(1), invalid(2) }
304    MAX-ACCESS	read-only
305    STATUS	current
306    DESCRIPTION
307	    "Indicates whether the node exists or not."
308    ::= { begemotNgNodeEntry 2 }
309
310begemotNgNodeName OBJECT-TYPE
311    SYNTAX	NgNodeNameOrEmpty
312    MAX-ACCESS	read-only
313    STATUS	current
314    DESCRIPTION
315	    "Name of the node (if any)."
316    ::= { begemotNgNodeEntry 3 }
317
318begemotNgNodeType OBJECT-TYPE
319    SYNTAX	NgTypeName
320    MAX-ACCESS	read-only
321    STATUS	current
322    DESCRIPTION
323	    "Type name of the node."
324    ::= { begemotNgNodeEntry 4 }
325
326begemotNgNodeHooks OBJECT-TYPE
327    SYNTAX	Unsigned32
328    MAX-ACCESS	read-only
329    STATUS	current
330    DESCRIPTION
331	    "Number of hooks on this node."
332    ::= { begemotNgNodeEntry 5 }
333
334--
335-- Hook table
336--
337begemotNgHookTable OBJECT-TYPE
338    SYNTAX	SEQUENCE OF BegemotNgHookEntry
339    MAX-ACCESS	not-accessible
340    STATUS	current
341    DESCRIPTION
342	    "A table containing information about all netgraph hooks."
343    ::= { begemotNgObjects 5 }
344
345begemotNgHookEntry OBJECT-TYPE
346    SYNTAX	BegemotNgHookEntry
347    MAX-ACCESS	not-accessible
348    STATUS	current
349    DESCRIPTION
350	    "Table entry that describes one netgraph node."
351    INDEX	{ begemotNgHookNodeId, begemotNgHookHook }
352    ::= { begemotNgHookTable 1 }
353
354BegemotNgHookEntry ::= SEQUENCE {
355    begemotNgHookNodeId		NgNodeId,
356    begemotNgHookHook		NgHookName,
357    begemotNgHookStatus		INTEGER,
358    begemotNgHookPeerNodeId	NgNodeId,
359    begemotNgHookPeerHook	NgHookName,
360    begemotNgHookPeerType	NgTypeName
361}
362
363begemotNgHookNodeId OBJECT-TYPE
364    SYNTAX	NgNodeId
365    MAX-ACCESS	not-accessible
366    STATUS	current
367    DESCRIPTION
368	    "The 32bit node id of this node."
369    ::= { begemotNgHookEntry 1 }
370
371begemotNgHookHook OBJECT-TYPE
372    SYNTAX	NgHookName
373    MAX-ACCESS	read-only
374    STATUS	current
375    DESCRIPTION
376	    "Name of the hook."
377    ::= { begemotNgHookEntry 2 }
378
379begemotNgHookStatus OBJECT-TYPE
380    SYNTAX	INTEGER { valid(1), invalid(2) }
381    MAX-ACCESS	read-only
382    STATUS	current
383    DESCRIPTION
384	    "Indicates whether the hook exists or not."
385    ::= { begemotNgHookEntry 3 }
386
387begemotNgHookPeerNodeId OBJECT-TYPE
388    SYNTAX	NgNodeId
389    MAX-ACCESS	read-only
390    STATUS	current
391    DESCRIPTION
392	    "The 32bit node id of the peer node of this hook."
393    ::= { begemotNgHookEntry 4 }
394
395begemotNgHookPeerHook OBJECT-TYPE
396    SYNTAX	NgHookName
397    MAX-ACCESS	read-only
398    STATUS	current
399    DESCRIPTION
400	    "Name of the peer hook."
401    ::= { begemotNgHookEntry 5 }
402
403begemotNgHookPeerType OBJECT-TYPE
404    SYNTAX	NgTypeName
405    MAX-ACCESS	read-only
406    STATUS	current
407    DESCRIPTION
408	    "Name of the peer type."
409    ::= { begemotNgHookEntry 6 }
410
411END
412