Imported Upstream version 0.4.8
[platform/upstream/libsmi.git] / mibs / ietf / UDP-MIB
1 UDP-MIB DEFINITIONS ::= BEGIN
2
3 IMPORTS
4     MODULE-IDENTITY, OBJECT-TYPE, Integer32, Counter32, Counter64,
5     Unsigned32, IpAddress, mib-2       FROM SNMPv2-SMI
6     MODULE-COMPLIANCE, OBJECT-GROUP    FROM SNMPv2-CONF
7     InetAddress, InetAddressType,
8     InetPortNumber                     FROM INET-ADDRESS-MIB;
9
10 udpMIB MODULE-IDENTITY
11     LAST-UPDATED "200505200000Z"  -- May 20, 2005
12     ORGANIZATION
13            "IETF IPv6 Working Group
14             http://www.ietf.org/html.charters/ipv6-charter.html"
15     CONTACT-INFO
16            "Bill Fenner (editor)
17
18             AT&T Labs -- Research
19             75 Willow Rd.
20             Menlo Park, CA 94025
21
22             Phone: +1 650 330-7893
23             Email: <fenner@research.att.com>
24
25             John Flick (editor)
26
27             Hewlett-Packard Company
28             8000 Foothills Blvd. M/S 5557
29             Roseville, CA 95747
30
31             Phone: +1 916 785 4018
32             Email: <john.flick@hp.com>
33
34             Send comments to <ipv6@ietf.org>"
35
36
37
38     DESCRIPTION
39            "The MIB module for managing UDP implementations.
40             Copyright (C) The Internet Society (2005).  This
41             version of this MIB module is part of RFC 4113;
42             see the RFC itself for full legal notices."
43     REVISION      "200505200000Z"  -- May 20, 2005
44     DESCRIPTION
45            "IP version neutral revision, incorporating the
46             following revisions:
47
48             - Added udpHCInDatagrams and udpHCOutDatagrams in order
49               to provide high-capacity counters for fast networks.
50             - Added text to the descriptions of all counter objects
51               to indicate how discontinuities are detected.
52             - Deprecated the IPv4-specific udpTable and replaced it
53               with the version neutral udpEndpointTable.  This
54               table includes support for connected UDP endpoints
55               and support for identification of the operating
56               system process associated with a UDP endpoint.
57             - Deprecated the udpGroup and replaced it with object
58               groups representing the current set of objects.
59             - Deprecated udpMIBCompliance and replaced it with
60               udpMIBCompliance2, which includes the compliance
61               information for the new object groups.
62
63             This version published as RFC 4113."
64     REVISION      "199411010000Z"    -- November 1, 1994
65     DESCRIPTION
66            "Initial SMIv2 version, published as RFC 2013."
67     REVISION      "199103310000Z"    -- March 31, 1991
68     DESCRIPTION
69            "The initial revision of this MIB module was part of
70             MIB-II, published as RFC 1213."
71     ::= { mib-2 50 }
72
73 -- the UDP group
74
75 udp      OBJECT IDENTIFIER ::= { mib-2 7 }
76
77 udpInDatagrams OBJECT-TYPE
78     SYNTAX     Counter32
79     MAX-ACCESS read-only
80     STATUS     current
81     DESCRIPTION
82            "The total number of UDP datagrams delivered to UDP
83             users.
84
85
86
87
88
89             Discontinuities in the value of this counter can occur
90             at re-initialization of the management system, and at
91             other times as indicated by discontinuities in the
92             value of sysUpTime."
93     ::= { udp 1 }
94
95 udpNoPorts OBJECT-TYPE
96     SYNTAX     Counter32
97     MAX-ACCESS read-only
98     STATUS     current
99     DESCRIPTION
100            "The total number of received UDP datagrams for which
101             there was no application at the destination port.
102
103             Discontinuities in the value of this counter can occur
104             at re-initialization of the management system, and at
105             other times as indicated by discontinuities in the
106             value of sysUpTime."
107     ::= { udp 2 }
108
109 udpInErrors OBJECT-TYPE
110     SYNTAX     Counter32
111     MAX-ACCESS read-only
112     STATUS     current
113     DESCRIPTION
114            "The number of received UDP datagrams that could not be
115             delivered for reasons other than the lack of an
116             application at the destination port.
117
118             Discontinuities in the value of this counter can occur
119             at re-initialization of the management system, and at
120             other times as indicated by discontinuities in the
121             value of sysUpTime."
122     ::= { udp 3 }
123
124 udpOutDatagrams OBJECT-TYPE
125     SYNTAX     Counter32
126     MAX-ACCESS read-only
127     STATUS     current
128     DESCRIPTION
129            "The total number of UDP datagrams sent from this
130             entity.
131
132             Discontinuities in the value of this counter can occur
133             at re-initialization of the management system, and at
134             other times as indicated by discontinuities in the
135             value of sysUpTime."
136     ::= { udp 4 }
137
138
139
140 udpHCInDatagrams OBJECT-TYPE
141     SYNTAX     Counter64
142     MAX-ACCESS read-only
143     STATUS     current
144     DESCRIPTION
145            "The total number of UDP datagrams delivered to UDP
146             users, for devices that can receive more than 1
147             million UDP datagrams per second.
148
149             Discontinuities in the value of this counter can occur
150             at re-initialization of the management system, and at
151             other times as indicated by discontinuities in the
152             value of sysUpTime."
153     ::= { udp 8 }
154
155 udpHCOutDatagrams OBJECT-TYPE
156     SYNTAX     Counter64
157     MAX-ACCESS read-only
158     STATUS     current
159     DESCRIPTION
160            "The total number of UDP datagrams sent from this
161             entity, for devices that can transmit more than 1
162             million UDP datagrams per second.
163
164             Discontinuities in the value of this counter can occur
165             at re-initialization of the management system, and at
166             other times as indicated by discontinuities in the
167             value of sysUpTime."
168     ::= { udp 9 }
169
170 --
171 -- { udp 6 } was defined as the ipv6UdpTable in RFC2454's
172 -- IPV6-UDP-MIB.  This RFC obsoletes RFC 2454, so { udp 6 } is
173 -- obsoleted.
174 --
175
176 -- The UDP "Endpoint" table.
177
178 udpEndpointTable OBJECT-TYPE
179     SYNTAX     SEQUENCE OF UdpEndpointEntry
180     MAX-ACCESS not-accessible
181     STATUS     current
182     DESCRIPTION
183            "A table containing information about this entity's UDP
184             endpoints on which a local application is currently
185             accepting or sending datagrams.
186
187
188
189
190
191             The address type in this table represents the address
192             type used for the communication, irrespective of the
193             higher-layer abstraction.  For example, an application
194             using IPv6 'sockets' to communicate via IPv4 between
195             ::ffff:10.0.0.1 and ::ffff:10.0.0.2 would use
196             InetAddressType ipv4(1).
197
198             Unlike the udpTable in RFC 2013, this table also allows
199             the representation of an application that completely
200             specifies both local and remote addresses and ports.  A
201             listening application is represented in three possible
202             ways:
203
204             1) An application that is willing to accept both IPv4
205                and IPv6 datagrams is represented by a
206                udpEndpointLocalAddressType of unknown(0) and a
207                udpEndpointLocalAddress of ''h (a zero-length
208                octet-string).
209
210             2) An application that is willing to accept only IPv4
211                or only IPv6 datagrams is represented by a
212                udpEndpointLocalAddressType of the appropriate
213                address type and a udpEndpointLocalAddress of
214                '0.0.0.0' or '::' respectively.
215
216             3) An application that is listening for datagrams only
217                for a specific IP address but from any remote
218                system is represented by a
219                udpEndpointLocalAddressType of the appropriate
220                address type, with udpEndpointLocalAddress
221                specifying the local address.
222
223             In all cases where the remote is a wildcard, the
224             udpEndpointRemoteAddressType is unknown(0), the
225             udpEndpointRemoteAddress is ''h (a zero-length
226             octet-string), and the udpEndpointRemotePort is 0.
227
228             If the operating system is demultiplexing UDP packets
229             by remote address and port, or if the application has
230             'connected' the socket specifying a default remote
231             address and port, the udpEndpointRemote* values should
232             be used to reflect this."
233     ::= { udp 7 }
234
235 udpEndpointEntry OBJECT-TYPE
236     SYNTAX     UdpEndpointEntry
237     MAX-ACCESS not-accessible
238     STATUS     current
239
240
241
242     DESCRIPTION
243            "Information about a particular current UDP endpoint.
244
245             Implementers need to be aware that if the total number
246             of elements (octets or sub-identifiers) in
247             udpEndpointLocalAddress and udpEndpointRemoteAddress
248             exceeds 111, then OIDs of column instances in this table
249             will have more than 128 sub-identifiers and cannot be
250             accessed using SNMPv1, SNMPv2c, or SNMPv3."
251     INDEX   { udpEndpointLocalAddressType,
252               udpEndpointLocalAddress,
253               udpEndpointLocalPort,
254               udpEndpointRemoteAddressType,
255               udpEndpointRemoteAddress,
256               udpEndpointRemotePort,
257               udpEndpointInstance }
258     ::= { udpEndpointTable 1 }
259
260 UdpEndpointEntry ::= SEQUENCE {
261         udpEndpointLocalAddressType   InetAddressType,
262         udpEndpointLocalAddress       InetAddress,
263         udpEndpointLocalPort          InetPortNumber,
264         udpEndpointRemoteAddressType  InetAddressType,
265         udpEndpointRemoteAddress      InetAddress,
266         udpEndpointRemotePort         InetPortNumber,
267         udpEndpointInstance           Unsigned32,
268         udpEndpointProcess            Unsigned32
269     }
270
271 udpEndpointLocalAddressType OBJECT-TYPE
272     SYNTAX     InetAddressType
273     MAX-ACCESS not-accessible
274     STATUS     current
275     DESCRIPTION
276            "The address type of udpEndpointLocalAddress.  Only
277             IPv4, IPv4z, IPv6, and IPv6z addresses are expected, or
278             unknown(0) if datagrams for all local IP addresses are
279             accepted."
280     ::= { udpEndpointEntry 1 }
281
282 udpEndpointLocalAddress OBJECT-TYPE
283     SYNTAX     InetAddress
284     MAX-ACCESS not-accessible
285     STATUS     current
286     DESCRIPTION
287            "The local IP address for this UDP endpoint.
288
289             The value of this object can be represented in three
290
291
292
293             possible ways, depending on the characteristics of the
294             listening application:
295
296             1. For an application that is willing to accept both
297                IPv4 and IPv6 datagrams, the value of this object
298                must be ''h (a zero-length octet-string), with
299                the value of the corresponding instance of the
300                udpEndpointLocalAddressType object being unknown(0).
301
302             2. For an application that is willing to accept only IPv4
303                or only IPv6 datagrams, the value of this object
304                must be '0.0.0.0' or '::', respectively, while the
305                corresponding instance of the
306                udpEndpointLocalAddressType object represents the
307                appropriate address type.
308
309             3. For an application that is listening for data
310                destined only to a specific IP address, the value
311                of this object is the specific IP address for which
312                this node is receiving packets, with the
313                corresponding instance of the
314                udpEndpointLocalAddressType object representing the
315                appropriate address type.
316
317             As this object is used in the index for the
318             udpEndpointTable, implementors of this table should be
319             careful not to create entries that would result in OIDs
320             with more than 128 subidentifiers; else the information
321             cannot be accessed using SNMPv1, SNMPv2c, or SNMPv3."
322     ::= { udpEndpointEntry 2 }
323
324 udpEndpointLocalPort OBJECT-TYPE
325     SYNTAX     InetPortNumber
326     MAX-ACCESS not-accessible
327     STATUS     current
328     DESCRIPTION
329            "The local port number for this UDP endpoint."
330     ::= { udpEndpointEntry 3 }
331
332 udpEndpointRemoteAddressType OBJECT-TYPE
333     SYNTAX     InetAddressType
334     MAX-ACCESS not-accessible
335     STATUS     current
336     DESCRIPTION
337            "The address type of udpEndpointRemoteAddress.  Only
338             IPv4, IPv4z, IPv6, and IPv6z addresses are expected, or
339             unknown(0) if datagrams for all remote IP addresses are
340             accepted.  Also, note that some combinations of
341
342
343
344             udpEndpointLocalAdressType and
345             udpEndpointRemoteAddressType are not supported.  In
346             particular, if the value of this object is not
347             unknown(0), it is expected to always refer to the
348             same IP version as udpEndpointLocalAddressType."
349     ::= { udpEndpointEntry 4 }
350
351 udpEndpointRemoteAddress OBJECT-TYPE
352     SYNTAX     InetAddress
353     MAX-ACCESS not-accessible
354     STATUS     current
355     DESCRIPTION
356            "The remote IP address for this UDP endpoint.  If
357             datagrams from any remote system are to be accepted,
358             this value is ''h (a zero-length octet-string).
359             Otherwise, it has the type described by
360             udpEndpointRemoteAddressType and is the address of the
361             remote system from which datagrams are to be accepted
362             (or to which all datagrams will be sent).
363
364             As this object is used in the index for the
365             udpEndpointTable, implementors of this table should be
366             careful not to create entries that would result in OIDs
367             with more than 128 subidentifiers; else the information
368             cannot be accessed using SNMPv1, SNMPv2c, or SNMPv3."
369     ::= { udpEndpointEntry 5 }
370
371 udpEndpointRemotePort OBJECT-TYPE
372     SYNTAX     InetPortNumber
373     MAX-ACCESS not-accessible
374     STATUS     current
375     DESCRIPTION
376            "The remote port number for this UDP endpoint.  If
377             datagrams from any remote system are to be accepted,
378             this value is zero."
379     ::= { udpEndpointEntry 6 }
380
381 udpEndpointInstance OBJECT-TYPE
382     SYNTAX     Unsigned32 (1..'ffffffff'h)
383     MAX-ACCESS not-accessible
384     STATUS     current
385     DESCRIPTION
386            "The instance of this tuple.  This object is used to
387             distinguish among multiple processes 'connected' to
388             the same UDP endpoint.  For example, on a system
389             implementing the BSD sockets interface, this would be
390             used to support the SO_REUSEADDR and SO_REUSEPORT
391             socket options."
392
393
394
395     ::= { udpEndpointEntry 7 }
396
397 udpEndpointProcess OBJECT-TYPE
398     SYNTAX     Unsigned32
399     MAX-ACCESS read-only
400     STATUS     current
401     DESCRIPTION
402            "The system's process ID for the process associated with
403             this endpoint, or zero if there is no such process.
404             This value is expected to be the same as
405             HOST-RESOURCES-MIB::hrSWRunIndex or SYSAPPL-MIB::
406             sysApplElmtRunIndex for some row in the appropriate
407             tables."
408     ::= { udpEndpointEntry 8 }
409
410 -- The deprecated UDP Listener table
411
412 -- The deprecated UDP listener table only contains information
413 -- about this entity's IPv4 UDP end-points on which a local
414 -- application is currently accepting datagrams.  It does not
415 -- provide more detailed connection information, or information
416 -- about IPv6 endpoints.
417
418 udpTable OBJECT-TYPE
419     SYNTAX     SEQUENCE OF UdpEntry
420     MAX-ACCESS not-accessible
421     STATUS     deprecated
422     DESCRIPTION
423            "A table containing IPv4-specific UDP listener
424             information.  It contains information about all local
425             IPv4 UDP end-points on which an application is
426             currently accepting datagrams.  This table has been
427             deprecated in favor of the version neutral
428             udpEndpointTable."
429     ::= { udp 5 }
430
431 udpEntry OBJECT-TYPE
432     SYNTAX     UdpEntry
433     MAX-ACCESS not-accessible
434     STATUS     deprecated
435     DESCRIPTION
436            "Information about a particular current UDP listener."
437     INDEX   { udpLocalAddress, udpLocalPort }
438     ::= { udpTable 1 }
439
440 UdpEntry ::= SEQUENCE {
441     udpLocalAddress   IpAddress,
442     udpLocalPort      Integer32
443
444
445
446 }
447
448 udpLocalAddress OBJECT-TYPE
449     SYNTAX     IpAddress
450     MAX-ACCESS read-only
451     STATUS     deprecated
452     DESCRIPTION
453            "The local IP address for this UDP listener.  In the
454             case of a UDP listener that is willing to accept
455             datagrams for any IP interface associated with the
456             node, the value 0.0.0.0 is used."
457     ::= { udpEntry 1 }
458
459 udpLocalPort OBJECT-TYPE
460     SYNTAX     Integer32 (0..65535)
461     MAX-ACCESS read-only
462     STATUS     deprecated
463     DESCRIPTION
464            "The local port number for this UDP listener."
465     ::= { udpEntry 2 }
466
467 -- conformance information
468
469 udpMIBConformance OBJECT IDENTIFIER ::= { udpMIB 2 }
470 udpMIBCompliances OBJECT IDENTIFIER ::= { udpMIBConformance 1 }
471 udpMIBGroups      OBJECT IDENTIFIER ::= { udpMIBConformance 2 }
472
473 -- compliance statements
474
475 udpMIBCompliance2 MODULE-COMPLIANCE
476     STATUS     current
477     DESCRIPTION
478            "The compliance statement for systems that implement
479             UDP.
480
481             There are a number of INDEX objects that cannot be
482             represented in the form of OBJECT clauses in SMIv2, but
483             for which we have the following compliance
484             requirements, expressed in OBJECT clause form in this
485             description clause:
486
487             -- OBJECT      udpEndpointLocalAddressType
488             -- SYNTAX      InetAddressType { unknown(0), ipv4(1),
489             --                               ipv6(2), ipv4z(3),
490             --                               ipv6z(4) }
491             -- DESCRIPTION
492             --     Support for dns(5) is not required.
493             -- OBJECT      udpEndpointLocalAddress
494
495
496
497             -- SYNTAX      InetAddress (SIZE(0|4|8|16|20))
498             -- DESCRIPTION
499             --     Support is only required for zero-length
500             --     octet-strings, and for scoped and unscoped
501             --     IPv4 and IPv6 addresses.
502             -- OBJECT      udpEndpointRemoteAddressType
503             -- SYNTAX      InetAddressType { unknown(0), ipv4(1),
504             --                               ipv6(2), ipv4z(3),
505             --                               ipv6z(4) }
506             -- DESCRIPTION
507             --     Support for dns(5) is not required.
508             -- OBJECT      udpEndpointRemoteAddress
509             -- SYNTAX      InetAddress (SIZE(0|4|8|16|20))
510             -- DESCRIPTION
511             --     Support is only required for zero-length
512             --     octet-strings, and for scoped and unscoped
513             --     IPv4 and IPv6 addresses.
514            "
515     MODULE  -- this module
516          MANDATORY-GROUPS { udpBaseGroup, udpEndpointGroup }
517          GROUP       udpHCGroup
518          DESCRIPTION
519                 "This group is mandatory for systems that
520                  are capable of receiving or transmitting more than
521                  1 million UDP datagrams per second.  1 million
522                  datagrams per second will cause a Counter32 to
523                  wrap in just over an hour."
524     ::= { udpMIBCompliances 2 }
525
526 udpMIBCompliance MODULE-COMPLIANCE
527     STATUS     deprecated
528     DESCRIPTION
529            "The compliance statement for IPv4-only systems that
530             implement UDP.  For IP version independence, this
531             compliance statement is deprecated in favor of
532             udpMIBCompliance2.  However, agents are still
533             encouraged to implement these objects in order to
534             interoperate with the deployed base of managers."
535     MODULE  -- this module
536         MANDATORY-GROUPS { udpGroup }
537     ::= { udpMIBCompliances 1 }
538
539 -- units of conformance
540
541 udpGroup OBJECT-GROUP
542     OBJECTS   { udpInDatagrams, udpNoPorts,
543                 udpInErrors, udpOutDatagrams,
544                 udpLocalAddress, udpLocalPort }
545
546
547
548     STATUS     deprecated
549     DESCRIPTION
550            "The deprecated group of objects providing for
551             management of UDP over IPv4."
552     ::= { udpMIBGroups 1 }
553
554 udpBaseGroup OBJECT-GROUP
555     OBJECTS   { udpInDatagrams, udpNoPorts, udpInErrors,
556                 udpOutDatagrams }
557     STATUS     current
558     DESCRIPTION
559            "The group of objects providing for counters of UDP
560             statistics."
561     ::= { udpMIBGroups 2 }
562
563 udpHCGroup OBJECT-GROUP
564     OBJECTS   { udpHCInDatagrams, udpHCOutDatagrams }
565     STATUS     current
566     DESCRIPTION
567            "The group of objects providing for counters of high
568             speed UDP implementations."
569     ::= { udpMIBGroups 3 }
570
571 udpEndpointGroup OBJECT-GROUP
572     OBJECTS    { udpEndpointProcess }
573     STATUS     current
574     DESCRIPTION
575            "The group of objects providing for the IP version
576             independent management of UDP 'endpoints'."
577     ::= { udpMIBGroups 4 }
578
579 END