xref: /freebsd/contrib/bsnmp/snmpd/BEGEMOT-SNMPD.txt (revision 5ca8e32633c4ffbbcd6762e5888b6a4ba0708c6c)
1--
2-- Copyright (c) 2001-2003
3--	Fraunhofer Institute for Open Communication Systems (FhG Fokus).
4--	All rights reserved.
5--
6-- Copyright (c) 2018
7--	Hartmut Brandt.
8--	All rights reserved.
9--
10-- Author: Harti Brandt <harti@freebsd.org>
11--
12-- Redistribution and use in source and binary forms, with or without
13-- modification, are permitted provided that the following conditions
14-- are met:
15-- 1. Redistributions of source code must retain the above copyright
16--    notice, this list of conditions and the following disclaimer.
17-- 2. Redistributions in binary form must reproduce the above copyright
18--    notice, this list of conditions and the following disclaimer in the
19--    documentation and/or other materials provided with the distribution.
20--
21-- THIS SOFTWARE IS PROVIDED BY AUTHOR AND CONTRIBUTORS ``AS IS'' AND
22-- ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
23-- IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
24-- ARE DISCLAIMED.  IN NO EVENT SHALL AUTHOR OR CONTRIBUTORS BE LIABLE
25-- FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
26-- DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
27-- OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
28-- HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
29-- LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
30-- OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
31-- SUCH DAMAGE.
32--
33-- $Begemot: bsnmp/snmpd/BEGEMOT-SNMPD.txt,v 1.23 2004/08/06 08:47:08 brandt Exp $
34--
35-- Begemot Private SNMPd MIB.
36--
37BEGEMOT-SNMPD-MIB DEFINITIONS ::= BEGIN
38
39IMPORTS
40    MODULE-IDENTITY, OBJECT-TYPE, OBJECT-IDENTITY, Counter32,
41    Integer32, Unsigned32, IpAddress
42	FROM SNMPv2-SMI
43    TEXTUAL-CONVENTION, TruthValue, RowStatus
44	FROM SNMPv2-TC
45    InetAddressType, InetAddress, InetPortNumber
46	FROM INET-ADDRESS-MIB
47    begemot
48	FROM BEGEMOT-MIB;
49
50begemotSnmpd MODULE-IDENTITY
51    LAST-UPDATED "201808080000Z"
52    ORGANIZATION "Fraunhofer FOKUS, CATS"
53    CONTACT-INFO
54	    "		Hartmut Brandt
55
56	     Postal:	Fraunhofer Institute for Open Communication Systems
57			Kaiserin-Augusta-Allee 31
58			10589 Berlin
59			Germany
60
61	     Fax:	+49 30 3463 7352
62
63	     E-mail:	harti@freebsd.org"
64    DESCRIPTION
65	    "The MIB module for the Begemot SNMP daemon."
66    REVISION	"201808080000Z"
67    DESCRIPTION
68	    "Add the begemotSnmpdTransInetTable."
69    ::= { begemot 1 }
70
71begemotSnmpdObjects	OBJECT IDENTIFIER ::= { begemotSnmpd 1 }
72begemotSnmpdDefs	OBJECT IDENTIFIER ::= { begemotSnmpd 2 }
73
74-- --------------------------------------------------------------------------
75
76SectionName ::= TEXTUAL-CONVENTION
77    DISPLAY-HINT "14a"
78    STATUS	current
79    DESCRIPTION
80	"Name of a loadable module. Should consist of alphanumeric characers
81	only, the first character must be a letter."
82    SYNTAX	OCTET STRING (SIZE(1..14))
83
84-- --------------------------------------------------------------------------
85--
86-- Agent types
87--
88begemotSnmpdAgent	OBJECT IDENTIFIER ::= { begemotSnmpdDefs 1 }
89
90begemotSnmpdAgentFreeBSD OBJECT-IDENTITY
91    STATUS	current
92    DESCRIPTION
93	    "Identifies the agent as running on FreeBSD."
94    ::= { begemotSnmpdAgent 1 }
95
96-- --------------------------------------------------------------------------
97--
98-- The Config Group
99--
100begemotSnmpdConfig	OBJECT IDENTIFIER ::= { begemotSnmpdObjects 1 }
101
102begemotSnmpdTransmitBuffer OBJECT-TYPE
103    SYNTAX	Integer32 (484..65535)
104    MAX-ACCESS	read-write
105    STATUS	current
106    DESCRIPTION
107	    "The size of the receive buffer in bytes. Larger messages
108	    are dropped by SNMPd."
109    DEFVAL	{ 2048 }
110    ::= { begemotSnmpdConfig 1 }
111
112begemotSnmpdReceiveBuffer OBJECT-TYPE
113    SYNTAX	Integer32 (484..65535)
114    MAX-ACCESS	read-write
115    STATUS	current
116    DESCRIPTION
117	    "The size of the transmit buffer in bytes. Larger messages
118	    cannot be sent by the SNMPd."
119    DEFVAL	{ 2048 }
120    ::= { begemotSnmpdConfig 2 }
121
122begemotSnmpdCommunityDisable OBJECT-TYPE
123    SYNTAX	TruthValue
124    MAX-ACCESS	read-write
125    STATUS	current
126    DESCRIPTION
127	    "Disables all access to the CommunityTable from SNMP. Once
128	    set it cannot be cleared."
129    DEFVAL	{ false }
130    ::= { begemotSnmpdConfig 3 }
131
132begemotSnmpdTrap1Addr OBJECT-TYPE
133    SYNTAX	IpAddress
134    MAX-ACCESS	read-write
135    STATUS	current
136    DESCRIPTION
137	    "The trap sink for v1 traps."
138    ::= { begemotSnmpdConfig 4 }
139
140begemotSnmpdVersionEnable OBJECT-TYPE
141    SYNTAX	Unsigned32
142    MAX-ACCESS	read-only
143    STATUS	current
144    DESCRIPTION
145	    "The SNMP versions that the agent processes. The following
146	    bits are defined:
147
148	    0x00000001	- SNMPv1
149	    0x00000002	- SNMPv2c
150	    0x00000004	- SNMPv3"
151    DEFVAL	{ 3 }
152    ::= { begemotSnmpdConfig 5 }
153
154--
155-- Trap destinations
156--
157begemotTrapSinkTable OBJECT-TYPE
158    SYNTAX	SEQUENCE OF BegemotTrapSinkEntry
159    MAX-ACCESS	not-accessible
160    STATUS	current
161    DESCRIPTION
162	    "A table with destinations for standard traps."
163    INDEX	{ begemotTrapSinkAddr, begemotTrapSinkPort }
164    ::= { begemotSnmpdObjects 2 }
165
166begemotTrapSinkEntry OBJECT-TYPE
167    SYNTAX	BegemotTrapSinkEntry
168    MAX-ACCESS	not-accessible
169    STATUS	current
170    DESCRIPTION
171	    "Entry describes one trap destination."
172    INDEX	{ begemotTrapSinkAddr, begemotTrapSinkPort }
173    ::= { begemotTrapSinkTable 1 }
174
175BegemotTrapSinkEntry ::= SEQUENCE {
176    begemotTrapSinkAddr		IpAddress,
177    begemotTrapSinkPort		INTEGER,
178    begemotTrapSinkStatus	RowStatus
179}
180
181begemotTrapSinkAddr OBJECT-TYPE
182    SYNTAX	IpAddress
183    MAX-ACCESS	not-accessible
184    STATUS	current
185    DESCRIPTION
186	    "Destination IP address of the manager station where to send
187	    traps."
188    ::= { begemotTrapSinkEntry 1 }
189
190begemotTrapSinkPort OBJECT-TYPE
191    SYNTAX	Integer32 (1..65535)
192    MAX-ACCESS	not-accessible
193    STATUS	current
194    DESCRIPTION
195	    "Destination UDP port of the manager station where to send
196	    traps."
197    ::= { begemotTrapSinkEntry 2 }
198
199begemotTrapSinkStatus OBJECT-TYPE
200    SYNTAX	RowStatus
201    MAX-ACCESS	read-create
202    STATUS	current
203    DESCRIPTION
204	    "Used to create/activate/destroy the entry."
205    ::= { begemotTrapSinkEntry 3 }
206
207--
208-- SNMP port table
209--
210begemotSnmpdPortTable OBJECT-TYPE
211    SYNTAX	SEQUENCE OF BegemotSnmpdPortEntry
212    MAX-ACCESS	not-accessible
213    STATUS	deprecated
214    DESCRIPTION
215	    "A table with descriptions of UDP ports to listen on
216	    for SNMP messages."
217    ::= { begemotSnmpdObjects 4 }
218
219begemotSnmpdPortEntry OBJECT-TYPE
220    SYNTAX	BegemotSnmpdPortEntry
221    MAX-ACCESS	not-accessible
222    STATUS	deprecated
223    DESCRIPTION
224	    "An entry in the table with descriptions of UDP ports to
225	    listen on for SNMP messages."
226    INDEX	{ begemotSnmpdPortAddress, begemotSnmpdPortPort }
227    ::= { begemotSnmpdPortTable 1 }
228
229BegemotSnmpdPortEntry ::= SEQUENCE {
230    begemotSnmpdPortAddress	IpAddress,
231    begemotSnmpdPortPort	INTEGER,
232    begemotSnmpdPortStatus	INTEGER
233}
234
235begemotSnmpdPortAddress OBJECT-TYPE
236    SYNTAX	IpAddress
237    MAX-ACCESS	not-accessible
238    STATUS	deprecated
239    DESCRIPTION
240	    "The IP address to bind to."
241    ::= { begemotSnmpdPortEntry 1 }
242
243begemotSnmpdPortPort OBJECT-TYPE
244    SYNTAX	Integer32 (1..65535)
245    MAX-ACCESS	not-accessible
246    STATUS	deprecated
247    DESCRIPTION
248	    "The UDP port to listen on for SNMP messages."
249    ::= { begemotSnmpdPortEntry 2 }
250
251begemotSnmpdPortStatus OBJECT-TYPE
252    SYNTAX	INTEGER { valid(1), invalid(2) }
253    MAX-ACCESS	read-create
254    STATUS	deprecated
255    DESCRIPTION
256	    "Set status to 1 to create entry, set it to 2 to delete it."
257    ::= { begemotSnmpdPortEntry 3 }
258
259---
260--- Community table
261---
262begemotSnmpdCommunityTable OBJECT-TYPE
263    SYNTAX	SEQUENCE OF BegemotSnmpdCommunityEntry
264    MAX-ACCESS	not-accessible
265    STATUS	current
266    DESCRIPTION
267	    "A table with the community strings for access control."
268    ::= { begemotSnmpdObjects 5 }
269
270begemotSnmpdCommunityEntry OBJECT-TYPE
271    SYNTAX	BegemotSnmpdCommunityEntry
272    MAX-ACCESS	not-accessible
273    STATUS	current
274    DESCRIPTION
275	    "A table with the community strings for access control.
276	    When begemotSnmpdCommDisable is true, this table disappears."
277    INDEX	{ begemotSnmpdCommunityModule, begemotSnmpdCommunityIndex }
278    ::= { begemotSnmpdCommunityTable 1 }
279
280BegemotSnmpdCommunityEntry ::= SEQUENCE {
281    begemotSnmpdCommunityModule	SectionName,
282    begemotSnmpdCommunityIndex	Unsigned32,
283    begemotSnmpdCommunityString	OCTET STRING,
284    begemotSnmpdCommunityDescr	OCTET STRING,
285    begemotSnmpdCommunityPermission Unsigned32
286}
287
288begemotSnmpdCommunityModule OBJECT-TYPE
289    SYNTAX	SectionName
290    MAX-ACCESS	not-accessible
291    STATUS	current
292    DESCRIPTION
293	    "Index of the module that has registered this community.
294	    For global communities this is the empty string."
295    ::= { begemotSnmpdCommunityEntry 1 }
296
297begemotSnmpdCommunityIndex OBJECT-TYPE
298    SYNTAX	Unsigned32 (1..4294967295)
299    MAX-ACCESS	not-accessible
300    STATUS	current
301    DESCRIPTION
302	    "The numerical index of the community (private to the module)."
303    ::= { begemotSnmpdCommunityEntry 2 }
304
305begemotSnmpdCommunityString OBJECT-TYPE
306    SYNTAX	OCTET STRING
307    MAX-ACCESS	read-write
308    STATUS	current
309    DESCRIPTION
310	    "The string for access to SNMPd."
311    ::= { begemotSnmpdCommunityEntry 3 }
312
313begemotSnmpdCommunityDescr OBJECT-TYPE
314    SYNTAX	OCTET STRING
315    MAX-ACCESS	read-only
316    STATUS	current
317    DESCRIPTION
318	    "A description what this community is good for."
319    ::= { begemotSnmpdCommunityEntry 4 }
320
321begemotSnmpdCommunityPermission OBJECT-TYPE
322    SYNTAX	Unsigned32 (1..4294967295)
323    MAX-ACCESS	not-accessible
324    STATUS	current
325    DESCRIPTION
326	    "The numerical value of access rights granted to the community."
327    ::= { begemotSnmpdCommunityEntry 5 }
328
329--
330-- Module table
331--
332begemotSnmpdModuleTable OBJECT-TYPE
333    SYNTAX	SEQUENCE OF BegemotSnmpdModuleEntry
334    MAX-ACCESS	not-accessible
335    STATUS	current
336    DESCRIPTION
337	    "A table describing all the currently loaded dynamic modules.
338	    Writing to this table loads and unloads modules."
339    ::= { begemotSnmpdObjects 6 }
340
341begemotSnmpdModuleEntry OBJECT-TYPE
342    SYNTAX	BegemotSnmpdModuleEntry
343    MAX-ACCESS	not-accessible
344    STATUS	current
345    DESCRIPTION
346	    "A table entry describing a loadable module."
347    INDEX	{ begemotSnmpdModuleSection }
348    ::= { begemotSnmpdModuleTable 1 }
349
350BegemotSnmpdModuleEntry ::= SEQUENCE {
351    begemotSnmpdModuleSection	SectionName,
352    begemotSnmpdModulePath	OCTET STRING,
353    begemotSnmpdModuleComment	OCTET STRING
354}
355
356begemotSnmpdModuleSection OBJECT-TYPE
357    SYNTAX	SectionName
358    MAX-ACCESS	not-accessible
359    STATUS	current
360    DESCRIPTION
361	    "The string used for matching configuration file sections
362	    and indexes the module table."
363    ::= { begemotSnmpdModuleEntry 1 }
364
365
366begemotSnmpdModulePath OBJECT-TYPE
367    SYNTAX	OCTET STRING
368    MAX-ACCESS	read-create
369    STATUS	current
370    DESCRIPTION
371	    "The path name of the module. Set to empty string
372	    to unload a module. The path of an existing module
373	    may not be changed."
374    ::= { begemotSnmpdModuleEntry 2 }
375
376begemotSnmpdModuleComment OBJECT-TYPE
377    SYNTAX	OCTET STRING
378    MAX-ACCESS	read-only
379    STATUS	current
380    DESCRIPTION
381	    "A comment describing this module."
382    ::= { begemotSnmpdModuleEntry 3 }
383
384
385-- --------------------------------------------------------------------------
386--
387-- The STATISTICS Group
388--
389begemotSnmpdStats	OBJECT IDENTIFIER ::= { begemotSnmpdObjects 7 }
390
391begemotSnmpdStatsNoRxBufs OBJECT-TYPE
392    SYNTAX	Counter32
393    MAX-ACCESS	read-only
394    STATUS	current
395    DESCRIPTION
396	    "Number of times a receive buffer could not be allocated
397	    for a packet."
398    ::= { begemotSnmpdStats 1 }
399
400begemotSnmpdStatsNoTxBufs OBJECT-TYPE
401    SYNTAX	Counter32
402    MAX-ACCESS	read-only
403    STATUS	current
404    DESCRIPTION
405	    "Number of times a transmit buffer could not be allocated
406	    for a packet."
407    ::= { begemotSnmpdStats 2 }
408
409begemotSnmpdStatsInTooLongPkts OBJECT-TYPE
410    SYNTAX	Counter32
411    MAX-ACCESS	read-only
412    STATUS	current
413    DESCRIPTION
414	    "Number of packets received that were longer than the
415	    receive buffer. These packets are dropped."
416    ::= { begemotSnmpdStats 3 }
417
418begemotSnmpdStatsInBadPduTypes OBJECT-TYPE
419    SYNTAX	Counter32
420    MAX-ACCESS	read-only
421    STATUS	current
422    DESCRIPTION
423	    "Number of packets received with a bad type field."
424    ::= { begemotSnmpdStats 4 }
425
426--
427-- The Debug Group
428--
429begemotSnmpdDebug	OBJECT IDENTIFIER ::= { begemotSnmpdObjects 8 }
430
431begemotSnmpdDebugDumpPdus OBJECT-TYPE
432    SYNTAX	TruthValue
433    MAX-ACCESS	read-write
434    STATUS	current
435    DESCRIPTION
436	    "Dump PDUs to log file if true."
437    DEFVAL	{ false }
438    ::= { begemotSnmpdDebug 1 }
439
440begemotSnmpdDebugSnmpTrace OBJECT-TYPE
441    SYNTAX	Unsigned32
442    MAX-ACCESS	read-write
443    STATUS	current
444    DESCRIPTION
445	    "Tracing flags for the SNMP library. These flags have the
446	    following meaning:
447		0x00000001	trace GET operator
448		0x00000002	trace GETNEXT operator
449		0x00000004	trace SET operator
450		0x00000008	trace dependency processing
451		0x00000010	trace node finding
452		0x10000000	log ASN1 errors
453		0x20000000	log SNMP errors
454	    Individual values can be or-ed together."
455    DEFVAL	{ 0 }
456    ::= { begemotSnmpdDebug 2 }
457
458begemotSnmpdDebugSyslogPri OBJECT-TYPE
459    SYNTAX	Integer32 (0..8)
460    MAX-ACCESS	read-write
461    STATUS	current
462    DESCRIPTION
463	    "Events with this or higher priority should not be logged."
464    DEFVAL	{ 7 }	-- don't log debug messages
465    ::= { begemotSnmpdDebug 3 }
466
467--
468-- Local port table
469--
470begemotSnmpdLocalPortTable OBJECT-TYPE
471    SYNTAX	SEQUENCE OF BegemotSnmpdLocalPortEntry
472    MAX-ACCESS	not-accessible
473    STATUS	current
474    DESCRIPTION
475	    "A table with descriptions of local (unix domain) ports to listen
476	    on for SNMP messages."
477    ::= { begemotSnmpdObjects 9 }
478
479begemotSnmpdLocalPortEntry OBJECT-TYPE
480    SYNTAX	BegemotSnmpdLocalPortEntry
481    MAX-ACCESS	not-accessible
482    STATUS	current
483    DESCRIPTION
484	    "An entry in the table with descriptions of local ports to
485	    listen on for SNMP messages."
486    INDEX	{ begemotSnmpdLocalPortPath }
487    ::= { begemotSnmpdLocalPortTable 1 }
488
489BegemotSnmpdLocalPortEntry ::= SEQUENCE {
490    begemotSnmpdLocalPortPath	OCTET STRING,
491    begemotSnmpdLocalPortStatus	INTEGER,
492    begemotSnmpdLocalPortType	INTEGER
493}
494
495begemotSnmpdLocalPortPath OBJECT-TYPE
496    SYNTAX	OCTET STRING (SIZE(1..104))
497    MAX-ACCESS	not-accessible
498    STATUS	current
499    DESCRIPTION
500	    "The path name to create and listen on."
501    ::= { begemotSnmpdLocalPortEntry 1 }
502
503begemotSnmpdLocalPortStatus OBJECT-TYPE
504    SYNTAX	INTEGER { valid(1), invalid(2) }
505    MAX-ACCESS	read-create
506    STATUS	current
507    DESCRIPTION
508	    "Set status to 1 to create entry, set it to 2 to delete it."
509    ::= { begemotSnmpdLocalPortEntry 2 }
510
511begemotSnmpdLocalPortType OBJECT-TYPE
512    SYNTAX	INTEGER {
513			dgram-unpriv(1),
514			dgram-priv(2),
515			stream-unpriv(3),
516			stream-priv(4)
517		}
518    MAX-ACCESS	read-create
519    STATUS	current
520    DESCRIPTION
521	    "Type of the port. If the type is unpriv SET operations
522	    are allowed from all clients if the community matches. For
523	    priv SET operations are allowed only from peers with uid
524	    zero. If the daemon cannot determine the peer uid it disallows
525	    the SET operation for -priv ports."
526    ::= { begemotSnmpdLocalPortEntry 3 }
527
528--
529-- Transport mapping table
530--
531begemotSnmpdTransportMappings	OBJECT IDENTIFIER ::= { begemotSnmpdObjects 10 }
532
533begemotSnmpdTransportTable OBJECT-TYPE
534    SYNTAX	SEQUENCE OF BegemotSnmpdTransportEntry
535    MAX-ACCESS	not-accessible
536    STATUS	current
537    DESCRIPTION
538	    "A table containing all the currently loaded transport mappings."
539    ::= { begemotSnmpdTransportMappings 1 }
540
541begemotSnmpdTransportEntry OBJECT-TYPE
542    SYNTAX	BegemotSnmpdTransportEntry
543    MAX-ACCESS	not-accessible
544    STATUS	current
545    DESCRIPTION
546	    "An entry in the table with the transport mappings."
547    INDEX	{ begemotSnmpdTransportName }
548    ::= { begemotSnmpdTransportTable 1 }
549
550BegemotSnmpdTransportEntry ::= SEQUENCE {
551    begemotSnmpdTransportName	OCTET STRING,
552    begemotSnmpdTransportStatus	INTEGER,
553    begemotSnmpdTransportOid	OBJECT IDENTIFIER
554}
555
556begemotSnmpdTransportName OBJECT-TYPE
557    SYNTAX	OCTET STRING (SIZE(1..256))
558    MAX-ACCESS	not-accessible
559    STATUS	current
560    DESCRIPTION
561	    "The name of the mapping."
562    ::= { begemotSnmpdTransportEntry 1 }
563
564begemotSnmpdTransportStatus OBJECT-TYPE
565    SYNTAX	RowStatus
566    MAX-ACCESS	read-only
567    STATUS	current
568    DESCRIPTION
569	    "Used to create/activate/destroy the entry."
570    ::= { begemotSnmpdTransportEntry 2 }
571
572begemotSnmpdTransportOid OBJECT-TYPE
573    SYNTAX	OBJECT IDENTIFIER
574    MAX-ACCESS	read-only
575    STATUS	current
576    DESCRIPTION
577	    "A pointer to the group with the transport-dependend stuff."
578    ::= { begemotSnmpdTransportEntry 3 }
579
580-- ----------------------------------------------------------------------
581--
582-- Internet port table.
583--
584BegemotSnmpdTransportProto ::= TEXTUAL-CONVENTION
585    STATUS	current
586    DESCRIPTION
587	    "A value that represents the type of protocol to be used for
588	     listening on a socket. The following protocols are currently
589	     used:
590
591	     udp(1)	Use UDP for IPv4 and IPv6 sockets."
592    SYNTAX	INTEGER {
593		    udp(1)
594		}
595
596begemotSnmpdTransInetTable OBJECT-TYPE
597    SYNTAX	SEQUENCE OF BegemotSnmpdTransInetEntry
598    MAX-ACCESS	not-accessible
599    STATUS	current
600    DESCRIPTION
601	    "This table contains all the ports the daemon should listen on.
602	     Entries can be created at initialization time via the config
603	     file or at run time via a SET. One row can map to several open
604	     sockets in the case of InetAddressType::dns rows. These rows
605	     open one socket for each address returned by getaddrinfo(3).
606	    for SNMP messages."
607    ::= { begemotSnmpdObjects 11 }
608
609begemotSnmpdTransInetEntry OBJECT-TYPE
610    SYNTAX	BegemotSnmpdTransInetEntry
611    MAX-ACCESS	not-accessible
612    STATUS	current
613    DESCRIPTION
614	    "A row of the internet port table. Each row may map to one or
615	     more listening sockets."
616    INDEX	{
617			begemotSnmpdTransInetAddressType,
618			begemotSnmpdTransInetAddress,
619			begemotSnmpdTransInetPort,
620			begemotSnmpdTransInetProto
621		}
622    ::= { begemotSnmpdTransInetTable 1 }
623
624BegemotSnmpdTransInetEntry ::= SEQUENCE {
625    begemotSnmpdTransInetAddressType	InetAddressType,
626    begemotSnmpdTransInetAddress	InetAddress,
627    begemotSnmpdTransInetPort		InetPortNumber,
628    begemotSnmpdTransInetProto		BegemotSnmpdTransportProto,
629    begemotSnmpdTransInetStatus		RowStatus
630}
631
632begemotSnmpdTransInetAddressType OBJECT-TYPE
633    SYNTAX	InetAddressType
634    MAX-ACCESS	not-accessible
635    STATUS	current
636    DESCRIPTION
637	    "The type of the address. Only ipv4, ipv6, ipv6z and dns are
638	     supported."
639    ::= { begemotSnmpdTransInetEntry 1 }
640
641begemotSnmpdTransInetAddress OBJECT-TYPE
642    SYNTAX	InetAddress (SIZE (0..64))
643    MAX-ACCESS	not-accessible
644    STATUS	current
645    DESCRIPTION
646	    "The address. For ipv4 addresses the length must be 4, ipv6
647	     addresses have a length of 16 and ipv6z addresses a length of
648	     20 where the last four bytes are the interface index in big
649	     endian format. dns addresses may be of zero-length in which case
650	     getaddrinfo() generates INADDR_ANY and its IPv6 equivalent. dns
651	     addresses will open a socket for all addresses returned by
652	     getaddrinfo()."
653    ::= { begemotSnmpdTransInetEntry 2 }
654
655begemotSnmpdTransInetPort OBJECT-TYPE
656    SYNTAX	InetPortNumber (1..65535)
657    MAX-ACCESS	not-accessible
658    STATUS	current
659    DESCRIPTION
660	    "The port to listen on for SNMP messages."
661    ::= { begemotSnmpdTransInetEntry 3 }
662
663begemotSnmpdTransInetProto OBJECT-TYPE
664    SYNTAX	BegemotSnmpdTransportProto
665    MAX-ACCESS	not-accessible
666    STATUS	current
667    DESCRIPTION
668	    "The protocol to use. Currently only the value udp(1) is supported."
669    ::= { begemotSnmpdTransInetEntry 4 }
670
671begemotSnmpdTransInetStatus OBJECT-TYPE
672    SYNTAX	RowStatus
673    MAX-ACCESS	read-create
674    STATUS	current
675    DESCRIPTION
676	    "The status of the conceptual row. A row may be created using
677	     createAndGo(4) or createAndWait(5). An inactive row can be
678	     activated writing active(1) and an active row can be inactivated
679	     by writing notInService(2). Finally active or inactive rows can be
680	     deleted by writing the value destroy(6). The value of this field
681	     will never read as notReady(3)."
682    ::= { begemotSnmpdTransInetEntry 5 }
683
684--
685-- XXX These should go into their own MIB
686--
687begemotSnmpdTransUdp	OBJECT IDENTIFIER ::= { begemotSnmpdTransportMappings 2 }
688begemotSnmpdTransLsock	OBJECT IDENTIFIER ::= { begemotSnmpdTransportMappings 3 }
689begemotSnmpdTransInet	OBJECT IDENTIFIER ::= { begemotSnmpdTransportMappings 4 }
690
691END
692