idnits 2.17.1 draft-ietf-dhc-server-mib-07.txt: -(2103): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding -(2129): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding -(2151): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- ** Looks like you're using RFC 2026 boilerplate. This must be updated to follow RFC 3978/3979, as updated by RFC 4748. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- == There are 4 instances of lines with non-ascii characters in the document. == The page length should not exceed 58 lines per page, but there was 48 longer pages, the longest (page 2) being 65 lines == It seems as if not all pages are separated by form feeds - found 0 form feeds but 49 pages Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- ** The document seems to lack an IANA Considerations section. (See Section 2.2 of https://www.ietf.org/id-info/checklist for how to handle the case when there are no actions for IANA.) ** The document seems to lack separate sections for Informative/Normative References. All references will be assumed normative when checking for downward references. ** There are 524 instances of too long lines in the document, the longest one being 5 characters in excess of 72. Miscellaneous warnings: ---------------------------------------------------------------------------- == The document seems to lack the recommended RFC 2119 boilerplate, even if it appears to use RFC 2119 keywords. (The document does seem to have the reference to RFC 2119 which the ID-Checklist requires). -- The document seems to lack a disclaimer for pre-RFC5378 work, but may have content which was first submitted before 10 November 2008. If you have contacted all the original authors and they are all willing to grant the BCP78 rights to the IETF Trust, then this is fine, and you can ignore this comment. If not, you may need to add the pre-RFC5378 disclaimer. (See the Legal Provisions document at https://trustee.ietf.org/license-info for more information.) -- The document date (November 2002) is 7831 days in the past. Is this intentional? -- Found something which looks like a code comment -- if you have code sections in the document, please surround them with '' and '' lines. Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) == Unused Reference: 'RFC2132' is defined on line 2252, but no explicit reference was found in the text -- Possible downref: Non-RFC (?) normative reference: ref. 'DEN' ** Downref: Normative reference to an Historic RFC: RFC 1157 ** Downref: Normative reference to an Informational RFC: RFC 1215 ** Downref: Normative reference to an Historic RFC: RFC 1901 ** Obsolete normative reference: RFC 1905 (Obsoleted by RFC 3416) ** Obsolete normative reference: RFC 1906 (Obsoleted by RFC 3417) ** Obsolete normative reference: RFC 2570 (Obsoleted by RFC 3410) ** Obsolete normative reference: RFC 2571 (Obsoleted by RFC 3411) ** Obsolete normative reference: RFC 2572 (Obsoleted by RFC 3412) ** Obsolete normative reference: RFC 2573 (Obsoleted by RFC 3413) ** Obsolete normative reference: RFC 2574 (Obsoleted by RFC 3414) ** Obsolete normative reference: RFC 2575 (Obsoleted by RFC 3415) Summary: 15 errors (**), 0 flaws (~~), 5 warnings (==), 4 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Network Working Group Barr Hibbs 3 INTERNET-DRAFT (no affiliation) 4 Category: Standards Track Glenn Waters 5 Nortel Networks 6 November 2002 8 Dynamic Host Configuration Protocol (DHCP) Server MIB 10 11 Saved Monday, November 04, 2002, 4:29:26 AM 13 Status of this Memo 15 This document is an Internet-Draft and is in full conformance with 16 all provisions of Section 10 of RFC2026. 18 Internet-Drafts are working documents of the Internet Engineering 19 Task Force (IETF), its areas, and its working groups. Note that 20 other groups may also distribute working documents as Internet- 21 Drafts. 23 Internet-Drafts are draft documents valid for a maximum of six months 24 and may be updated, replaced, or obsoleted by other documents at any 25 time. It is inappropriate to use Internet-Drafts as reference 26 material or to cite them other than as "work in progress." 28 The list of current Internet-Drafts can be accessed at 29 http://www.ietf.org/1id-abstracts.html. 31 The list of Internet-Draft Shadow Directories can be accessed at 32 http://www.ietf.org/shadow.html. 34 Copyright Notice 36 Copyright (C) 2002, The Internet Society. All Rights Reserved. 38 Abstract 40 This memo defines an experimental portion of the Management 41 Information Base (MIB) for use with network management protocols in 42 the Internet Community. In particular, it defines objects used for 43 the management of Dynamic Host Configuration Protocol (DHCP) and 44 Bootstrap Protocol (BOOTP) servers. 46 Table of Contents 48 1. Introduction...................................................2 49 2. Overview.......................................................3 50 2.1. Relationship to Other MIBs.................................5 51 2.1.1. DHCP MIB Extensions...................................5 52 2.1.2. Host System MIB Extensions............................5 53 2.1.3. DHCPv6 Server MIB Extensions..........................5 54 2.1.4. DHCP Client MIB Extensions............................6 55 2.1.5. DHCP Relay Agent MIB Extensions.......................6 56 2.2. Textual Conventions Introduced in this MIB.................6 57 2.2.1. DhcpTimeInterval......................................6 58 2.2.2. HardwareAddressType...................................6 59 2.2.3. HardwareAddressLength.................................6 60 2.2.4. MacAddress............................................6 61 2.2.5. PhysicalAddress.......................................6 62 2.2.6. DhcpLabel.............................................7 63 2.3. BOOTP and DHCP Counter Groups..............................7 64 2.4. BOOTP and DHCP Optional Statistics Group...................7 65 2.5. Response Times and ICMP Echo...............................9 66 3. Definitions....................................................9 67 4. Intellectual Property.........................................42 68 5. Notes.........................................................42 69 5.1. Issues....................................................43 70 5.2. Changes from Prior Drafts.................................43 71 6. Acknowledgements..............................................45 72 7. Security Considerations.......................................45 73 8. References....................................................46 74 9. Editors' Addresses............................................48 75 10. Full Copyright Statement.....................................49 77 1. Introduction 79 This memo was produced by the DHCP Working Group and defines a 80 portion of the Management Information Base (MIB) for use with network 81 management protocols in the Internet community. In particular, it 82 describes a set of extensions that DHCP and Bootstrap Protocol 83 (BOOTP) servers implement. Many implementations support both DHCP 84 and BOOTP within a single server and hence this memo describes the 85 MIB for both DHCP and BOOTP servers. 87 This memo does not cover DHCP/BOOTP client nor relay agent MIB 88 extensions: these are possibly the subjects of future investigation 89 [see discussion in section 3.1.] Also excluded from this MIB 90 extension in the interest of simplicity are DHCP Dynamic DNS 91 Updating, Failover, Authentication, and Load Balancing: these 92 functions and features could be subjects of future MIB extensions. 94 Provision is also made for Standards-Track additions to the DHCP 95 Message Type (option 61.) 97 This memo is based on the Internet-standard Network Management 98 Framework as defined by documents [RFC2578, RFC2579, RFC2580]. 100 Objects defined in this MIB allow access to and control of DHCP 101 Server Software. Servers MAY also provide additional management 102 capabilities through the use of the Applications MIB [RFC2287]. 104 The key words "MUST," "MUST NOT," "REQUIRED," "SHALL," "SHALL NOT," 105 "SHOULD," "SHOULD NOT," "RECOMMENDED," "MAY," and "OPTIONAL" in this 106 document are to be interpreted as described in document [RFC2119]. 108 2. The SNMP Management Framework 110 The SNMP Management Framework presently consists of five major 111 components: 113 o An overall architecture, described in RFC 2571 [RFC2571]. 115 o Mechanisms for describing and naming objects and events for the 116 purpose of management. The first version of this Structure of 117 Management Information (SMI) is called SMIv1 and described in STD 118 16, RFC 1155 [RFC1155], STD 16, RFC 1212 [RFC1212] and RFC 1215 119 [RFC1215]. The second version, called SMIv2, is described in STD 120 58, RFC 2578 [RFC2578], STD 58, RFC 2579 [RFC2579] and STD 58, 121 RFC 2580 [RFC2580]. 123 o Message protocols for transferring management information. The 124 first version of the SNMP message protocol is called SNMPv1 and 125 described in STD 15, RFC 1157 [RFC1157]. A second version of the 126 SNMP message protocol, which is not an Internet standards track 127 protocol, is called SNMPv2c and described in RFC 1901 [RFC1901] 128 and RFC 1906 [RFC1906]. The third version of the message 129 protocol is called SNMPv3 and described in RFC 1906 [RFC1906], 130 RFC 2572 [RFC2572] and RFC 2574 [RFC2574]. 132 o Protocol operations for accessing management information. The 133 first set of protocol operations and associated PDU formats is 134 described in STD 15, RFC 1157 [RFC1157]. A second set of 135 protocol operations and associated PDU formats is described in 136 RFC 1905 [RFC1905]. 138 o A set of fundamental applications described in RFC 2573 [RFC2573] 139 and the view-based access control mechanism described in RFC 2575 140 [RFC2575]. 142 A more detailed introduction to the current SNMP Management Framework 143 can be found in RFC 2570 [RFC2570]. 145 Managed objects are accessed via a virtual information store, termed 146 the Management Information Base or MIB. Objects in the MIB are 147 defined using the mechanisms defined in the SMI. 149 This memo specifies a MIB module that is compliant to the SMIv2. A 150 MIB conforming to the SMIv1 can be produced through the appropriate 151 translations. The resulting translated MIB must be semantically 152 equivalent, except where objects or events are omitted because no 153 translation is possible (use of Counter64). Some machine readable 154 information in SMIv2 will be converted into textual descriptions in 155 SMIv1 during the translation process. However, this loss of machine 156 readable information is not considered to change the semantics of the 157 MIB. 159 3. Overview 161 In the tradition of the Simple Network Management Protocol (SNMP) the 162 minimum number of objects possible are defined in this MIB, while 163 still providing as rich a set of management information as possible. 164 An object is left out of this MIB when it can be derived from other 165 objects that are provided. Further to the tradition of the SNMP, 166 computationally intense operations are left to the domain of the 167 management station. Thus, this MIB provides a set of objects from 168 which other management information may be derived. 170 The examples provided in sections 3.3 through 3.5 are not meant to be 171 comprehensive but are illustrative of the potential uses of the 172 objects defined by this MIB. 174 3.1. Relationship to Other MIBs 176 3.1.1. DHCP MIB Extensions 178 The DHCP MIB extensions will be the "dhcp" branch of the standard 179 MIB-2 tree, as illustrated by the following diagram: 181 + -- -- -- -+ 182 | MIB-2 | 183 + -- -+ -- -+ 184 | 185 | 186 + -- -+ -- -+ 187 | dhcp | 188 + -- -+ -- -+ 189 | 190 | 191 + -- -- -- -- -- -- -- -+ -- -- -- + -- -- -- -- -+ -- -- -- -- 192 -- -- -- -- -- -- -+ 193 | | | | 194 + -- -- -+ -- -- -+ + -- -- -+ -- -- + + -- -- -- -+ -- -- -- -- 195 + + -- -- -- + -- -- -- + 196 | dhcp-v4 | | dhcp-v4 | | dhcp-v4 | | dhcp-v6 MIB | 197 |Server MIB | |Client MIB| |Relay Agent MIB | | Extensions | 198 |(this memo)| | (future) | | (future work) | | (future) | 199 + -- -- -- -- -- -+ + -- -- -- -- -- + + -- -- -- -- -- -- -- -- 200 + + -- -- -- -- -- -- -+ 202 The MIBs will share a common branching point, but are independently 203 defined. 205 3.1.2. Host System MIB Extensions 207 The Host System MIB [RFC1123] provides for information, command, and 208 control of the host computer system on which a DHCP server resides. 209 The DHCP Server MIB specifically does not include any objects that 210 may be accessible using the Host System MIB. 212 3.1.3. DHCPv6 Server MIB Extensions 214 When this set of MIB extensions is developed, it will share a common 215 branch point in the MIB tree with the other DHCP MIB Extensions. 217 3.1.4. DHCP Client MIB Extensions 219 If this set of MIB extensions is ever developed, it will share a 220 common branch point in the MIB tree with the other DHCP MIB 221 Extensions, and will use many of the same textual conventions. 223 3.1.5. DHCP Relay Agent MIB Extensions 225 If this set of MIB extensions is ever developed, it will share a 226 common branch point in the MIB tree with the other DHCP MIB 227 Extensions, and will use many of the same textual conventions. 229 3.2. Textual Conventions Introduced in this MIB 231 Several conceptual data types have been introduced as textual 232 conventions in this DHCP MIB document. These additions will 233 facilitate the common understanding of information used by the DHCP 234 server. No changes to the SMI or the SNMP are necessary to support 235 these conventions. 237 3.2.1. DhcpTimeInterval 239 This data type measures time intervals since the beginning of some 240 epoch in milliseconds. 242 3.2.2. HardwareAddressType 244 This data type contains the type of hardware address represented by 245 MacAddress, as defined for ARP messages. 247 3.2.3. HardwareAddressLength 249 The length in octets of MacAddress is contained in this type. 251 3.2.4. MacAddress 253 The actual layer 1 hardware address is contained in this data type. 255 3.2.5. PhysicalAddress 257 This data type combines the hardware type octet with the length and 258 hardware (NIC or MAC) address to produce a unique address type. 260 3.2.6. DhcpLabel 262 This data type contains labels used as identifiers by DHCP servers. 264 3.3. BOOTP and DHCP Counter Groups 266 This section describes some of the management information that may be 267 derived from the objects provided in the counter groups. 269 The total number of valid DHCP packets received by the server is 270 computed as the sum of the dhcpCountDiscovers, dhcpCountRequests, 271 dhcpCountReleases, dhcpCountDeclines, dhcpCountInforms and 272 dhcpCountLeaseQueries objects. The total number of valid packets 273 (BOOTP and DHCP) received is computed as the total number of valid 274 DHCP packets plus the value of the bootpCountRequests object. The 275 total number of packets received is computed as the total number of 276 valid packets plus the sum of bootpCountInvalids and 277 dhcpCountInvalids. 279 Similar to the received computations, the total number of DHCP 280 packets sent by the server is computed as the sum of the 281 dhcpCountOffers, dhcpCountAcks, dhcpCountNacks, 282 dhcpCountForcedRenews, dhcpCountKnowns, and dhcpCountUnknowns 283 objects. The number of packets (BOOTP and DHCP) sent by the server 284 is computed as the total number of DHCP packets sent plus the value 285 of the bootpCountReplies object. 287 3.4. BOOTP and DHCP Optional Statistics Group 289 This section describes some of the management information that may be 290 derived from the objects provided in the optional statistics group. 292 Given time 1 (t1) and time 2 (t2) greater than t1, the mean inter- 293 arrival time of valid DHCP messages for the interval t1 to t2 can be 294 computed as (dhcpStatLastArrivalTime at t2 minus 295 dhcpStatLastArrivalTime at t1) divided by (valid DHCP received packet 296 count at t2 minus valid DHCP received packet count at t1). 298 Under the simplifying assumption that the capture of packet counts 299 and times is discontinuous (that is, for the measurement interval the 300 captured data represents the complete set for the server) the 301 variance of the mean may be computed as 302 (dhcpStatSumSquaresArrivalTime at t2 less 303 dhcpStatSumSquaresArrivalTime at t1) divided by (valid DHCP received 304 packet count at t2 less valid DHCP received packet count at t1). 305 Standard deviation of the mean is the square root of the variance. 307 Calculation of statistics for message response time is entirely 308 similar to the calculations for inter-arrival time, except that the 309 response time objects are used for the calculations. 311 Calculation of statistics for BOOTP is similar to the calculations 312 for DHCP, except that the similar objects from the 313 bootpOptionalStatistics group are used instead of the objects from 314 dhcpOptionalStatistics group.server Configuration Group 316 The server configuration group contains objects that describe the 317 configuration information that is contained in the server. Some of 318 the configuration information is static (e.g., a statically 319 configured IP address) and some of the configuration is dynamic 320 (e.g., an assigned DHCP lease). The intent of the server 321 configuration group is to be able to read the server's configuration. 322 Mechanisms outside of the SNMP are currently in use (e.g., vendor 323 defined solutions) and are being standardized (e.g., the Directory 324 Enabled Networks [DEN] initiative) to update a server's 325 configuration. 327 The configuration information defines a minimal set of information 328 that most servers should be able to provide. Each row of the 329 serverSubnetTable lists the subnet, the subnet mask, and the subnet 330 that is equivalent to this subnet. Equivalence is defined as more 331 than one subnet being present on the same network segment as some 332 other subnet. 334 The serverRangeTable lists the start and end IP addresses of the 335 ranges and the subnet of which the range is a member. The 336 serverRangeInUse object indicates the amount of the range that is 337 currently in use, either through dynamic allocation or being 338 reserved. The range size can be computed by taking the difference of 339 the serverRangeStart and serverRangeEnd objects. 341 The serverAddressTable provides information about the static and 342 dynamic addresses that the server contains in its configuration. 343 Addresses may be: 345 o Static, in which case they are predefined though the server's 346 configuration. Static addresses may or may not have been 347 previously served by the server; 349 o Dynamic, in which case the server has served the addresses and 350 it is currently in active use by a host; 352 o Expired, in which case the server had previously assigned for 353 which the lease time has expired, but is retained by the server 354 for possible future use by the same client; 356 o Configuration-reserved, in which case the address is not 357 available for the server to allocate to a client. A 358 configuration-reserved address is one that has been reserved by 359 the administrator. An example of a configuration-reserved 360 address is an address that is assigned to a client, not through 361 DHCP (e.g., statically assigned), and the address is within a 362 DHCP range; and 364 o Server-reserved, in which case the server has taken the address 365 out of use. Examples of server-reserved addresses are those 366 which have been declined (i.e., through a DHCPDECLINE) by a 367 client or those which have responded to an ICMP echo before they 368 were assigned. 370 The protocol used to allocate the address may be determined from the 371 serverAddressServedProtocol object. This object indicates whether 372 the address has never been served, or whether BOOTP or DHCP was used 373 to allocate the address. 375 3.5. Response Times and ICMP Echo 377 According to [RFC2131], servers SHOULD try to determine if an address 378 is in use before assigning it. Some servers choose not to perform 379 this check, letting the client determine for itself if the address is 380 in use. Other servers perform an ICMP echo (Ping) just prior to 381 assigning an address. Servers that perform a Ping before responding 382 to a DHCPDISCOVER should not include in the response time the time 383 from when the Ping was transmitted until the time that either a 384 response was received or that the server timed out waiting for a 385 response. 387 4. Definitions 389 -- definitions for a DHCP (Dynamic Host Configuration Protocol) 390 server 392 DHCP-SERVER-MIB DEFINITIONS ::= BEGIN 394 IMPORTS 395 Counter64, Counter32, Gauge32, Unsigned32, mib-2, MODULE-IDENTITY, 396 OBJECT-TYPE, OBJECT-IDENTITY 397 FROM SNMPv2-SMI 399 TEXTUAL-CONVENTION, RowStatus, TruthValue, DateAndTime 400 FROM SNMPv2-TC 402 SnmpAdminString FROM SNMP-FRAMEWORK-MIB 403 InetAddressType, InetAddress, InetAddressIPv4, 404 InetAddressPrefixLength 405 FROM INET-ADDRESS-MIB 407 MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP 408 FROM SNMPv2-CONF; 410 dhcp OBJECT-IDENTITY 411 STATUS current 412 DESCRIPTION 413 "The dhcp branch in the standard network management framework." 414 ::= { mib-2 99 } -- IANA will make official assignment 416 serverMIB MODULE-IDENTITY 417 REVISION "2002-11-04 04:29Z� 418 DESCRIPTION "Initial Version, published as RFC xxxx." 419 -- RFC Editor assigns xxxx 420 LAST-UPDATED "2002-11-04 04:29Z" 421 ORGANIZATION "IETF DHC Working Group" 422 General Discussion: dhcwg@ietf.org 423 Subscribe: http://www1.ietf.org/mailman/listinfo/dhcwg 424 Archive: http://www1.ietf.org/mailman/listinfo/dhcwg 425 Chair: Ralph Droms, rdroms@cisco.com 426 CONTACT-INFO 427 " Richard Barr Hibbs 428 Postal: 952 Sanchex Street 429 San Francisco, California 94114-3362 430 USA 431 Tel: +1-(415)-648-3920 432 Fax: +1-(415)-648-9017 433 E-mail: rbhibbs@pacbell.net 435 Glenn Waters 436 Postal: Nortel Networks, Inc. 437 310-875 Carling Avenue 438 Ottawa, Ontario K1S 5P1 439 Canada 440 Tel: +1-(613)-798-4925 441 E-mail: gww@NortelNetworks.com " 442 DESCRIPTION 443 "The MIB module for entities implementing the server side of 444 the Bootstrap Protocol (BOOTP) and the Dynamic Host 445 Configuration protocol (DHCP) for Internet Protocol version 446 4(IPv4). This MIB does not include support for Dynamic DNS 447 (DDNS) updating nor for the DHCP Failover Protocol." 448 ::= { dhcp 1 } 450 serverMIBObjects OBJECT-IDENTITY 451 STATUS current 452 DESCRIPTION 453 "DHCP Server MIB objects are all defined in this branch." 454 ::= { serverMIB 1 } 456 serverSystem OBJECT-IDENTITY 457 STATUS current 458 DESCRIPTION 459 "Group of objects that are related to the overall system." 460 ::= { serverMIBObjects 1 } 462 bootpCounters OBJECT-IDENTITY 463 STATUS current 464 DESCRIPTION 465 "Group of objects that count various BOOTP events." 466 ::= { serverMIBObjects 2 } 468 dhcpCounters OBJECT-IDENTITY 469 STATUS current 470 DESCRIPTION 471 "Group of objects that count various DHCP events." 472 ::= { serverMIBObjects 3 } 474 bootpOptionalStatistics OBJECT-IDENTITY -- /*renamed*/ 475 STATUS current 476 DESCRIPTION 477 "Group of objects that measure various BOOTP statistics." 478 ::= { serverMIBObjects 4 } 480 dhcpOptionalStatistics OBJECT-IDENTITY -- /*renamed*/ 481 STATUS current 482 DESCRIPTION 483 "Group of objects that measure various DHCP statistics." 484 ::= { serverMIBObjects 5 } 486 serverConfiguration OBJECT-IDENTITY 487 STATUS current 488 DESCRIPTION 489 "Objects that contain pre-configured and dynamic configuration 490 information." 491 ::= { serverMIBObjects 6 } 493 bootpClients OBJECT-IDENTITY 494 STATUS current 495 DESCRIPTION 496 "Objects that map BOOTP clients to IP addresses." 497 ::= { serverMIBObjects 7 } 499 dhcpClients OBJECT-IDENTITY 500 STATUS current 501 DESCRIPTION 502 "Objects that map DHCP clients to IP addresses." 503 ::= { serverMIBObjects 8 } 505 -- Textual conventions defined by this memo 507 DhcpTimeInterval ::= TEXTUAL-CONVENTION 508 SYNTAX Unsigned32 509 STATUS current 510 DESCRIPTION 511 "The number of milliseconds that has elapsed since some epoch. 512 Systems that cannot measure events to the millisecond 513 resolution SHOULD round this value to the next available 514 resolution that the system supports." 516 HardwareAddressType ::= TEXTUAL-CONVENTION 517 SYNTAX OCTET 518 STATUS current 519 REFERENCE "RFC 2131" 520 DESCRIPTION 521 "The value of the hardware type field, as used in ARP messages 522 (e.g., 1 for Ethernet, 6 for token ring). IANA maintains the 523 list of registered numbers for this field." 525 HardwareAddressLength ::= TEXTUAL-CONVENTION 526 SYNTAX OCTET 527 STATUS current 528 REFERENCE "RFC 2131" 529 DESCRIPTION 530 "The length in octets of the hardware address field (e.g., 6 531 for Ethernet). IANA maintains the list of registered numbers 532 for this field." 534 MacAddress ::= TEXTUAL-CONVENTION 535 SYNTAX OCTET STRING (SIZE (1..16)) 536 DISPLAY-HINT "t,l,xx[:xx...]" 537 STATUS current 538 REFERENCE "RFC 2131" 539 DESCRIPTION 540 "A Layer 1 address, the hardware address of the MAC (Media 541 Adapter Card) interface. The address length is fixed for a 542 given hardware address type, but varies by type." 544 PhysicalAddress ::= TEXTUAL-CONVENTION 545 SYNTAX SEQUENCE OF { 546 HardwareAddressType, 547 HardwareAddressLength, 548 MacAddress 549 } 550 DISPLAY-HINT "t,l,xx[:xx...]" 551 STATUS current 552 REFERENCE "RFC 2131" 553 DESCRIPTION 554 "A Layer 1 address which includes the hardware type space as 555 well as the usual MAC address. This encoding is intended to 556 mirror the representation of physical addresses in DHCP." 558 DhcpLabel ::= TEXTUAL-CONVENTION 559 SYNTAX SnmpAdminString (SIZE (1..100)) 560 DISPLAY-HINT 561 STATUS current 562 DESCRIPTION 564 -- serverSystem Group 566 serverSystemDescr OBJECT-TYPE 567 SYNTAX SnmpAdminString (SIZE (0..255)) 568 MAX-ACCESS read-only 569 STATUS current 570 DESCRIPTION 571 "A textual description of the server. This value should 572 include the full name and version identification of the 573 server." 574 ::= { serverSystem 1 } 576 serverSystemObjectID OBJECT-TYPE 577 SYNTAX OBJECT IDENTIFIER 578 MAX-ACCESS read-only 579 STATUS current 580 DESCRIPTION 581 "The vendor's authoritative identification of the network 582 management subsystem contained in this entity. This value is 583 allocated within the SMI enterprise subtree (1.3.6.1.4.1) and 584 provides an easy and unambiguous means for determining 'what 585 kind of server' is being managed. For example, if vendor 586 'VeryBigServers, Inc.' is assigned the subtree 587 1.3.6.1.4.1.4242, it may assign the identifier 588 1.3.6.1.4.1.4242.1.1 to its `Hercules DHCP Server'." 589 ::= { serverSystem 2 } 591 -- dhcpCounters Group 593 -- DHCP received packet counters 595 dhcpCountDiscovers OBJECT-TYPE 596 SYNTAX Counter32 597 MAX-ACCESS read-only 598 STATUS current 599 DESCRIPTION 600 "The number of DHCPDISCOVER (option 53 with value 1) packets 601 received." 602 REFERENCE 603 "RFC2131; RFC2132, section 9.6." 604 ::= { dhcpCounters 1 } 606 dhcpCountRequests OBJECT-TYPE 607 SYNTAX Counter32 608 MAX-ACCESS read-only 609 STATUS current 610 DESCRIPTION 611 "The number of DHCPREQUEST (option 53 with value 3) packets 612 received." 613 REFERENCE 614 "RFC2131; RFC2132, section 9.6." 615 ::= { dhcpCounters 2 } 617 dhcpCountReleases OBJECT-TYPE 618 SYNTAX Counter32 619 MAX-ACCESS read-only 620 STATUS current 621 DESCRIPTION 622 "The number of DHCPRELEASE (option 53 with value 7) packets 623 received." 624 REFERENCE 625 "RFC2131; RFC2132, section 9.6." 626 ::= { dhcpCounters 3 } 628 dhcpCountDeclines OBJECT-TYPE 629 SYNTAX Counter32 630 MAX-ACCESS read-only 631 STATUS current 632 DESCRIPTION 633 "The number of DHCPDECLINE (option 53 with value 4) packets 634 received." 635 REFERENCE 636 "RFC2131; RFC2132, section 9.6." 637 ::= { dhcpCounters 4 } 639 dhcpCountInforms OBJECT-TYPE 640 SYNTAX Counter32 641 MAX-ACCESS read-only 642 STATUS current 643 DESCRIPTION 644 "The number of DHCPINFORM (option 53 with value 8) packets 645 received." 646 REFERENCE 647 "RFC2131; RFC2132, section 9.6." 648 ::= { dhcpCounters 5 } -- /*renumbered*/ 650 dhcpCountLeaseQueries OBJECT-TYPE -- /*new*/ 651 SYNTAX Counter32 652 MAX-ACCESS read-only 653 STATUS current 654 DESCRIPTION 655 "The number of DHCPLEASEQUERY (option 53 with value 9) packets 656 received." 657 REFERENCE 658 "draft-ietf-dhc-leasequery-02.txt." 659 ::= { dhcpCounters 6 } -- /*new*/ 661 dhcpCountPlaceHolder1 OBJECT-TYPE -- /*new*/ 662 SYNTAX Counter32 663 MAX-ACCESS read-only 664 STATUS current 665 DESCRIPTION 666 "Placeholder for anticipated new DHCP option 53 message type." 667 REFERENCE 668 "None." 669 ::= { dhcpCounters 7 } -- /*new*/ 671 dhcpCountPlaceHolder2 OBJECT-TYPE -- /*new*/ 672 SYNTAX Counter32 673 MAX-ACCESS read-only 674 STATUS current 675 DESCRIPTION 676 "Placeholder for anticipated new DHCP option 53 message type." 677 REFERENCE 678 "None." 679 ::= { dhcpCounters 8 } -- /*new*/ 681 -- DHCP sent packet counters 683 dhcpCountOffers OBJECT-TYPE 684 SYNTAX Counter32 685 MAX-ACCESS read-only 686 STATUS current 687 DESCRIPTION 688 "The number of DHCPOFFER (option 53 with value 2) packets 689 sent." 690 REFERENCE 691 "RFC2131; RFC2132, section 9.6." 692 ::= { dhcpCounters 9 } -- /*renumbered*/ 694 dhcpCountAcks OBJECT-TYPE 695 SYNTAX Counter32 696 MAX-ACCESS read-only 697 STATUS current 698 DESCRIPTION 699 "The number of DHCPACK (option 53 with value 5) packets sent." 700 REFERENCE 701 "RFC2131; RFC2132, section 9.6." 702 ::= { dhcpCounters 10 } -- /*renumbered*/ 704 dhcpCountNacks OBJECT-TYPE 705 SYNTAX Counter32 706 MAX-ACCESS read-only 707 STATUS current 708 DESCRIPTION 709 "The number of DHCPNACK (option 53 with value 6) packets sent." 710 REFERENCE 711 "RFC2131; RFC2132, section 9.6." 712 ::= { dhcpCounters 11 } -- /*renumbered*/ 714 dhcpCountForcedRenews OBJECT-TYPE -- /*new*/ 715 SYNTAX Counter32 716 MAX-ACCESS read-only 717 STATUS current 718 DESCRIPTION 719 "The number of DHCPFORCERENEW (option 53 with value TBD) 720 packets sent." 721 REFERENCE 722 "draft-ietf-dhc-pv4-reconfigure-06.txt." 723 ::= { dhcpCounters 12 } -- /*new*/ 725 dhcpCountKnowns OBJECT-TYPE -- /*new*/ 726 SYNTAX Counter32 727 MAX-ACCESS read-only 728 STATUS current 729 DESCRIPTION 730 "The number of DHCPKNOWN (option 53 with value TBD) packets 731 sent." 732 REFERENCE 733 "draft-ietf-dhc-leasequery-03.txt." 734 ::= { dhcpCounters 13 } -- /*new*/ 736 dhcpCountUnknowns OBJECT-TYPE -- /*new*/ 737 SYNTAX Counter32 738 MAX-ACCESS read-only 739 STATUS current 740 DESCRIPTION 741 "The number of DHCPUNKNOWN (option 53 with value TBD) packets 742 sent." 743 REFERENCE 744 "draft-ietf-dhc-leasequery-03.txt." 745 ::= { dhcpCounters 14 } -- /*new*/ 747 dhcpCountActives OBJECT-TYPE -- /*new*/ 748 SYNTAX Counter32 749 MAX-ACCESS read-only 750 STATUS current 751 DESCRIPTION 752 "The number of DHCPACTIVE (option 53 with value TBD) packets 753 sent." 754 REFERENCE 755 "draft-ietf-dhc-leasequery-03.txt." 756 ::= { dhcpCounters 15 } -- /*new*/ 758 dhcpCountUnimplementeds OBJECT-TYPE -- /*new*/ 759 SYNTAX Counter32 760 MAX-ACCESS read-only 761 STATUS current 762 DESCRIPTION 763 "The number of DHCPUNIMPLEMENTED (option 53 with value TBD) 764 packets sent." 765 REFERENCE 766 "draft-ietf-dhc-leasequery-03.txt." 767 ::= { dhcpCounters 16 } -- /*new*/ 769 dhcpCountPlaceHolder3 OBJECT-TYPE -- /*new*/ 770 SYNTAX Counter32 771 MAX-ACCESS read-only 772 STATUS current 773 DESCRIPTION 774 "Placeholder for anticipated new DHCP option 53 message types." 775 REFERENCE 776 "None." 777 ::= { dhcpCounters 17 } -- /*new*/ 779 dhcpCountPlaceHolder4 OBJECT-TYPE -- /*new*/ 780 SYNTAX Counter32 781 MAX-ACCESS read-only 782 STATUS current 783 DESCRIPTION 784 "Placeholder for anticipated new DHCP option 53 message types." 785 REFERENCE 786 "None." 787 ::= { dhcpCounters 18 } -- /*new*/ 789 -- DHCP packet error counters 791 dhcpCountInvalids OBJECT-TYPE 792 SYNTAX Counter32 793 MAX-ACCESS read-only 794 STATUS current 795 DESCRIPTION 796 "The number of DHCP packets received whose DHCP message type 797 (i.e., option number 53) is not understood or handled by the 798 server." 799 ::= { dhcpCounters 19 } -- /*renumbered*/ 801 dhcpCountDroppedUnknownClient OBJECT-TYPE 802 SYNTAX Counter32 803 MAX-ACCESS read-only 804 STATUS current 805 DESCRIPTION 806 "The number of DHCP packets dropped due to the server not 807 recognizing or not providing service to the client-id and/or 808 hardware address received in the incoming packet." 809 ::= { dhcpCounters 20 } -- /*renumbered*/ 811 dhcpCountDroppedNotServingSubnet OBJECT-TYPE 812 SYNTAX Counter32 813 MAX-ACCESS read-only 814 STATUS current 815 DESCRIPTION 816 "The number of DHCP packets dropped due to the server not being 817 configured or not otherwise able to serve addresses on the 818 subnet from which this message was received." 819 ::= { dhcpCounters 21 } -- /*renumbered*/ 821 -- dhcpOptionalStatistics group 823 dhcpStatMinArrivalInterval OBJECT-TYPE 824 SYNTAX DhcpTimeInterval 825 MAX-ACCESS read-only 826 STATUS current 827 DESCRIPTION 828 "The minimum amount of time between receiving two DHCP 829 messages. A message is received at the server when the server 830 is able to begin processing the message. This typically occurs 831 immediately after the message is read into server memory. If 832 no messages have been received, then this object contains a 833 zero value." 834 ::= { dhcpOptionalStatistics 1 } -- /*renamed*/ 836 dhcpStatMaxArrivalInterval OBJECT-TYPE 837 SYNTAX DhcpTimeInterval 838 MAX-ACCESS read-only 839 STATUS current 840 DESCRIPTION 841 "The maximum amount of time between receiving two DHCP 842 messages. A message is received at the server when the server 843 is able to begin processing the message. This typically occurs 844 immediately after the message is read into server memory. If 845 no messages have been received, then this object contains a 846 zero value." 847 ::= { dhcpOptionalStatistics 2 } -- /*renamed*/ 849 dhcpStatLastArrivalTime OBJECT-TYPE 850 SYNTAX DateAndTime 851 MAX-ACCESSread-only 852 STATUS current 853 DESCRIPTION 854 "The date and time that the last valid DHCP message was 855 received by the server. Invalid messages do not cause this 856 value to change. If no valid messages have been received, then 857 this object contains a date and time that is all zero." 858 ::= { dhcpOptionalStatistics 3 } 860 dhcpStatSumSquaresArrivalTime OBJECT-TYPE 861 SYNTAX Counter64 862 MAX-ACCESS read-only 863 STATUS current 864 DESCRIPTION 865 "The sum of the squared DHCP packet inter-arrival times in 866 microseconds. This value may be used to compute the variance 867 and standard deviation of the DHCP arrival times. Note that a 868 microsecond resolution of this object requires a clock 869 resolution to the millisecond since the square of a millisecond 870 value produces a value with microsecond resolution." 871 ::= { dhcpOptionalStatistics 4 } -- /*renamed*/ 873 dhcpStatMinResponseTime OBJECT-TYPE 874 SYNTAX DhcpTimeInterval 875 MAX-ACCESS read-only 876 STATUS current 877 DESCRIPTION 878 "The smallest time interval measured as the difference between 879 the arrival of a DHCP message at the server and the successful 880 transmission of the response to that message. A message is 881 received at the server when the server is able to begin 882 processing the message. A message is transmitted after the 883 server has no further use for the message. Note that the 884 operating system may still have the message queued internally. 885 The operating system queue time is not to be considered as part 886 of the response time. Invalid messages do not cause this value 887 to change. If no valid messages have been received, then this 888 object contains a zero value." 889 ::= { dhcpOptionalStatistics 5 } -- /*renamed*/ 891 dhcpStatMaxResponseTime OBJECT-TYPE 892 SYNTAX DhcpTimeInterval 893 MAX-ACCESS read-only 894 STATUS current 895 DESCRIPTION 896 "The largest time interval measured as the difference between 897 the arrival of a DHCP message at the server and the successful 898 transmission of the response to that message. A message is 899 received at the server when the server is able to begin 900 processing the message. A message is transmitted after the 901 server has no further use for the message. Note that the 902 operating system may still have the message queued internally. 903 The operating system queue time is not to be considered as part 904 of the response time. Invalid messages do not cause this value 905 to change. If no valid messages have been received, then this 906 object contains a zero value." 907 ::= { dhcpOptionalStatistics 6 } -- /*renamed*/ 909 dhcpStatSumResponseTime OBJECT-TYPE 910 SYNTAX Counter32 911 MAX-ACCESS read-only 912 STATUS current 913 DESCRIPTION 914 "The sum of the response time intervals in milliseconds where a 915 response time interval is measured as the difference between 916 the arrival of a DHCP message at the server and the successful 917 transmission of the response to that message. A message is 918 received at the server when the server is able to begin 919 processing the message. A message is transmitted after the 920 server has no further use for the message. Note that the 921 operating system may still have the message queued internally. 922 The operating system queue time is not to be considered as part 923 of the response time. Invalid messages do not cause this value 924 to change. If no valid messages have been received, then this 925 object contains a zero value." 926 ::= { dhcpOptionalStatistics 7 } -- /*renamed*/ 928 dhcpStatSumSquaresResponseTime OBJECT-TYPE 929 SYNTAX Counter64 930 MAX-ACCESS read-only 931 STATUS current 932 DESCRIPTION 933 "The sum of the squared DHCP packet response times in micro- 934 seconds. This value may be used to compute the variance and 935 standard deviation of the DHCP response times. Note that a 936 microsecond resolution of this object requires a clock 937 resolution to the millisecond since the square of a millisecond 938 value produces a value with microsecond resolution." 939 ::= { dhcpOptionalStatistics 8 } -- /*renamed*/ 941 -- bootpCounters Group 943 bootpCountRequests OBJECT-TYPE 944 SYNTAX Counter32 945 MAX-ACCESS read-only 946 STATUS current 947 DESCRIPTION 948 "The number of packets received that contain a Message Type of 949 1 (BOOTREQUEST) in the first octet and do not contain option 950 number 53 (DHCP Message Type) in the options." 951 REFERENCE 952 "RFC-1541." 953 ::= { bootpCounters 1 } -- /*renamed*/ 955 bootpCountInvalids OBJECT-TYPE 956 SYNTAX Counter32 957 MAX-ACCESS read-only 958 STATUS current 959 DESCRIPTION 960 "The number of packets received that do not contain a Message 961 Type of 1 (BOOTREQUEST) in the first octet or are not valid 962 BOOTP packets (e.g., too short, invalid field in packet 963 header)." 964 ::= { bootpCounters 2 } -- /*renamed*/ 966 bootpCountReplies OBJECT-TYPE 967 SYNTAX Counter32 968 MAX-ACCESS read-only 969 STATUS current 970 DESCRIPTION 971 "The number of packets sent that contain a Message Type of 2 972 (BOOTREPLY) in the first octet and do not contain option number 973 53 (DHCP Message Type) in the options." 974 REFERENCE 975 "RFC-1541." 976 ::= { bootpCounters 3 } -- /*renamed*/ 978 bootpCountDroppedUnknownClients OBJECT-TYPE 979 SYNTAX Counter32 980 MAX-ACCESS read-only 981 STATUS current 982 DESCRIPTION 983 "The number of BOOTP packets dropped due to the server not 984 recognizing or not providing service to the hardware address 985 received in the incoming packet." 986 ::= { bootpCounters 4 } -- /*renamed*/ 988 bootpCountDroppedNotServingSubnet OBJECT-TYPE 989 SYNTAX Counter32 990 MAX-ACCESS read-only 991 STATUS current 992 DESCRIPTION 993 "The number of BOOTP packets dropped due to the server not 994 being configured or not otherwise able to serve addresses on 995 the subnet from which this message was received." 996 ::= { bootpCounters 5 } -- /*renamed*/ 998 -- bootpOptionalStatistics group 1000 bootpStatMinArrivalInterval OBJECT-TYPE 1001 SYNTAX DhcpTimeInterval 1002 MAX-ACCESS read-only 1003 STATUS current 1004 DESCRIPTION 1005 "The minimum amount of time between receiving two BOOTP 1006 messages. A message is received at the server when the server 1007 is able to begin processing the message. This typically occurs 1008 immediately after the message is read into server memory. If 1009 no messages have been received, then this object contains a 1010 zero value." 1011 ::= { bootpOptionalStatistics 1 } -- /*renamed*/ 1013 bootpStatMaxArrivalInterval OBJECT-TYPE 1014 SYNTAX DhcpTimeInterval 1015 MAX-ACCESS read-only 1016 STATUS current 1017 DESCRIPTION 1018 "The maximum amount of time between receiving two BOOTP 1019 messages. A message is received at the server when the server 1020 is able to begin processing the message. This typically occurs 1021 immediately after the message is read into server memory. If 1022 no messages have been received, then this object contains a 1023 zero value." 1024 ::= { bootpOptionalStatistics 2 } -- /*renamed*/ 1026 bootpStatLastArrivalTime OBJECT-TYPE 1027 SYNTAX DateAndTime 1028 MAX-ACCESS read-only 1029 STATUS current 1030 DESCRIPTION 1031 "The date and time that the last valid BOOTP message was 1032 received by the server. Invalid messages do not cause this 1033 value to change. If valid no messages have been received, then 1034 this object contains a date and time that is all zero." 1035 ::= { bootOptionalpStatistics 3 } -- /*renamed*/ 1037 bootpStatSumSquaresArrivalTime OBJECT-TYPE 1038 SYNTAX Counter64 1039 MAX-ACCESS read-only 1040 STATUS current 1041 DESCRIPTION 1042 "The sum of the squared BOOTP packet inter-arrival times in 1043 microseconds. This value may be used to compute the variance 1044 and standard deviation of the BOOTP arrival times. Note that a 1045 microsecond resolution of this object requires a clock 1046 resolution to the millisecond since the square of a millisecond 1047 value produces a value with microsecond resolution." 1048 ::= { bootpOptionalStatistics 4 } -- /*renamed*/ 1050 bootpStatMinResponseTime OBJECT-TYPE 1051 SYNTAX DhcpTimeInterval 1052 MAX-ACCESS read-only 1053 STATUS current 1054 DESCRIPTION 1055 "The smallest time interval measured as the difference between 1056 the arrival of a BOOTP message at the server and the successful 1057 transmission of the response to that message. A message is 1058 received at the server when the server is able to begin 1059 processing the message. A message is transmitted after the 1060 server has no further use for the message. Note that the 1061 operating system may still have the message queued internally. 1063 The operating system queue time is not to be considered as part 1064 of the response time. Invalid messages do not cause this value 1065 to change. If no valid messages have been received, then this 1066 object contains a zero value." 1067 ::= { bootpOptionalStatistics 5 } -- /*renamed*/ 1069 bootpStatMaxResponseTime OBJECT-TYPE 1070 SYNTAX DhcpTimeInterval 1071 MAX-ACCESS read-only 1072 STATUS current 1073 DESCRIPTION 1074 "The largest time interval measured as the difference between 1075 the arrival of a BOOTP message at the server and the successful 1076 transmission of the response to that message. A message is 1077 received at the server when the server is able to begin 1078 processing the message. A message is transmitted after the 1079 server has no further use for the message. Note that the 1080 operating system may still have the message queued internally. 1082 The operating system queue time is not to be considered as part 1083 of the response time. Invalid messages do not cause this value 1084 to change. If no valid messages have been received, then this 1085 object contains a zero value." 1086 ::= { bootpOptionalStatistics 6 } -- /*renamed*/ 1088 bootpStatSumResponseTime OBJECT-TYPE 1089 SYNTAX Counter32 1090 MAX-ACCESS read-only 1091 STATUS current 1092 DESCRIPTION 1093 "The sum of the response time intervals in milliseconds where a 1094 response time interval is measured as the difference between 1095 the arrival of a BOOTP message at the server and the successful 1096 transmission of the response to that message. A message is 1097 received at the server when the server is able to begin 1098 processing the message. A message is transmitted after the 1099 server has no further use for the message. Note that the 1100 operating system may still have the message queued internally. 1102 The operating system queue time is not to be considered as part 1103 of the response time. Invalid messages do not cause this value 1104 to change. If no valid messages have been received, then this 1105 object contains a zero value." 1106 ::= { bootpOptionalStatistics 7 } -- /*renamed*/ 1108 bootpStatSumSquaresResponseTime OBJECT-TYPE 1109 SYNTAX Counter64 1110 MAX-ACCESS read-only 1111 STATUS current 1112 DESCRIPTION 1113 "The sum of the squared BOOTP packet response times in micro- 1114 seconds. This value may be used to compute the variance and 1115 standard deviation of the BOOTP response times. Note that a 1116 microsecond resolution of this object requires a clock 1117 resolution to the millisecond since the square of a millisecond 1118 value produces a value with microsecond resolution." 1119 ::= { bootpOptionalStatistics 8 } -- /*renamed*/ 1121 -- server configurationgroup 1123 -- server shared network table 1125 serverSharedNetworkTable OBJECT-TYPE 1126 SYNTAX SEQUENCE OF serverSharedNetworkEntry 1127 MAX-ACCESS not-accessible 1128 STATUS current 1129 DESCRIPTION 1130 "A list of shared networks that are configured in the server. 1131 A shared network is the logical aggregation of one or more 1132 subnets that share a common network segment (e.g., multi-tapped 1133 coaxial cable, wiring hub, or switch). This table is present 1134 ONLY for those servers that organize the ranges of addresses 1135 available for assignment where a higher-level grouping (i.e., 1136 the "shared" network) exists above ranges and subnets." 1137 ::= { serverConfiguration 1 } 1139 serverSharedNetworkEntry OBJECT-TYPE 1140 SYNTAX ServerSharedNetworkEntry 1141 MAX-ACCESS not-accessible 1142 STATUS current 1143 INDEX { serverSharedNetworkName } 1144 DESCRIPTION 1145 "A logical row in the serverSharedNetworkTable." 1146 ::= { serverSharedNetworkTable 1} 1148 ServerSharedNetworkEntry ::= SEQUENCE { 1149 serverSharedNetworkName DhcpLabel, 1150 serverSharedNetworkFreeAddresses Unsigned32, 1151 serverSharedNetworkReservedAddresses Unsigned32, -- /*new*/ 1152 serverSharedNetworkTotalAddresses Unsigned32 -- 1153 /*renamed*/ 1154 } 1156 serverSharedNetworkName OBJECT-TYPE 1157 SYNTAX DhcpLabel -- /*modified*/ 1158 MAX-ACCESS not-accessible 1159 STATUS current 1160 DESCRIPTION 1161 "The name of the shared network, which uniquely identifies an 1162 entry in the serverSharedNetworkTable." 1163 ::= { serverSharedNetworkEntry 1 } 1165 serverSharedNetworkFreeAddresses OBJECT-TYPE -- /*renamed*/ 1166 SYNTAX Unsigned32 1167 MAX-ACCESS accessible-for-notify 1168 STATUS current 1169 DESCRIPTION 1170 "The number of IP addresses which are available within this 1171 shared network. If the server does not count free addresses by 1172 shared network segment, this value will be zero." 1173 ::= { serverSharedNetworkEntry 2 } -- /*renumbered*/ 1175 serverSharedNetworkReservedAddresses OBJECT-TYPE -- /*new*/ 1176 SYNTAX Unsigned32 1177 MAX-ACCESS accessible-for-notify 1178 STATUS current 1179 DESCRIPTION 1180 "The number of IP addresses which are reserved (not available 1181 for assignement) within this shared network. If the server 1182 does not count reserved addresses by shared network segment, 1183 this value will be zero." 1184 ::= { serverSharedNetworkEntry 3 } 1186 serverSharedNetworkTotalAddresses OBJECT-TYPE -- /*new*/ 1187 SYNTAX Unsigned32 1188 MAX-ACCESS accessible-for-notify 1189 STATUS current 1190 DESCRIPTION 1191 "The number of IP addresses which are available within this 1192 shared network. If the server does not count total addresses 1193 by shared network segment, this value will be zero." 1194 ::= { serverSharedNetworkEntry 4 } 1196 -- server subnet table 1198 serverSubnetTable OBJECT-TYPE 1199 SYNTAX SEQUENCE OF serverSubnetEntry 1200 MAX-ACCESS not-accessible 1201 STATUS current 1202 DESCRIPTION 1203 "A list of subnets that are configured in this server." 1204 ::= { serverConfiguration 2 } 1206 serverSubnetEntry OBJECT-TYPE 1207 SYNTAX ServerSubnetEntry 1208 MAX-ACCESS not-accessible 1209 STATUS current 1210 INDEX { serverSubnet } 1211 DESCRIPTION 1212 "A logical row in the serverSubnetTable." 1213 ::= { serverSubnetTable 1 } 1215 ServerSubnetEntry ::= SEQUENCE { 1216 serverSubnet InetAddressIPv4, 1217 serverSubnetMask InetAddressPrefixLength, 1218 serverSubnetSharedNetworkName DhcpLabel, -- /*modified*/ 1219 serverSubnetFreeAddressLowThreshold Unsigned32, 1220 serverSubnetFreeAddressHighThreshold Unsigned32, 1221 ServerSubnetFreeAddresses Unsigned32 -- /*renamed*/ 1222 } 1224 serverSubnet OBJECT-TYPE 1225 SYNTAX InetAddressIPv4 1226 MAX-ACCESS read-only -- /*changed*/ 1227 STATUS current 1228 DESCRIPTION 1229 "The IP address of the subnet." 1230 ::= { serverSubnetEntry 1 } 1232 serverSubnetMask OBJECT-TYPE 1233 SYNTAX InetAddressPrefixLength 1234 MAX-ACCESS read-only 1235 STATUS current 1236 DESCRIPTION 1237 "The subnet mask of the subnet. This MUST be the same as the 1238 value of DHCP option 1 offered to clients on this subnet." 1239 ::= { serverSubnetEntry 2 } 1241 serverSubnetSharedNetworkName OBJECT-TYPE -- /*renamed*/ 1242 SYNTAX DhcpLabel -- /*modified*/ 1243 MAX-ACCESS read-only 1244 STATUS current 1245 DESCRIPTION 1246 "The shared subnet name (used as an index into the server 1247 shared subnet table) to which this subnet belongs. This value 1248 will be null for servers that do not organize or describe 1249 networks in this manner." 1250 ::= { serverSubnetEntry 3 } 1252 serverSubnetFreeAddressLowThreshold OBJECT-TYPE 1253 SYNTAX Unsigned32 1254 MAX-ACCESS accessible-for-notify 1255 STATUS current 1256 DESCRIPTION 1257 "The low threshold for available free addresses in this subnet. 1258 If the value for available free addresses in this subnet 1259 becomes equal to or less than this value, a 1260 serverSubnetFreeAddressLowThreshold event is generated for this 1261 shared network. No more serverSubnetFreeAddressLowThreshold 1262 events will be generated for this subnet during this execution 1263 of the DHCP server until the value for available free addresses 1264 has exceeded the value of 1265 serverSubnetFreeAddressHighThreshold." 1266 ::= { serverSubnetEntry 4 } 1268 serverSharedNetworkFreeAddressHighThreshold OBJECT-TYPE 1269 SYNTAX Unsigned32 1270 MAX-ACCESS accessible-for-notify 1271 STATUS current 1272 DESCRIPTION 1273 "The high threshold for available free addresses in this 1274 subnet. If a serverSubnetFreeAddressLowThreshold event has 1275 been generated for this subnet, and the value for available 1276 free addresses has exceeded the value of 1277 serverSubnetFreeAddressHighThreshold, then a 1278 serverFreeAddressessHigh event will be generated. No more 1279 serverFreeAddressessHigh events will be generated for this 1280 subnet during this execution of the DHCP server until the value 1281 for available free addresses becomes equal to or less than the 1282 value of serverSubnetFreeAddressHighThreshold." 1283 ::= { serverSubnetEntry 5 } 1285 -- server range table 1287 serverRangeTable OBJECT-TYPE 1288 SYNTAX SEQUENCE OF serverRangeEntry 1289 MAX-ACCESS not-accessible 1290 STATUS current 1291 DESCRIPTION 1292 "A list of ranges that are configured on this server." 1293 ::= { serverConfiguration 3 } 1295 serverRangeEntry OBJECT-TYPE 1296 SYNTAX ServerRangeEntry 1297 MAX-ACCESS not-accessible 1298 STATUS current 1299 INDEX { serverRangeStart } 1300 DESCRIPTION 1301 "A logical row in the serverRangeTable." 1302 ::= { serverRangeTable 1 } 1304 ServerRangeEntry ::= SEQUENCE { 1305 serverRangeStart InetAddressIPv4, 1306 serverRangeEnd InetAddressIPv4, 1307 serverRangeSubnetMask InetAddressPrefixLength, 1308 serverRangeInUse Gauge32, 1309 serverRangeOutstandingOffers Gauge32 1310 } 1312 serverRangeStart OBJECT-TYPE 1313 SYNTAX InetAddressIPv4 1314 MAX-ACCESS read-only 1315 STATUS current 1316 DESCRIPTION 1317 "The IP address of the first address in the range. The value 1318 of range start must be less than or equal to the value of range 1319 end." 1320 ::= { serverRangeEntry 1 } 1322 serverRangeEnd OBJECT-TYPE 1323 SYNTAX InetAddressIPv4 1324 MAX-ACCESS read-only 1325 STATUS current 1326 DESCRIPTION 1327 "The IP address of the last address in the range. The value of 1328 range end must be greater than or equal to the value of range 1329 start." 1330 ::= { serverRangeEntry 2 } 1332 serverRangeSubnetMask OBJECT-TYPE 1333 SYNTAX InetAddressPrefixLength 1334 MAX-ACCESS read-only 1335 STATUS current 1336 DESCRIPTION 1337 "The subnet address mask for this range." 1338 ::= { serverRangeEntry 3 } 1340 serverRangeInUse OBJECT-TYPE 1341 SYNTAX Gauge32 1342 MAX-ACCESS read-only 1343 STATUS current 1344 DESCRIPTION 1345 "The number of addresses in this range that are currently in 1346 use. This number includes those addresses whose lease has not 1347 expired and addresses which have been reserved (either by the 1348 server or through configuration)." 1349 ::= { serverRangeEntry 4 } 1351 serverRangeOutstandingOffers OBJECT-TYPE 1352 SYNTAX Gauge32 1353 MAX-ACCESS read-only 1354 STATUS current 1355 DESCRIPTION 1356 "The number of outstanding DHCPOFFER messages for this range is 1357 reported with this value. An offer is outstanding if the 1358 server has sent a DHCPOFFER message to a client, but has not 1359 yet received a DHCPREQUEST message from the client nor has the 1360 server-specific timeout (limiting the time in which a client 1361 can respond to the offer message) for the offer message 1362 expired." 1363 ::= { serverRangeEntry 5 } 1365 -- server address table 1367 serverAddressTable OBJECT-TYPE 1368 SYNTAX SEQUENCE OF serverAddressEntry 1369 MAX-ACCESS not-accessible 1370 STATUS current 1371 DESCRIPTION 1372 "An optional list of addresses that are known by this server. 1373 The list MUST contain addresses that have not expired. The 1374 list MUST NOT contain addresses that have never been assigned 1375 by the server UNLESS the lease is pre-configured in the server 1376 (e.g., a static lease for a host). Expired leases MAY appear 1377 during the time they are 'remembered' by the server for 1378 subsequent assignment to the same host." 1379 ::= { serverConfiguration 4 } 1381 serverAddressEntry OBJECT-TYPE 1382 SYNTAX ServerAddressEntry 1383 MAX-ACCESS not-accessible 1384 STATUS current 1385 INDEX { serverAddress } 1386 DESCRIPTION 1387 "A logical row in the serverAddressTable." 1389 ::= { serverAddressTable 1 } 1391 ServerAddressEntry ::= SEQUENCE { 1392 serverAddress InetAddressIPv4, 1393 serverAddressSubnetMask InetAddressPrefixLength, 1394 serverAddressRange InetAddressIPv4, 1395 serverAddressType INTEGER, 1396 serverAddressTimeRemaining Unsigned32, 1397 serverAddressAllowedProtocol INTEGER, 1398 serverAddressServedProtocol INTEGER, 1399 serverAddressMacAddress OCTET STRING, 1400 serverAddressClientId OCTET STRING, 1401 serverAddressHostName SnmpAdminString, 1402 serverAddressDomainName SnmpAdminString 1403 } 1405 serverAddress OBJECT-TYPE 1406 SYNTAX InetAddressIPv4 1407 MAX-ACCESS not-accessible 1408 STATUS current 1409 DESCRIPTION 1410 "The IP address of the entry." 1411 ::= { serverAddressEntry 1 } 1413 serverAddressSubnetMask OBJECT-TYPE 1414 SYNTAX InetAddressPrefixLength 1415 MAX-ACCESS read-only 1416 STATUS current 1417 DESCRIPTION 1418 "The subnet mask (DHCP option 1) provided to the client offered 1419 this address. The subnet, resulting from logically ANDing the 1420 subnet mask with the entry's IP address, must be configured on 1421 this server and appear as a row in the dhcpSubnetTable." 1422 ::= { serverAddressEntry 2 } 1424 serverAddressRange OBJECT-TYPE 1425 SYNTAX InetAddressIPv4 1426 MAX-ACCESS read-only 1427 STATUS current 1428 DESCRIPTION 1429 "The starting IP address (serverRangeStart object) of the range 1430 to which this address belongs. If the address does not fall 1431 into one of the configured ranges (e.g., a statically 1432 configured address on a subnet) the range may be 0.0.0.0." 1433 ::= { serverAddressEntry 3 } 1435 serverAddressType OBJECT-TYPE 1436 SYNTAX INTEGER { 1437 static(1), 1438 dynamic(2), 1439 expired(3), -- /*new*/ 1440 configuration-reserved(4), -- /*renumbered*/ 1441 server-reserved(5) -- /*renumbered*/ 1442 } 1443 MAX-ACCESS read-only 1444 STATUS current 1445 DESCRIPTION 1446 "The type of this address. Types are: 1447 (1) Static addresses defined by the server configuration. 1448 (2) Dynamic addresses defined by the server configuration 1449 AND actually assigned by the server. 1450 (3) Expired dynamic addresses, previously assigned by the 1451 server and 'remembered' for subsequent assignment to the 1452 same host. 1453 (4) Addresses reserved (i.e., not assignable) by the server 1454 configuration. 1455 (5) Addresses previously assigned by the server, but 1456 temporarily or permanently removed from assignable state 1457 for some reason, e.g., the server received an ICMP 1458 ECHOREPLY for the IP address or a DHCPDECLINE message 1459 has been received for the IP address." 1460 ::= { serverAddressEntry 4 } 1462 serverAddressTimeRemaining OBJECT-TYPE 1463 SYNTAX Unsigned32 1464 MAX-ACCESS read-only 1465 STATUS current 1466 DESCRIPTION 1467 "The number of seconds until the lease expires. A value of 1468 4294967295 (i.e., 0xFFFFFFFF) should be used for leases that 1469 have a lease time which is 'infinite' and for BOOTP leases." 1470 ::= { serverAddressEntry 5 } 1472 serverAddressAllowedProtocol OBJECT-TYPE 1473 SYNTAX INTEGER { 1474 none(1), 1475 bootp(2), 1476 dhcp(3), 1477 bootp-or-dhcp(4) 1478 } 1479 MAX-ACCESS read-only 1480 STATUS current 1481 DESCRIPTION 1482 "The type of protocol that is allowed to be used to serve this 1483 address. A type of none (1) indicates that the address is not 1484 available to be served (e.g., a reserved address).Type (2) are 1485 reserved for BOOTP only devices, while type (3) are reserved 1486 for DHCP only devices. A type of bootp-or-dhcp (4) may be 1487 offered to any type of client." 1488 ::= { serverAddressEntry 6 } 1490 serverAddressServedProtocol OBJECT-TYPE 1491 SYNTAX INTEGER { 1492 none(1), 1493 bootp(2), 1494 dhcp(3) 1495 } 1496 MAX-ACCESS read-only 1497 STATUS current 1498 DESCRIPTION 1499 "The type of protocol that was used when this address was 1500 assigned. This object will have the value of none (1) if the 1501 address has not been served." 1502 ::= { serverAddressEntry 7 } 1504 serverAddressHardwareAddress OBJECT-TYPE 1505 SYNTAX PhysicalAddress 1506 MAX-ACCESS read-only 1507 STATUS current 1508 DESCRIPTION 1509 "The hardware type and hardware address of the client that has 1510 been assigned this lease. The first octet of this object 1511 contains the hardware type from the 'htype' field of the BOOTP 1512 packet and the remaining octets contain the hardware address 1513 from the 'chaddr' field of the BOOTP packet. This object may 1514 be empty if the address has not been previously served." 1515 ::= { serverAddressEntry 8 } 1517 serverAddressClientId OBJECT-TYPE 1518 SYNTAX OCTET STRING (SIZE (0..255)) 1519 MAX-ACCESS read-only 1520 STATUS current 1521 DESCRIPTION 1522 "The client-id of the client that has been assigned this lease. 1523 The client-id is the value specified in option 61 (client-id 1524 option) when the lease was assigned. This object may be empty 1525 if the lease has not been previously assigned or if the client- 1526 id option was not specified when the address was assigned." 1527 ::= { serverAddressEntry 9 } 1529 serverAddressHostName OBJECT-TYPE 1530 SYNTAX SnmpAdminString (SIZE (1..255)) 1531 MAX-ACCESS read-only 1532 STATUS current 1533 DESCRIPTION 1534 "The host name (DHCP option 12) the client is configured to 1535 use, or if no host name was configured then the host name that 1536 the client supplied when requesting an address. While this 1537 object has a maximum size of 255 octets, a Fully-Qualified 1538 Domain Name (FQDN) consisting of a Host Name part and a Domain 1539 Name part is currently limited to 255 octets. Therefore, the 1540 sum of the string lengths for this object and the 1541 serverAddressDomainName must, in practice, be less than 256 1542 octets." 1543 ::= { serverAddressEntry 10 } 1545 serverAddressDomainName OBJECT-TYPE 1546 SYNTAX SnmpAdminString (SIZE (1..255)) 1547 MAX-ACCESS read-only 1548 STATUS current 1549 DESCRIPTION 1550 "The domain name (DHCP option 15) assigned to the client. 1551 While this object has a maximum size of 255 octets, a Fully- 1552 Qualified Domain Name (FQDN) consisting of a Host Name part and 1553 a Domain Name part is currently limited to 255 octets, less the 1554 separator (".") character. Therefore, the sum of the string 1555 lengths for this object and the serverAddressHostName must, in 1556 practice, be less than 256 octets." 1557 ::= { serverAddressEntry 11 } 1559 -- Server Client Table 1561 serverClientTable OBJECT-TYPE 1562 SYNTAX SEQUENCE OF serverClientEntry 1563 MAX-ACCESS not-accessible 1564 STATUS current 1565 DESCRIPTION 1566 "A list of clients that are known by this server. Details 1567 about the clients may be found by indexing into the 1568 serverAddressTable using the serverClientHardwareAddress and 1569 serverClientAddress objects. This table is indexed first by 1570 the MAC address of the client and then by the subnet address on 1571 which the client resides. The subnet is included as an index 1572 since a MAC address is only guaranteed to be unique within a 1573 subnet (i.e., a MAC address is not globally unique)." 1574 ::= { serverConfiguration 5 } 1576 serverClientEntry OBJECT-TYPE 1577 SYNTAX ServerClientEntry 1578 MAX-ACCESS not-accessible 1579 STATUS current 1580 INDEX { serverClientHardwareAddress, serverClientAddress } 1581 DESCRIPTION 1582 "A logical row in the serverClientTable. An entry in this 1583 table may be a client that requested an address but was refused 1584 (e.g., not authorized).Servers MAY track these types of clients 1585 if desired and may choose to remove such client entries using a 1586 server defined algorithm. As an example, a server may choose 1587 to keep client request that does not map to an address for a 1588 one hour time period before removing that entry from this 1589 table." 1590 ::= { serverClientTable 1 } 1592 ServerClientEntry ::= SEQUENCE { 1593 serverClientHardwareAddress PhysicalAddress 1594 serverClientAddress InetAddressIPv4, 1595 serverClientSubnetMask InetAddressPrefixLength, 1596 serverClientLastRequestTime DateAndTime, 1597 serverClientLastRequestType INTEGER, 1598 serverClientLastResponseType INTEGER 1599 } 1601 serverClientHardwareAddress OBJECT-TYPE 1602 SYNTAX PhysicalAddress 1603 MAX-ACCESS not-accessible 1604 STATUS current 1605 DESCRIPTION 1606 "The hardware type and hardware address of the client that has 1607 been assigned this lease. The first octet of this object 1608 contains the hardware type from the 'htype' field of the BOOTP 1609 packet and the remaining octets contain the hardware address 1610 from the 'chaddr' field of the BOOTP packet." 1611 ::= { serverClientEntry 1 } 1613 serverClientAddress OBJECT-TYPE 1614 SYNTAX InetAddressIPv4 1615 MAX-ACCESS read-only 1616 STATUS current 1617 DESCRIPTION 1618 "The IP address of the entry. May be used to index into the 1619 serverAddressTable. May be 0.0.0.0 if an address is not 1620 associated with this client." 1621 ::= { serverClientEntry 2 } 1623 serverClientSubnetMask OBJECT-TYPE 1624 SYNTAX InetAddressPrefixLength 1625 MAX-ACCESS not-accessible 1626 STATUS current 1627 DESCRIPTION 1628 "The subnet mask (DHCP option 1) applied to 1629 serverClientAddress." 1630 ::= { serverClientEntry 3 } 1632 serverClientLastRequestTime OBJECT-TYPE 1633 SYNTAX DhcpTimeInterval 1634 MAX-ACCESS read-only 1635 STATUS current 1636 DESCRIPTION 1637 "The timestamp of the last request received, to millisecond 1638 precision if available on the server." 1639 ::= { serverClientEntry 4 } 1641 serverClientLastRequestType OBJECT-TYPE 1642 SYNTAX INTEGER { 1643 bootprequest(0) 1644 dhcpdiscover(1), 1645 dhcprequest(3), 1646 dhcpdecline(4), 1647 dhcprelease(7), 1648 dhcpinform(8) 1649 dhcpleasequery(TBD), -- /*new*/ 1650 } 1651 MAX-ACCESS read-only 1652 STATUS current 1653 DESCRIPTION 1654 "The type of the last request message received for this 1655 client.If the server does not capture this information, the 1656 value 32,767 is returned." 1657 REFERENCE 1658 "RFC2131; RFC2132, section 9.6; draft-ietf-dhc-leasequery- 1659 02.txt." 1660 ::= { serverClientEntry 5 } 1662 serverClientLastResponseType OBJECT-TYPE 1663 SYNTAX INTEGER { 1664 bootpreply(1), 1665 dhcpoffer(2), 1666 dhcpack(5), 1667 dhcpnak(6) 1668 dhcpknown(TBD), -- /*new*/ 1669 dhcpunknown(TBD) -- /*new*/ 1670 } 1671 MAX-ACCESS read-only 1672 STATUS current 1673 DESCRIPTION 1674 "The type of the last response message sent to this client. If 1675 the server does not capture this information, the value 32,767 1676 is returned." 1677 REFERENCE 1678 "RFC2131; RFC2132, section 9.6;draft-ietf-dhc-pv4-reconfigure- 1679 06.txt;draft-ietf-dhc-leasequery-02.txt" 1680 ::= { serverClientEntry 6 } 1682 -- serverNotifyObjects: Objects which are used only in notifications 1684 serverNotifyDuplicateIpAddress OBJECT-TYPE 1685 SYNTAX InetAddressIPv4 1686 MAX-ACCESS accessible-for-notify 1687 STATUS current 1688 DESCRIPTION 1689 "The IP address found to be a duplicate. Duplicates are 1690 detected by servers which issue an ICMP ECHOREQUEST prior to 1691 offering an IP address lease." 1692 ::= { serverNotifyObjects 1 } 1694 serverNotifyDuplicateMAC OBJECT-TYPE 1695 SYNTAX PhysicalAddress 1696 MAX-ACCESS accessible-for-notify 1697 STATUS current 1698 DESCRIPTION 1699 "The offending MAC address which caused a duplicate IP address 1700 to be detected, if captured by the server, else 00-00-00-00-00- 1701 00." 1702 ::= { serverNotifyObjects 2 } 1704 serverNotifyClientDuplicateIP OBJECT-TYPE -- /*renamed*/ 1705 SYNTAX InetAddressIPv4 1706 MAX-ACCESS accessible-for-notify 1707 STATUS current 1708 DESCRIPTION 1709 "The IP Address offered by a server that the requesting client 1710 has determined to be a duplicate, detected by means of a 1711 gratuitous ARP message and reported through a DHCPDECLINE 1712 message." 1713 ::= { serverNotifyObjects 3 } 1715 -- Notifications 1717 serverMIBNotificationPrefix OBJECT IDENTIFIER 1718 ::= { serverMIB 2 }serverMIBNotifications OBJECT IDENTIFIER 1719 ::= { serverMIBNotificationPrefix 0 } 1721 serverFreeAddressLow NOTIFICATION-TYPE 1722 OBJECTS { 1723 serverSharedNetworkFreeAddressLowThreshold, 1724 serverSharedNetworkFreeAddresses 1725 } 1726 STATUS current 1727 DESCRIPTION 1728 "This notification signifies that the number of available IP 1729 addresses for a particular shared network has fallen below the 1730 value of serverSharedNetworkFreeAddressLowThreshold for that 1731 shared network." 1732 ::= { serverMIBNotifications 1 } 1734 serverFreeAddressHigh NOTIFICATION-TYPE 1735 OBJECTS { 1736 serverSharedNetworkFreeAddressHighThreshold, 1737 serverSharedNetworkFreeAddresses 1738 } 1739 STATUS current 1740 DESCRIPTION 1741 "This notification signifies that the number of available IP 1742 addresses for a particular shared network has risen above the 1743 value of serverSharedNetworkFreeAddressHighThreshold for that 1744 shared network." 1745 ::= { serverMIBNotifications 2 } 1747 serverServerStart NOTIFICATION-TYPE 1748 OBJECTS { serverNotifyClientDuplicateIP } 1749 STATUS current 1750 DESCRIPTION 1751 "This notification signifies that the server of the specified 1752 type has started on the host from which this notification has 1753 been sent." 1754 ::= { serverMIBNotifications 3 } 1756 serverServerStop NOTIFICATION-TYPE 1757 OBJECTS { serverNotifyClientDuplicateIP } 1758 STATUS current 1759 DESCRIPTION 1760 "This notification signifies that the server of the specified 1761 type has stopped normally on the host from which this 1762 notification has been sent." 1763 ::= { serverMIBNotifications 4 } 1765 serverDuplicateAddress NOTIFICATION-TYPE 1766 OBJECTS { 1767 serverNotifyDuplicateIpAddress, 1768 serverNotifyDuplicateMAC, 1769 serverNotifyClientDuplicateMAC 1770 } 1771 STATUS current 1772 DESCRIPTION 1773 "This notification signifies that a duplicate IP address has 1774 been detected. The DHCP server can detect this condition 1775 through the ping-before-offer mechanism. Alternatively, the 1776 client may have sent a DHCPDECLINE back to the server; this is 1777 assumed to be the result of the client detecting that the 1778 address was in use. In either case, the DHCP server marks the 1779 IP address as unavailable for leasing to clients. The 1780 serverNotifyClientDuplicateMAC object indicates whether the 1781 client or server detected this condition." 1782 ::= { serverMIBNotifications 5 } -- /*renumbered*/ 1784 serverAddressConflict NOTIFICATION-TYPE 1785 OBJECTS { serverNotifyClientDuplicateIP } 1786 STATUS current 1787 DESCRIPTION 1788 ::= { serverMIBNotifications 6 } -- /*renumbered*/ 1790 -- Conformance 1792 serverMIBConformanceOBJECT-IDENTITY 1793 STATUS current 1794 DESCRIPTION 1795 "DHCP Server MIB objects are all defined in this branch." 1796 ::= { serverMIB 3 } 1798 serverMIBCompliancesOBJECT IDENTIFIER 1799 ::= { serverMIBConformance 1 } 1801 serverMIBGroupsOBJECT IDENTIFIER 1802 ::= { serverMIBConformance 2 } 1804 -- Compliance groups 1806 serverMIBCompliance MODULE-COMPLIANCE 1807 MODULE -- this module 1808 MANDATORY-GROUPS { 1809 serverSystemGroup, 1810 bootpCountersGroup, 1811 dhcpCountersGroup, 1812 serverConfigurationGroup, 1813 serverClientsGroup 1814 } 1815 OPTIONAL-GROUPS { 1816 bootpOptionalStatisticsGroup, 1817 dhcpOptionalStatisticsGroup 1818 } 1819 STATUS current 1820 DESCRIPTION 1821 "Describes the requirements for conformance to the DCHP Server 1822 MIB" 1823 ::= { serverMIBCompliances 1 } 1825 -- Object groups 1827 serverSystemGroup OBJECT-GROUP 1828 OBJECTS { 1829 serverSystemDescr, 1830 serverSystemObjectID 1832 } 1833 STATUS current 1834 DESCRIPTION 1835 "Objects belonging to the serverSystemGroup." 1836 ::= { serverMIBGroups 1 } 1838 bootpCountersGroup OBJECT-GROUP 1839 OBJECTS { 1840 bootpCountRequests, 1841 bootpCountInvalids, 1842 bootpCountReplies, 1843 bootpCountDroppedUnknownClients, 1844 bootpCountDroppedNotServingSubnet 1845 } 1846 STATUS current 1847 DESCRIPTION 1848 "Objects belonging to the bootpBountersGroup." 1849 ::= { serverMIBGroups 2 } 1851 dhcpCountersGroup OBJECT-GROUP 1852 OBJECTS { 1853 dhcpCountDiscovers, 1854 dhcpCountRequests, 1855 dhcpCountReleases, 1856 dhcpCountDeclines, 1857 dhcpCountInforms, 1858 dhcpCountLeaseQueries 1859 dhcpCountPlaceHolder1 1860 dhcpCountPlaceHolder2 1861 dhcpCountOffers, 1862 dhcpCountAcks, 1863 dhcpCountNacks, 1864 dhcpCountForcedRenews 1865 dhcpCountKnowns 1866 dhcpCountUnknowns 1867 dhcpCountActives 1868 dhcpCountUnimplementeds 1869 dhcpCountPlaceHolder3 1870 dhcpCountPlaceHolder4 1871 dhcpCountInvalids, 1872 dhcpCountDroppedUnknownClient, 1873 dhcpCountDroppedNotServingSubnet 1874 } 1875 STATUS current 1876 DESCRIPTION 1877 "Objects belonging to the dhcpCountersGroup." 1878 ::= { serverMIBGroups 3 } 1880 bootpOptionalStatisticsGroup OBJECT-GROUP 1881 OBJECTS { 1882 bootpStatMinArrivalInterval, 1883 bootpStatMaxArrivalInterval, 1884 bootpStatLastArrivalTime, 1885 bootpStatSumSquaresArrivalTime, 1886 bootpStatMinResponseTime, 1887 bootpStatMaxResponseTime, 1888 bootpStatSumReponseTime, 1889 bootpStatSumSquaresResponseTime 1890 } 1891 STATUS current 1892 DESCRIPTION 1893 "Objects belonging to the bootpOptionalStatisticsGroup." 1894 ::= { serverMIBGroups 4 } 1896 dhcpOptionalStatisticsGroup OBJECT-GROUP 1897 OBJECTS { 1898 dhcpStatMinArrivalInterval, 1899 dhcpStatMaxArrivalInterval, 1900 dhcpStatLastArrivalTime, 1901 dhcpStatSumSquaresArrivalTime, 1902 dhcpStatMinResponseTime, 1903 dhcpStatMaxResponseTime, 1904 dhcpStatSumResponseTime, 1905 dhcpStatSumSquaresResponseTime 1906 } 1907 STATUS current 1908 DESCRIPTION 1909 "Objects belonging to the dhcpOptionalStatisticsGroup." 1910 ::= { serverMIBGroups 5 } 1912 serverConfigurationGroup OBJECT-GROUP 1913 OBJECTS { 1914 serverSubnet, 1915 serverSubnetMask, 1916 serverSubnetSharedNetwork, 1917 serverRangeStart, 1918 serverRangeEnd, 1919 serverRangeSubnetMask, 1920 serverRangeInUse, 1921 serverRangeOutstandingOffers, 1922 serverAddress, 1923 serverAddressSubnetMask, 1924 serverAddressRange, 1925 serverAddressType, 1926 serverAddressTimeRemaining, 1927 serverAddressAllowedProtocol, 1928 serverAddressServedProtocol, 1929 serverAddressHardwareAddress, 1930 serverAddressClientId, 1931 serverAddressHostName, 1932 serverAddressDomainName 1933 } 1934 STATUS current 1935 DESCRIPTION 1936 "Objects belonging to the serverConfigurationGroup." 1937 ::= { serverMIBGroups 6 } 1939 serverClientsGroup OBJECT-GROUP 1940 OBJECTS { 1941 serverClientHardwareAddress, 1942 serverClientSubnetMask, 1943 serverClientAddress, 1944 serverClientLastRequestTime, 1945 serverClientLastRequestType, 1946 serverClientLastResponseType 1947 } 1948 STATUS current 1949 DESCRIPTION 1950 "Objects belonging to the serverClientsGroup." 1951 ::= { serverMIBGroups 7 } 1953 serverSharedNetworkObjectsGroup OBJECT-GROUP 1954 OBJECTS { 1955 serverSharedNetworkFreeAddressLowThreshold, 1956 serverSharedNetworkFreeAddressHighThreshold, 1957 serverSharedNetworkFreeAddressValue 1958 } 1959 STATUS current 1960 DESCRIPTION 1961 "DHCP Server MIB objects used in shared networks." 1962 ::= { serverMIBGroups 8 } 1964 serverNotifyObjectsGroup OBJECT-GROUP 1965 OBJECTS { 1966 serverNotifyDuplicateIpAddress, 1967 serverNotifyDuplicateMAC, 1968 serverNotifyClientDuplicateMAC, 1969 serverNotifyClientDuplicateIP, 1970 serverNotifyContestedIpAddress 1971 } 1972 STATUS current 1973 DESCRIPTION 1974 "DHCP Server MIB objects used in notifications." 1975 ::= { serverMIBGroups 9 } 1977 serverNotificationsGroup NOTIFICATION-GROUP 1978 NOTIFICATIONS { 1979 serverFreeAddressLow, 1980 serverFreeAddressHigh, 1981 serverServerStart, 1982 serverServerStop, 1983 serverDNSQueueTooBig, 1984 serverOtherServerNotResponding, 1985 serverDuplicateAddress, 1986 serverAddressConflict, 1987 serverOtherServerResponding, 1988 serverFailoverConfigMismatch 1989 } 1990 STATUS current 1991 DESCRIPTION 1992 "Notifications that are implemented by the DHCP Server agent." 1993 ::= { serverMIBGroups 10 } 1995 END 1997 5. Intellectual Property 1999 The IETF takes no position regarding the validity or scope of any 2000 intellectual property or other rights that might be claimed to 2001 pertain to the implementation or use of the technology described in 2002 this document or the extent to which any license under such rights 2003 might or might not be available; neither does it represent that it 2004 has made any effort to identify any such rights. Information on the 2005 IETF's procedures with respect to rights in standards-track and 2006 standards-related documentation can be found in BCP-11. 2008 Copies of claims of rights made available for publication and any 2009 assurances of licenses to be made available, or the result of an 2010 attempt made to obtain a general license or permission for the use of 2011 such proprietary rights by implementers or users of this 2012 specification can be obtained from the IETF Secretariat. 2014 The IETF invites any interested party to bring to its attention any 2015 copyrights, patents or patent applications, or other proprietary 2016 rights that may cover technology that may be required to practice 2017 this standard. Please address the information to the IETF Executive 2018 Director. 2020 6. Notes 2022 This section will be removed when this memo goes to Working Group 2023 Last Call. 2025 6.1. Issues 2027 Not all of these issues have been resolved, even in the latest (-07) 2028 draft. Some may become items for future study, while some will 2029 probably be dropped. 2031 o Are placeholders for expected DHCP option values a good or bad 2032 idea? 2034 o Ryan Troll proposed four or five traps that Nathan Lane 2035 enthusiastically supported, but it has been difficult to achieve 2036 any consensus (or, for that matter, much interest) in them. 2038 o What is the best way to reset counters and statistics? Is it 2039 necessary to reset them at all? The -07 draft does not declare 2040 any counters as read-write or read-create, primarily to avoid 2041 these questions, as well as to provide fundamental security over 2042 objects. 2044 -- Do we need to reset them individually, as groups, or as a 2045 whole? 2047 -- Do we need a timestamp of when they were reset? 2049 o Should all invalid packets received be collapsed into a single 2050 counter for each protocol type (BOOTP and DHCP), or broken out by 2051 type of error? 2053 o If counted by error type, what is the set of errors that we should 2054 use? 2056 o Perhaps we should develop a common vocabulary (and glossary) for 2057 terms such as "abandoned" so that the objects defined and their 2058 descriptions aren't misinterpreted by implementers. 2060 o Do we need to be concerned about the potential size of some of the 2061 configuration data tables? Wouldn't it be better to maintain 2062 counters for things like number of leases assigned than to expect 2063 the management station to calculate the values by reading very 2064 large tables to count the number of leases in that state? 2066 6.2. Changes from Prior Drafts 2068 The "-01" revision removed the Server Identity section from the 2069 proposed MIB, relying on the Application MIB to accomplish the same 2070 result. 2072 The min/max (inter-arrival and response times) were changed to 2073 Unsigned32 so that they could be reset. Sums of inter-arrival and 2074 response times were deleted since the management station can easily 2075 calculate them. The last arrival time objects were added. 2077 The "-03" version incorporated the proposed configuration tables 2078 suggested by Ryan Troll of CMU. The "01" revision of this version 2079 added three elements to the server subnet table, number of 2080 outstanding offers, number of addresses in use, and number of free 2081 addresses, as well as changing subnet address to subnet mask in the 2082 server address, server range, and client address tables. The client 2083 MAC address element of the client address table was separated into a 2084 1-octet hardware type and a 16-octet client hardware address, causing 2085 a renumbering of the elements in this table. Clarifying text was 2086 added to several element descriptions, and limitations on values, and 2087 the reported value when the server did not support the data element 2088 were also specified. This version also incorporated an address 2089 change for one of the authors, revisions to standard text required by 2090 the IETF, and some editorial clarifications. 2092 The "-04" version changed the maximum size of the object 2093 serverAddressHostName from 64 to 255 octets, and added clarifying 2094 text to both that object and to serverAddressDomainName regarding the 2095 practical values for the length of both objects. 2097 The "-05" version added a number of traps suggested by Kim Kinnear, 2098 made a number of small renaming and renumbering changes (annotated in 2099 the MIB itself) and added the Shared Network concept to describe 2100 shared network segments: several subnetworks that coexist on one 2101 medium. This was done partly because the Address Range concept did 2102 not adequately describe the "scoping" of address pools as is common 2103 with many current server implementations. Also updated the author�s 2104 address and contact information, and incorporated a number of 2105 corrections and amplifications suggested by various readers of the "- 2106 04" draft, including a missing OID for serverNotifyObjects and a 2107 syntax error for PhysicalAddress. 2109 The "-06" version corrects a number of flaws reported by Rick Geesen 2110 and Jin Tao, mostly caused by typographical errors in the "-05" 2111 version as well as some unintentionally omitted text for 2112 serverNotifyObjects. The "-06" version also changes BOOTP and DHCP 2113 statistics from mandatory to optional, renaming object identifiers as 2114 required to match. All objects, tables, and groups in previous 2115 drafts for Dynamic DNS updating and Failover have been removed. All 2116 tables were carefully examined to be certain that they really could 2117 be simply implemented. Many items were renamed or renumbered. 2118 Placeholder definitions of message types (both requests and 2119 responses) were added to support DHCPFORCERENEW, DHCPQUERY, 2120 DHCPKNOWN, and DHCPUNKNOWN. A few [more] typographical errors were 2121 found and fixed. Finally, some of the boilerplate text was brought 2122 in line with standard requirements for Internet-Drafts. 2124 The "-07" version fixes a few typographical errors (wrong 2125 capitalization of object identifiers and table entry values, spacing 2126 of comments, and misspelled words) in preparation for Working Group 2127 Last Call. Many thanks to Rich Woundy for his detailed and extremely 2128 helpful suggestions on the prior draft. The standard boilerplate 2129 (�The SNMP Management Framework�) for all new MIBs was added as 2130 section 2 and the standard references not previously included in 2131 section 9 were added. DisplayString objects were recast as 2132 SnmpAdminString types to be consistent with current practice. The 2133 IpAddress type was replaced by IpAddressIPv4 and 2134 IpAddressPrefixLength as appropriate for true addresses and subnet 2135 masks throughout the MIB. Numbering of OIDs was made consistent, and 2136 place holders for anticipated new DHCP message type codes were 2137 explicitly added, eliminating gaps in the OID numbering scheme. 2139 7. Acknowledgements 2141 This document is the result of work undertaken the by DHCP working 2142 group. The editors would like to particularly acknowledge the 2143 development team from Carnegie-Mellon University whose work creating 2144 a private MIB for their DHCP server inspired the development of this 2145 proposal. In particular, many thanks to Ryan Troll who provided a 2146 great deal of useful feedback during the development of this MIB. 2148 Thanks to Nathan Lane, Kim Kinnear, Yannick Koehler, Nathan Lane, 2149 Rick Geesen, Jin Tao, James Brister, Alan Hackert, and Patrick Cosmo 2150 for their review, comments, and contributions. Special thanks to 2151 Rich Woundy for his excellent suggestions that contributed to the �07 2152 draft: any lingering errors are to be blamed solely on me. 2154 8. Security Considerations 2156 There are no management objects defined in this MIB that have a MAX- 2157 ACCESS clause of read-write or read-create. Such objects may be 2158 considered sensitive or vulnerable in some environments. The support 2159 for SET operations in a non-secure environment without proper 2160 protection can have a negative effect on network operations. Many 2161 network administrators object to settable management objects because 2162 of the limited security features of SNMPv1 and SNMPv2. We have 2163 chosen not to fight that battle in constructing this MIB. So, if 2164 this MIB is implemented correctly, then there is no risk that an 2165 intruder can alter or create any management objects of this MIB via 2166 direct SNMP SET operations. 2168 -- for all MIBs you must evaluate 2170 There are a number of managed objects in this MIB that may contain 2171 sensitive information. These are: 2173 o serverRangeTable 2175 o serverAddressTable 2177 These two objects, in conjunction, provide an observer with a current 2178 view of the available and assigned addresses allocated by this 2179 server. Such knowledge can be used to manually configure a host 2180 computer with a valid IP address for the network managed by the DHCP 2181 server. This could be part of either a Theft of Service scheme or a 2182 Denial of Service attack wherein rogue (pseudo-)hosts simply claim 2183 and defend IP addresses either to subvert accounting for their use or 2184 to disrupt the network for legitimate hosts. 2186 It is thus important to control even GET access to these objects and 2187 possibly to even encrypt the values of these objects when sending 2188 them over the network via SNMP. Not all versions of SNMP provide 2189 features for such a secure environment. 2191 SNMPv1 by itself is not a secure environment. Even if the network 2192 itself is secure (for example by using IPSec), even then, there is no 2193 control as to who on the secure network is allowed to access and 2194 GET/SET (read/change/create/delete) the objects in this MIB. 2196 It is recommended that the implementers consider the security 2197 features as provided by the SNMPv3 framework. Specifically, the use 2198 of the User-based Security Model RFC 2574 [RFC2574] and the View- 2199 based Access Control Model RFC 2575 [RFC2575] is recommended. 2201 It is then a customer/user responsibility to ensure that the SNMP 2202 entity giving access to an instance of this MIB, is properly 2203 configured to give access to the objects only to those principals 2204 (users) that have legitimate rights to indeed GET or SET 2205 (change/create/delete) them. 2207 Denial of Service attacks on a DHCP server are conceivable by 2208 flooding the SNMP (sub-)agent with requests, tying up host system and 2209 server resources processing SNMP messages. The authors know of no 2210 way to wholly prevent such attacks, but have attempted to construct 2211 relatively simple tables to minimize the work required to respond to 2212 messages. 2214 9. References 2216 [DEN] Directory Enabled Networks Working Group, 2217 http://www.universe.digex.net/~murchiso/den. 2219 [RFC1123] R. Braden, "Requirements for Internet Hosts -- Application 2220 and Support," RFC 1123, October 1989. 2222 [RFC1155] Rose, M., and K. McCloghrie, "Structure and Identification 2223 of Management Information for TCP/IP-based Internets", STD 16, RFC 2224 1155, May 1990. 2226 [RFC1157] Case, J., Fedor, M., Schoffstall, M., and J. Davin, "Simple 2227 Network Management Protocol", STD 15, RFC 1157, May 1990. 2229 [RFC1212] Rose, M., and K. McCloghrie, "Concise MIB Definitions", STD 2230 16, RFC 1212, March 1991. 2232 [RFC1215] M. Rose, "A Convention for Defining Traps for use with the 2233 SNMP", RFC 1215, March 1991. 2235 [RFC1901] Case, J., McCloghrie, K., Rose, M., and S. Waldbusser, 2236 "Introduction to Community-based SNMPv2", RFC 1901, January 1996. 2238 [RFC1905] Case, J., McCloghrie, K., Rose, M., and S. Waldbusser, 2239 "Protocol Operations for Version 2 of the Simple Network Management 2240 Protocol (SNMPv2)", RFC 1905, January 1996. 2242 [RFC1906] Case, J., McCloghrie, K., Rose, M., and S. Waldbusser, 2243 "Transport Mappings for Version 2 of the Simple Network Management 2244 Protocol (SNMPv2)", RFC 1906, January 1996. 2246 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 2247 Requirement Levels," RFC 2119, BCP 14, March 1997. 2249 [RFC2131] Droms, R., "Dynamic Host Configuration Protocol," RFC 2131, 2250 March 1997. 2252 [RFC2132] Alexander, S. and Droms, R., "DHCP Options and BOOTP Vendor 2253 Extensions," RFC 2132, March 1997. 2255 [RFC2287] Krupczak, C. and Saperia, J., "Definitions of System-Level 2256 Managed Objects for Applications," RFC 2287, February 1998. 2258 [RFC2570] Case, J., Mundy, R., Partain, D., and B. Stewart, 2259 "Introduction to Version 3 of the Internet-standard Network 2260 Management Framework", RFC 2570, April 1999. 2262 [RFC2571] Harrington, D., Presuhn, R., and B. Wijnen, "An 2263 Architecture for Describing SNMP Management Frameworks", RFC 2571, 2264 April 1999. 2266 [RFC2572] Case, J., Harrington D., Presuhn R., and B. Wijnen, 2267 "Message Processing and Dispatching for the Simple Network 2268 Management Protocol (SNMP)", RFC 2572, April 1999. 2270 [RFC2573] Levi, D., Meyer, P., and B. Stewart, "SNMPv3 Applications", 2271 RFC 2573, April 1999. 2273 [RFC2574] Blumenthal, U., and B. Wijnen, "User-based Security Model 2274 (USM) for version 3 of the Simple Network Management Protocol 2275 (SNMPv3)", RFC 2574, April 1999. 2277 [RFC2575] Wijnen, B., Presuhn, R., and K. McCloghrie, "View-based 2278 Access Control Model (VACM) for the Simple Network Management 2279 Protocol (SNMP)", RFC 2575, April 1999. 2281 [RFC2578] Case, J., McCloghrie, K., Perkins, D., Rose, M., 2282 Schoenwaelder, J., and S. Waldbusser, "Structure of Management 2283 Information for Version 2 of the Simple Network Management Protocol 2284 (SNMPv2)," RFC 2578, April 1999. 2286 [RFC2579] Case, J., McCloghrie, K., Rose, M., Schoenwaelder, J., and 2287 S. Waldbusser, "Textual Conventions for Version 2 of the Simple 2288 Network Management Protocol (SNMPv2)," RFC 2579, April 1999. 2290 [RFC2580] Case, J., McCloghrie, K., Rose, M., Schoenwaelder, J., and 2291 S. Waldbusser, "Conformance Statements for Version 2 of the Simple 2292 Network Management Protocol (SNMPv2)," RFC 2580, April 1999. 2294 [RFC3203 , Yves T'Joens and Christian Hublet, Peter De Schrijver, 2295 "The DHCP Reconfigure Extension," July 2001 2297 Rich Woundy and Kim Kinnear, "DHCP 2298 Lease Query," March 2002 2300 10. Editors' Addresses 2302 Richard Barr Hibbs 2303 952 Sanchez Street 2304 San Francisco, California 94114-3362 2305 USA 2307 Phone: +1-(415)-648-3920 2308 Fax: +1-(415)-648-9017 2309 Email: rbhibbs@pacbell.net 2311 Glenn Waters 2312 Nortel Networks 2313 310-875 Carling Avenue, 2314 Ottawa, Ontario K1S 5P1 2315 Canada 2317 Phone: +1-(613)-798-4925 2318 Email: gww@NortelNetworks.com 2320 11. Full Copyright Statement 2322 Copyright (C) The Internet Society, 2002. All Rights Reserved. 2324 This document and translations of it may be copied and furnished to 2325 others, and derivative works that comment on or otherwise explain it 2326 or assist in its implementation may be prepared, copied, published 2327 and distributed, in whole or in part, without restriction of any 2328 kind, provided that the above copyright notice and this paragraph are 2329 included on all such copies and derivative works.However, this 2330 document itself may not be modified in any way, such as by removing 2331 the copyright notice or references to the Internet Society or other 2332 Internet organizations, except as needed for the purpose of 2333 developing Internet standards in which case the procedures for 2334 copyrights defined in the Internet Standards process must be 2335 followed, or as required to translate it into languages other than 2336 English. 2338 The limited permissions granted above are perpetual and will not be 2339 revoked by the Internet Society or its successors or assigns. 2341 This document and the information contained herein is provided on an 2342 "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING 2343 TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING 2344 BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION 2345 HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF 2346 MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.