1 UDPLITE-MIB DEFINITIONS ::= BEGIN
7 Counter32, Counter64 FROM SNMPv2-SMI -- [RFC2578]
9 TimeStamp FROM SNMPv2-TC -- [RFC2579]
12 OBJECT-GROUP FROM SNMPv2-CONF -- [RFC2580]
16 InetPortNumber FROM INET-ADDRESS-MIB; -- [RFC4001]
18 udpliteMIB MODULE-IDENTITY
19 LAST-UPDATED "200712180000Z" -- 18 December 2007
20 ORGANIZATION "IETF TSV Working Group (TSVWG)"
22 "IETF TSV Working Group
23 http://www.ietf.org/html.charters/tsvwg-charter.html
24 Mailing List: tsvwg@ietf.org
29 Gerrit Renker, Godred Fairhurst
30 Electronics Research Group
31 School of Engineering, University of Aberdeen
32 Fraser Noble Building, Aberdeen AB24 3UE, UK"
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."
39 REVISION "200712180000Z" -- 18 December 2007
41 "Initial SMIv2 revision, based on the format of the UDP
42 MIB module (RFC 4113) and published as RFC 5097."
45 udplite OBJECT IDENTIFIER ::= { udpliteMIB 1 }
47 udpliteInDatagrams OBJECT-TYPE -- as in UDP-MIB
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."
60 udpliteInPartialCov OBJECT-TYPE -- new in UDP-Lite
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
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."
80 udpliteNoPorts OBJECT-TYPE -- as in UDP-MIB
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."
93 udpliteInErrors OBJECT-TYPE -- as in UDP-MIB
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."
107 udpliteInBadChecksum OBJECT-TYPE -- new in UDP-Lite
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
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"
123 udpliteOutDatagrams OBJECT-TYPE -- as in UDP-MIB
131 "The total number of UDP-Lite datagrams sent from this
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."
139 udpliteOutPartialCov OBJECT-TYPE -- new in UDP-Lite
144 "The total number of udpliteOutDatagrams whose
145 checksum coverage was strictly less than the
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."
153 udpliteEndpointTable OBJECT-TYPE
154 SYNTAX SEQUENCE OF UdpLiteEndpointEntry
155 MAX-ACCESS not-accessible
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.
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).
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
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
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.
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.
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.
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."
209 udpliteEndpointEntry OBJECT-TYPE
210 SYNTAX UdpLiteEndpointEntry
211 MAX-ACCESS not-accessible
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 }
229 UdpLiteEndpointEntry ::= SEQUENCE {
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
245 udpliteEndpointLocalAddressType OBJECT-TYPE
246 SYNTAX InetAddressType
247 MAX-ACCESS not-accessible
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
254 ::= { udpliteEndpointEntry 1 }
256 udpliteEndpointLocalAddress OBJECT-TYPE
258 MAX-ACCESS not-accessible
261 "The local IP address for this UDP-Lite endpoint.
263 The value of this object can be represented in three
264 possible ways, depending on the characteristics of the
265 listening application:
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).
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.
280 3. For an application that is listening for data
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.
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 }
298 udpliteEndpointLocalPort OBJECT-TYPE
299 SYNTAX InetPortNumber
300 MAX-ACCESS not-accessible
303 "The local port number for this UDP-Lite endpoint."
304 ::= { udpliteEndpointEntry 3 }
306 udpliteEndpointRemoteAddressType OBJECT-TYPE
307 SYNTAX InetAddressType
308 MAX-ACCESS not-accessible
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 }
322 udpliteEndpointRemoteAddress OBJECT-TYPE
324 MAX-ACCESS not-accessible
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
335 the remote system from which datagrams are to be
336 accepted (or to which all datagrams will be sent).
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 }
345 udpliteEndpointRemotePort OBJECT-TYPE
346 SYNTAX InetPortNumber
347 MAX-ACCESS not-accessible
350 "The remote port number for this UDP-Lite endpoint. If
351 datagrams from any remote system are to be accepted,
353 ::= { udpliteEndpointEntry 6 }
355 udpliteEndpointInstance OBJECT-TYPE
356 SYNTAX Unsigned32 (1..'ffffffff'h)
357 MAX-ACCESS not-accessible
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
366 ::= { udpliteEndpointEntry 7 }
368 udpliteEndpointProcess OBJECT-TYPE
373 "A unique value corresponding to a piece of software
374 running on this endpoint.
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
386 with the oldest start time).
388 This identifier is platform-specific. Wherever possible,
389 it should use the system's native, unique identification
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).
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 }
403 udpliteEndpointMinCoverage OBJECT-TYPE -- new in UDP-Lite
408 "The minimum checksum coverage expected by this endpoint.
409 A value of 0 indicates that only fully covered datagrams
411 REFERENCE "RFC 3828, section 3.1"
412 ::= { udpliteEndpointEntry 9 }
414 udpliteEndpointViolCoverage OBJECT-TYPE -- new / optional in UDP-Lite
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 }
437 udpliteStatsDiscontinuityTime OBJECT-TYPE
442 "The value of sysUpTime at the most recent occasion at
443 which one or more of the UDP-Lite counters suffered a
445 A value of zero indicates no such discontinuity has
446 occurred since the last re-initialisation of the local
447 management subsystem."
450 -- Conformance Information
452 udpliteMIBConformance OBJECT IDENTIFIER ::= { udpliteMIB 2 }
454 udpliteMIBCompliance MODULE-COMPLIANCE
457 "The compliance statement for systems that implement
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
466 -- OBJECT udpliteEndpointLocalAddressType
467 -- SYNTAX InetAddressType { unknown(0), ipv4(1),
468 -- ipv6(2), ipv4z(3),
471 -- Support for dns(16) is not required.
472 -- OBJECT udpliteEndpointLocalAddress
473 -- SYNTAX InetAddress (SIZE(0|4|8|16|20))
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),
483 -- Support for dns(16) is not required.
484 -- OBJECT udpliteEndpointRemoteAddress
488 -- SYNTAX InetAddress (SIZE(0|4|8|16|20))
490 -- Support is only required for zero-length
491 -- octet-strings, and for scoped and unscoped
492 -- IPv4 and IPv6 addresses.
494 MODULE -- this module
495 MANDATORY-GROUPS { udpliteBaseGroup,
496 udplitePartialCsumGroup,
497 udpliteEndpointGroup }
498 GROUP udpliteAppGroup
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 }
505 udpliteMIBGroups OBJECT IDENTIFIER ::= { udpliteMIBConformance 2 }
507 udpliteBaseGroup OBJECT-GROUP -- as in UDP
508 OBJECTS { udpliteInDatagrams, udpliteNoPorts, udpliteInErrors,
509 udpliteOutDatagrams, udpliteStatsDiscontinuityTime }
512 "The group of objects providing for counters of
513 basic UDP-like statistics."
514 ::= { udpliteMIBGroups 1 }
516 udplitePartialCsumGroup OBJECT-GROUP -- specific to UDP-Lite
517 OBJECTS { udpliteInPartialCov,
518 udpliteInBadChecksum,
519 udpliteOutPartialCov }
522 "The group of objects providing for counters of
523 transport layer statistics exclusive to UDP-Lite."
524 ::= { udpliteMIBGroups 2 }
526 udpliteEndpointGroup OBJECT-GROUP
527 OBJECTS { udpliteEndpointProcess, udpliteEndpointMinCoverage }
530 "The group of objects providing for the IP version
531 independent management of UDP-Lite 'endpoints'."
532 ::= { udpliteMIBGroups 3 }
539 udpliteAppGroup OBJECT-GROUP
540 OBJECTS { udpliteEndpointViolCoverage }
543 "The group of objects that provide application-level
544 information for the configuration management of
545 UDP-Lite 'endpoints'."
546 ::= { udpliteMIBGroups 4 }