1UDP-MIB DEFINITIONS ::= BEGIN 2 3IMPORTS 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 10udpMIB 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 75udp OBJECT IDENTIFIER ::= { mib-2 7 } 76 77udpInDatagrams 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 95udpNoPorts 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 109udpInErrors 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 124udpOutDatagrams 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 140udpHCInDatagrams 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 155udpHCOutDatagrams 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 178udpEndpointTable 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 235udpEndpointEntry 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 260UdpEndpointEntry ::= 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 271udpEndpointLocalAddressType 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 282udpEndpointLocalAddress 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 324udpEndpointLocalPort 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 332udpEndpointRemoteAddressType 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 351udpEndpointRemoteAddress 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 371udpEndpointRemotePort 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 381udpEndpointInstance 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 397udpEndpointProcess 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 418udpTable 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 431udpEntry 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 440UdpEntry ::= SEQUENCE { 441 udpLocalAddress IpAddress, 442 udpLocalPort Integer32 443 444 445 446} 447 448udpLocalAddress 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 459udpLocalPort 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 469udpMIBConformance OBJECT IDENTIFIER ::= { udpMIB 2 } 470udpMIBCompliances OBJECT IDENTIFIER ::= { udpMIBConformance 1 } 471udpMIBGroups OBJECT IDENTIFIER ::= { udpMIBConformance 2 } 472 473-- compliance statements 474 475udpMIBCompliance2 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 526udpMIBCompliance 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 541udpGroup 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 554udpBaseGroup 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 563udpHCGroup 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 571udpEndpointGroup 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 579END 580