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