1UDPLITE-MIB DEFINITIONS ::= BEGIN
2
3IMPORTS
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
18udpliteMIB 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
45udplite      OBJECT IDENTIFIER ::= { udpliteMIB 1 }
46
47udpliteInDatagrams 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
60udpliteInPartialCov 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
80udpliteNoPorts 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
93udpliteInErrors 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
107udpliteInBadChecksum 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
123udpliteOutDatagrams 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
139udpliteOutPartialCov 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
153udpliteEndpointTable 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
209udpliteEndpointEntry 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
229UdpLiteEndpointEntry ::= 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
245udpliteEndpointLocalAddressType 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
256udpliteEndpointLocalAddress 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
298udpliteEndpointLocalPort 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
306udpliteEndpointRemoteAddressType 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
322udpliteEndpointRemoteAddress 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
345udpliteEndpointRemotePort 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
355udpliteEndpointInstance 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
368udpliteEndpointProcess 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
403udpliteEndpointMinCoverage 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
414udpliteEndpointViolCoverage 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
437udpliteStatsDiscontinuityTime 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
452udpliteMIBConformance OBJECT IDENTIFIER ::= { udpliteMIB 2 }
453
454udpliteMIBCompliance 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
505udpliteMIBGroups OBJECT IDENTIFIER ::= { udpliteMIBConformance 2 }
506
507udpliteBaseGroup 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
516udplitePartialCsumGroup 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
526udpliteEndpointGroup 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
539udpliteAppGroup 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
548END
549