Imported Upstream version 0.4.8
[platform/upstream/libsmi.git] / mibs / ietf / UDPLITE-MIB
1 UDPLITE-MIB DEFINITIONS ::= BEGIN
2
3 IMPORTS
4     MODULE-IDENTITY,
5     OBJECT-TYPE,
6     mib-2, Unsigned32,
7     Counter32, Counter64   FROM SNMPv2-SMI           -- [RFC2578]
8
9     TimeStamp              FROM SNMPv2-TC            -- [RFC2579]
10
11     MODULE-COMPLIANCE,
12     OBJECT-GROUP           FROM SNMPv2-CONF          -- [RFC2580]
13
14     InetAddress,
15     InetAddressType,
16     InetPortNumber         FROM INET-ADDRESS-MIB;    -- [RFC4001]
17
18 udpliteMIB MODULE-IDENTITY
19     LAST-UPDATED "200712180000Z"       -- 18 December 2007
20     ORGANIZATION "IETF TSV Working Group (TSVWG)"
21     CONTACT-INFO
22            "IETF TSV Working Group
23             http://www.ietf.org/html.charters/tsvwg-charter.html
24             Mailing List: tsvwg@ietf.org
25
26
27
28
29             Gerrit Renker, Godred Fairhurst
30             Electronics Research Group
31             School of Engineering, University of Aberdeen
32             Fraser Noble Building, Aberdeen AB24 3UE, UK"
33     DESCRIPTION
34            "The MIB module for managing UDP-Lite implementations.
35             Copyright (C) The IETF Trust (2008).  This version of
36             this MIB module is part of RFC 5097; see the RFC
37             itself for full legal notices."
38
39     REVISION "200712180000Z"           -- 18 December 2007
40     DESCRIPTION
41            "Initial SMIv2 revision, based on the format of the UDP
42             MIB module (RFC 4113) and published as RFC 5097."
43     ::= { mib-2 170 }
44
45 udplite      OBJECT IDENTIFIER ::= { udpliteMIB 1 }
46
47 udpliteInDatagrams OBJECT-TYPE         -- as in UDP-MIB
48     SYNTAX     Counter64
49     MAX-ACCESS read-only
50     STATUS     current
51     DESCRIPTION
52            "The total number of UDP-Lite datagrams that were
53             delivered to UDP-Lite users.
54             Discontinuities in the value of this counter can occur
55             at re-initialisation of the management system, and at
56             other times as indicated by the value of
57             udpliteStatsDiscontinuityTime."
58     ::= { udplite 1 }
59
60 udpliteInPartialCov OBJECT-TYPE        -- new in UDP-Lite
61     SYNTAX     Counter64
62     MAX-ACCESS read-only
63     STATUS     current
64     DESCRIPTION
65            "The total number of UDP-Lite datagrams that were
66             delivered to UDP-Lite users (applications) and whose
67             checksum coverage was strictly less than the datagram
68             length.
69             Discontinuities in the value of this counter can occur
70             at re-initialisation of the management system, and at
71             other times as indicated by the value of
72             udpliteStatsDiscontinuityTime."
73     ::= { udplite 2 }
74
75
76
77
78
79
80 udpliteNoPorts OBJECT-TYPE             -- as in UDP-MIB
81     SYNTAX     Counter32
82     MAX-ACCESS read-only
83     STATUS     current
84     DESCRIPTION
85            "The total number of received UDP-Lite datagrams for
86             which there was no listener at the destination port.
87             Discontinuities in the value of this counter can occur
88             at re-initialisation of the management system, and at
89             other times as indicated by the value of
90             udpliteStatsDiscontinuityTime."
91     ::= { udplite 3 }
92
93 udpliteInErrors OBJECT-TYPE            -- as in UDP-MIB
94     SYNTAX     Counter32
95     MAX-ACCESS read-only
96     STATUS     current
97     DESCRIPTION
98            "The number of received UDP-Lite datagrams that could not
99             be delivered for reasons other than the lack of an
100             application at the destination port.
101             Discontinuities in the value of this counter can occur
102             at re-initialisation of the management system, and at
103             other times as indicated by the value of
104             udpliteStatsDiscontinuityTime."
105     ::= { udplite 4 }
106
107 udpliteInBadChecksum OBJECT-TYPE       -- new in UDP-Lite
108     SYNTAX     Counter32
109     MAX-ACCESS read-only
110     STATUS     current
111     DESCRIPTION
112            "The number of received UDP-Lite datagrams whose checksum
113             could not be validated.  This includes illegal checksum
114             coverage values, as their use would lead to incorrect
115             checksums.
116             Discontinuities in the value of this counter can occur
117             at re-initialisation of the management system, and at
118             other times as indicated by the value of
119             udpliteStatsDiscontinuityTime."
120     REFERENCE "RFC 3828, section 3.1"
121     ::= { udplite 5 }
122
123 udpliteOutDatagrams OBJECT-TYPE        -- as in UDP-MIB
124     SYNTAX     Counter64
125     MAX-ACCESS read-only
126     STATUS     current
127     DESCRIPTION
128
129
130
131            "The total number of UDP-Lite datagrams sent from this
132             entity.
133             Discontinuities in the value of this counter can occur
134             at re-initialisation of the management system, and at
135             other times as indicated by the value of
136             udpliteStatsDiscontinuityTime."
137     ::= { udplite 6 }
138
139 udpliteOutPartialCov OBJECT-TYPE       -- new in UDP-Lite
140     SYNTAX     Counter64
141     MAX-ACCESS read-only
142     STATUS     current
143     DESCRIPTION
144            "The total number of udpliteOutDatagrams whose
145             checksum coverage was strictly less than the
146             datagram length.
147             Discontinuities in the value of this counter can occur
148             at re-initialisation of the management system, and at
149             other times as indicated by the value of
150             udpliteStatsDiscontinuityTime."
151     ::= { udplite 7 }
152
153 udpliteEndpointTable OBJECT-TYPE
154     SYNTAX     SEQUENCE OF UdpLiteEndpointEntry
155     MAX-ACCESS not-accessible
156     STATUS     current
157     DESCRIPTION
158            "A table containing information about this entity's
159             UDP-Lite endpoints on which a local application is
160             currently accepting or sending datagrams.
161
162             The address type in this table represents the address
163             type used for the communication, irrespective of the
164             higher-layer abstraction.  For example, an application
165             using IPv6 'sockets' to communicate via IPv4 between
166             ::ffff:10.0.0.1 and ::ffff:10.0.0.2 would use
167             InetAddressType ipv4(1).
168
169             Like the udpTable in RFC 4113, this table also allows
170             the representation of an application that completely
171             specifies both local and remote addresses and ports.  A
172             listening application is represented in three possible
173             ways:
174
175             1) An application that is willing to accept both IPv4
176                and IPv6 datagrams is represented by a
177                udpliteEndpointLocalAddressType of unknown(0) and a
178                udpliteEndpointLocalAddress of ''h (a zero-length
179
180
181
182                octet-string).
183
184             2) An application that is willing to accept only IPv4
185                or only IPv6 datagrams is represented by a
186                udpliteEndpointLocalAddressType of the appropriate
187                address type and a udpliteEndpointLocalAddress of
188                '0.0.0.0' or '::' respectively.
189
190             3) An application that is listening for datagrams only
191                for a specific IP address but from any remote
192                system is represented by a
193                udpliteEndpointLocalAddressType of the appropriate
194                address type, with udpliteEndpointLocalAddress
195                specifying the local address.
196
197             In all cases where the remote address is a wildcard,
198             the udpliteEndpointRemoteAddressType is unknown(0),
199             the udpliteEndpointRemoteAddress is ''h (a zero-length
200             octet-string), and the udpliteEndpointRemotePort is 0.
201
202             If the operating system is demultiplexing UDP-Lite
203             packets by remote address/port, or if the application
204             has 'connected' the socket specifying a default remote
205             address/port, the udpliteEndpointRemote* values should
206             be used to reflect this."
207     ::= { udplite 8 }
208
209 udpliteEndpointEntry OBJECT-TYPE
210     SYNTAX     UdpLiteEndpointEntry
211     MAX-ACCESS not-accessible
212     STATUS     current
213     DESCRIPTION
214            "Information about a particular current UDP-Lite endpoint.
215             Implementers need to pay attention to the sizes of
216             udpliteEndpointLocalAddress/RemoteAddress, as Object
217             Identifiers (OIDs) of column instances in this table must
218             have no more than 128 sub-identifiers in order to remain
219              accessible with SNMPv1, SNMPv2c, and SNMPv3."
220     INDEX   { udpliteEndpointLocalAddressType,
221               udpliteEndpointLocalAddress,
222               udpliteEndpointLocalPort,
223               udpliteEndpointRemoteAddressType,
224               udpliteEndpointRemoteAddress,
225               udpliteEndpointRemotePort,
226               udpliteEndpointInstance }
227     ::= { udpliteEndpointTable 1 }
228
229 UdpLiteEndpointEntry ::= SEQUENCE {
230
231
232
233         udpliteEndpointLocalAddressType   InetAddressType,
234         udpliteEndpointLocalAddress       InetAddress,
235         udpliteEndpointLocalPort          InetPortNumber,
236         udpliteEndpointRemoteAddressType  InetAddressType,
237         udpliteEndpointRemoteAddress      InetAddress,
238         udpliteEndpointRemotePort         InetPortNumber,
239         udpliteEndpointInstance           Unsigned32,
240         udpliteEndpointProcess            Unsigned32,
241         udpliteEndpointMinCoverage        Unsigned32,
242         udpliteEndpointViolCoverage       Counter32
243 }
244
245 udpliteEndpointLocalAddressType OBJECT-TYPE
246     SYNTAX     InetAddressType
247     MAX-ACCESS not-accessible
248     STATUS     current
249     DESCRIPTION
250            "The address type of udpliteEndpointLocalAddress.  Only
251             IPv4, IPv4z, IPv6, and IPv6z addresses are expected, or
252             unknown(0) if datagrams for all local IP addresses are
253             accepted."
254     ::= { udpliteEndpointEntry 1 }
255
256 udpliteEndpointLocalAddress OBJECT-TYPE
257     SYNTAX     InetAddress
258     MAX-ACCESS not-accessible
259     STATUS     current
260     DESCRIPTION
261            "The local IP address for this UDP-Lite endpoint.
262
263             The value of this object can be represented in three
264             possible ways, depending on the characteristics of the
265             listening application:
266
267             1. For an application that is willing to accept both
268                IPv4 and IPv6 datagrams, the value of this object
269                must be ''h (a zero-length octet-string), with
270                the value of the corresponding instance of the
271                EndpointLocalAddressType object being unknown(0).
272
273             2. For an application that is willing to accept only
274                IPv4 or only IPv6 datagrams, the value of this
275                object must be '0.0.0.0' or '::', respectively,
276                while the corresponding instance of the
277                EndpointLocalAddressType object represents the
278                appropriate address type.
279
280             3. For an application that is listening for data
281
282
283
284                destined only to a specific IP address, the value
285                of this object is the specific IP address for
286                which this node is receiving packets, with the
287                corresponding instance of the
288                EndpointLocalAddressType object representing the
289                appropriate address type.
290
291             As this object is used in the index for the
292             udpliteEndpointTable, implementors should be careful
293             not to create entries that would result in OIDs with
294             more than 128 sub-identifiers; this is because of SNMP
295             and SMI limitations."
296     ::= { udpliteEndpointEntry 2 }
297
298 udpliteEndpointLocalPort OBJECT-TYPE
299     SYNTAX     InetPortNumber
300     MAX-ACCESS not-accessible
301     STATUS     current
302     DESCRIPTION
303            "The local port number for this UDP-Lite endpoint."
304     ::= { udpliteEndpointEntry 3 }
305
306 udpliteEndpointRemoteAddressType OBJECT-TYPE
307     SYNTAX     InetAddressType
308     MAX-ACCESS not-accessible
309     STATUS     current
310     DESCRIPTION
311            "The address type of udpliteEndpointRemoteAddress.  Only
312             IPv4, IPv4z, IPv6, and IPv6z addresses are expected, or
313             unknown(0) if datagrams for all remote IP addresses are
314             accepted.  Also, note that some combinations of
315             udpliteEndpointLocalAdressType and
316             udpliteEndpointRemoteAddressType are not supported.  In
317             particular, if the value of this object is not
318             unknown(0), it is expected to always refer to the
319             same IP version as udpliteEndpointLocalAddressType."
320     ::= { udpliteEndpointEntry 4 }
321
322 udpliteEndpointRemoteAddress OBJECT-TYPE
323     SYNTAX     InetAddress
324     MAX-ACCESS not-accessible
325     STATUS     current
326     DESCRIPTION
327            "The remote IP address for this UDP-Lite endpoint.  If
328             datagrams from any remote system are to be accepted,
329             this value is ''h (a zero-length octet-string).
330             Otherwise, it has the type described by
331             udpliteEndpointRemoteAddressType and is the address of
332
333
334
335             the remote system from which datagrams are to be
336             accepted (or to which all datagrams will be sent).
337
338             As this object is used in the index for the
339             udpliteEndpointTable, implementors should be careful
340             not to create entries that would result in OIDs with
341             more than 128 sub-identifiers; this is because of SNMP
342             and SMI limitations."
343     ::= { udpliteEndpointEntry 5 }
344
345 udpliteEndpointRemotePort OBJECT-TYPE
346     SYNTAX     InetPortNumber
347     MAX-ACCESS not-accessible
348     STATUS     current
349     DESCRIPTION
350            "The remote port number for this UDP-Lite endpoint.  If
351             datagrams from any remote system are to be accepted,
352             this value is zero."
353     ::= { udpliteEndpointEntry 6 }
354
355 udpliteEndpointInstance OBJECT-TYPE
356     SYNTAX     Unsigned32 (1..'ffffffff'h)
357     MAX-ACCESS not-accessible
358     STATUS     current
359     DESCRIPTION
360            "The instance of this tuple.  This object is used to
361             distinguish among multiple processes 'connected' to
362             the same UDP-Lite endpoint.  For example, on a system
363             implementing the BSD sockets interface, this would be
364             used to support the SO_REUSEADDR and SO_REUSEPORT
365             socket options."
366     ::= { udpliteEndpointEntry 7 }
367
368 udpliteEndpointProcess OBJECT-TYPE
369     SYNTAX     Unsigned32
370     MAX-ACCESS read-only
371     STATUS     current
372     DESCRIPTION
373            "A unique value corresponding to a piece of software
374             running on this endpoint.
375
376             If this endpoint is associated with more than one piece
377             of software, the agent should choose one of these.  As
378             long as the representative piece of software
379             is running and still associated with the endpoint,
380             subsequent reads will consistently return the same
381             value.  The implementation may use any algorithm
382             satisfying these constraints (e.g., choosing the entity
383
384
385
386             with the oldest start time).
387
388             This identifier is platform-specific.  Wherever possible,
389             it should use the system's native, unique identification
390             number as the value.
391
392             If the SYSAPPL-MIB module is available, the value should
393             be the same as sysApplElmtRunIndex.  If not available, an
394             alternative should be used (e.g., the hrSWRunIndex of the
395             HOST-RESOURCES-MIB module).
396
397             If it is not possible to uniquely identify the pieces of
398             software associated with this endpoint, then the value
399             zero should be used.  (Note that zero is otherwise a
400             valid value for sysApplElmtRunIndex.)"
401     ::= { udpliteEndpointEntry 8 }
402
403 udpliteEndpointMinCoverage OBJECT-TYPE -- new in UDP-Lite
404     SYNTAX     Unsigned32
405     MAX-ACCESS read-only
406     STATUS     current
407     DESCRIPTION
408            "The minimum checksum coverage expected by this endpoint.
409             A value of 0 indicates that only fully covered datagrams
410             are accepted."
411     REFERENCE "RFC 3828, section 3.1"
412     ::= { udpliteEndpointEntry 9 }
413
414 udpliteEndpointViolCoverage OBJECT-TYPE -- new / optional in UDP-Lite
415     SYNTAX     Counter32
416     MAX-ACCESS read-only
417     STATUS     current
418     DESCRIPTION
419            "The number of datagrams received by this endpoint whose
420             checksum coverage violated the minimum coverage threshold
421             set for this connection (i.e., all valid datagrams whose
422             checksum coverage was strictly smaller than the minimum,
423             as defined in RFC 3828).
424             Discontinuities in the value of this counter can occur
425             at re-initialisation of the management system, and at
426             other times as indicated by the value of
427             udpliteStatsDiscontinuityTime."
428     ::= { udpliteEndpointEntry 10 }
429
430
431
432
433
434
435
436
437 udpliteStatsDiscontinuityTime OBJECT-TYPE
438     SYNTAX     TimeStamp
439     MAX-ACCESS read-only
440     STATUS     current
441     DESCRIPTION
442            "The value of sysUpTime at the most recent occasion at
443             which one or more of the UDP-Lite counters suffered a
444             discontinuity.
445             A value of zero indicates no such discontinuity has
446             occurred since the last re-initialisation of the local
447             management subsystem."
448     ::= { udplite 9 }
449
450 -- Conformance Information
451
452 udpliteMIBConformance OBJECT IDENTIFIER ::= { udpliteMIB 2 }
453
454 udpliteMIBCompliance MODULE-COMPLIANCE
455        STATUS     current
456        DESCRIPTION
457            "The compliance statement for systems that implement
458             UDP-Lite.
459
460             There are a number of INDEX objects that cannot be
461             represented in the form of OBJECT clauses in SMIv2,
462             but for which we have the following compliance
463             requirements, expressed in OBJECT clause form in this
464             description clause:
465
466             -- OBJECT      udpliteEndpointLocalAddressType
467             -- SYNTAX      InetAddressType { unknown(0), ipv4(1),
468             --                               ipv6(2), ipv4z(3),
469             --                               ipv6z(4) }
470             -- DESCRIPTION
471             --     Support for dns(16) is not required.
472             -- OBJECT      udpliteEndpointLocalAddress
473             -- SYNTAX      InetAddress (SIZE(0|4|8|16|20))
474             -- DESCRIPTION
475             --     Support is only required for zero-length
476             --     octet-strings, and for scoped and unscoped
477             --     IPv4 and IPv6 addresses.
478             -- OBJECT      udpliteEndpointRemoteAddressType
479             -- SYNTAX      InetAddressType { unknown(0), ipv4(1),
480             --                               ipv6(2), ipv4z(3),
481             --                               ipv6z(4) }
482             -- DESCRIPTION
483             --     Support for dns(16) is not required.
484             -- OBJECT      udpliteEndpointRemoteAddress
485
486
487
488             -- SYNTAX      InetAddress (SIZE(0|4|8|16|20))
489             -- DESCRIPTION
490             --     Support is only required for zero-length
491             --     octet-strings, and for scoped and unscoped
492             --     IPv4 and IPv6 addresses.
493            "
494     MODULE  -- this module
495          MANDATORY-GROUPS { udpliteBaseGroup,
496                             udplitePartialCsumGroup,
497                             udpliteEndpointGroup    }
498      GROUP               udpliteAppGroup
499      DESCRIPTION
500             "This group is optional and provides supplementary
501              information about the effectiveness of using minimum
502              checksum coverage thresholds on endpoints."
503     ::= { udpliteMIBConformance 1 }
504
505 udpliteMIBGroups OBJECT IDENTIFIER ::= { udpliteMIBConformance 2 }
506
507 udpliteBaseGroup OBJECT-GROUP          -- as in UDP
508     OBJECTS   { udpliteInDatagrams, udpliteNoPorts, udpliteInErrors,
509                 udpliteOutDatagrams, udpliteStatsDiscontinuityTime }
510     STATUS     current
511     DESCRIPTION
512            "The group of objects providing for counters of
513             basic UDP-like statistics."
514     ::= { udpliteMIBGroups 1 }
515
516 udplitePartialCsumGroup OBJECT-GROUP  -- specific to UDP-Lite
517     OBJECTS   { udpliteInPartialCov,
518                 udpliteInBadChecksum,
519                 udpliteOutPartialCov  }
520     STATUS     current
521     DESCRIPTION
522            "The group of objects providing for counters of
523             transport layer statistics exclusive to UDP-Lite."
524     ::= { udpliteMIBGroups 2 }
525
526 udpliteEndpointGroup OBJECT-GROUP
527     OBJECTS    { udpliteEndpointProcess, udpliteEndpointMinCoverage }
528     STATUS     current
529     DESCRIPTION
530            "The group of objects providing for the IP version
531             independent management of UDP-Lite 'endpoints'."
532     ::= { udpliteMIBGroups 3 }
533
534
535
536
537
538
539 udpliteAppGroup OBJECT-GROUP
540     OBJECTS    { udpliteEndpointViolCoverage }
541     STATUS     current
542     DESCRIPTION
543            "The group of objects that provide application-level
544             information for the configuration management of
545             UDP-Lite 'endpoints'."
546     ::= { udpliteMIBGroups 4 }
547
548 END