idnits 2.17.1 draft-ietf-dhc-server-mib-05.txt: -(1410): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding -(1792): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding -(1795): 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: ---------------------------------------------------------------------------- ** Missing document type: Expected "INTERNET-DRAFT" in the upper left hand corner of the first page ** Missing expiration date. The document expiration date should appear on the first and last page. == There are 3 instances of lines with non-ascii characters in the document. == The page length should not exceed 58 lines per page, but there was 35 longer pages, the longest (page 1) being 70 lines Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- ** The document seems to lack an Introduction section. (A line matching the expected section header was found, but with an unexpected indentation: ' 2. Overview' ) ** The document seems to lack a Security Considerations section. (A line matching the expected section header was found, but with an unexpected indentation: ' 7. Security Considerations' ) ** 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 an Authors' Addresses Section. ** There are 502 instances of too long lines in the document, the longest one being 18 characters in excess of 72. ** The abstract seems to contain references ([DEN], [RFC2119], [RFC2287], [RFC1902,RFC1903,, [RFC2131], [RFC2132], [RFC2274], [RFC1902], [RFC2275], [RFC1903], RFC1904], [RFC1904]), which it shouldn't. Please replace those with straight textual mentions of the documents in question. ** The document seems to lack a both a reference to RFC 2119 and the recommended RFC 2119 boilerplate, even if it appears to use RFC 2119 keywords -- however, there's a paragraph with a matching beginning. Boilerplate error? RFC 2119 keyword, line 89: '...ftware. Servers MAY also provide addi...' RFC 2119 keyword, line 197: '...ich have expired MAY appear in the add...' RFC 2119 keyword, line 221: '... According to [RFC2131], servers SHOULD try to determine if an...' RFC 2119 keyword, line 347: '... resolution SHOULD round this val...' RFC 2119 keyword, line 383: '... This string MUST contain only pri...' (5 more instances...) Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the RFC 3978 Section 5.4 Copyright Line does not match the current year == Line 847 has weird spacing: '.... Note tha...' == Line 967 has weird spacing: '...alue of serve...' == Line 1310 has weird spacing: '...ardware addre...' -- 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 2000) is 8562 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) -- Missing reference section? 'RFC1902' on line 1845 looks like a reference -- Missing reference section? 'RFC1903' on line 1850 looks like a reference -- Missing reference section? 'RFC1904' on line 1854 looks like a reference -- Missing reference section? 'RFC2287' on line 1867 looks like a reference -- Missing reference section? 'RFC2119' on line 1858 looks like a reference -- Missing reference section? 'DEN' on line 1842 looks like a reference -- Missing reference section? 'RFC2131' on line 1861 looks like a reference -- Missing reference section? 'RFC2274' on line 1831 looks like a reference -- Missing reference section? 'RFC2275' on line 1832 looks like a reference -- Missing reference section? 'RFC2132' on line 1864 looks like a reference Summary: 10 errors (**), 0 flaws (~~), 6 warnings (==), 13 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Network Working Group R. B. Hibbs 3 INTERNET-DRAFT UltraDNS Corp. 4 Category: Standards Track G. Waters 5 Nortel Networks 6 November 2000 8 Dynamic Host Configuration Protocol (DHCP) Server MIB 10 11 Monday, November 13, 2000, 3:50 PM 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 24 months and may be updated, replaced, or obsoleted by other documents 25 at any time. It is inappropriate to use Internet-Drafts as 26 reference 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/ietf/1id-abstracts.txt 31 The list of Internet-Draft Shadow Directories can be accessed at 32 http://www.ietf.org/shadow.html. 33 " 35 To learn the current status of any Internet-Draft, please check the 36 "1id-abstracts.txt" listing contained in the Internet-Drafts Shadow 37 Directories on ds.internic.net (US East Coast), nic.nordu.net 38 (Europe), ftp.isi.edu (US West Coast), or munnari.oz.au (Pacific 39 Rim). 41 Copyright Notice 43 Copyright (C) The Internet Society (2000). All Rights Reserved. 45 Abstract 47 This memo defines an experimental portion of the Management 48 Information Base (MIB) for use with network management protocols in 49 the Internet Community. In particular, it defines objects used for 50 the management of Dynamic Host Configuration Protocol (DHCP) and 51 Bootstrap Protocol (BOOTP) servers. 53 Table of Contents 55 1. Introduction......................................................2 56 2. Overview..........................................................2 57 2.1. BOOTP and DHCP Counter Groups.................................3 58 2.2. BOOTP and DHCP Statistics Group...............................3 59 2.3. Server Configuration Group....................................3 60 2.4. Response Times and ICMP Echo..................................5 61 3. Definitions.......................................................5 62 4. Intellectual Property............................................31 63 5. Notes............................................................31 64 5.1. Issues.......................................................31 65 5.2. Changes from Prior Drafts....................................32 66 6. Acknowledgements.................................................33 67 7. Security Considerations..........................................33 68 8. References.......................................................33 69 9. Editors' Addresses...............................................34 70 10. Full Copyright Statement........................................34 72 1. Introduction 74 This memo was produced by the DHCP Working Group and defines a 75 portion of the Management Information Base (MIB) for use with 76 network management protocols in the Internet community. In 77 particular, it describes a set of extensions that DHCP and Bootstrap 78 Protocol (BOOTP) servers implement. Many implementations support 79 both DHCP and BOOTP within a single server and hence this memo 80 describes the MIB for both DHCP and BOOTP servers. 82 This memo does not cover DHCP/BOOTP client nor relay agent MIB 83 extensions: these are possibly the subjects of future investigation. 85 This memo is based on the Internet-standard Network Management 86 Framework as defined by documents [RFC1902, RFC1903, RFC1904]. 88 Objects defined in this MIB allow access to and control of DHCP 89 Server Software. Servers MAY also provide additional management 90 capabilities through the use of the Applications MIB [RFC2287]. 92 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 93 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in 94 this document are to be interpreted as described in document 95 [RFC2119]. 97 2. Overview 99 In the tradition of the Simple Network Management Protocol (SNMP) 100 the minimum number of objects possible are defined in this MIB, 101 while still providing as rich a set of management information as 102 possible. An object is left out of this MIB when it can be derived 103 from other objects that are provided. Further to the tradition of 104 the SNMP, computationally intense operations are left to the domain 105 of the management station. Thus, this MIB provides a set of objects 106 from which other management information may be derived. 108 The examples provided in the following sections are not meant to be 109 comprehensive, they are merely illustrative of the potential uses of 110 the objects defined by this MIB. 112 2.1. BOOTP and DHCP Counter Groups 114 This section describes some of the management information that may 115 be derived from the objects provided in the counter groups. 117 The total number of valid DHCP packets received by the server is 118 computed as the sum of the dhcpCountDiscovers, dhcpCountRequests, 119 dhcpCountReleases, dhcpCountDeclines, and dhcpCountInforms objects. 120 The total number of valid packets (BOOTP and DHCP) received is 121 computed as the total number of valid DHCP packets plus the value of 122 the bootpCountRequests object. The total number of packets received 123 is computed as the total number of valid packets plus 124 bootpCountInvalids and dhcpCountInvalids. 126 Similar to the received computations, the total number of DHCP 127 packets sent by the server is computed as the sum of the 128 dhcpCountOffers, dhcpCountAcks, and dhcpCountNacks objects. The 129 number of packets (BOOTP and DHCP) sent by the server is computed as 130 the total number of DHCP packets sent plus the value of the 131 bootpCountReplies object. 133 2.2. BOOTP and DHCP Statistics Group 135 This section describes some of the management information that may 136 be derived from the objects provided in the statistics group. 138 Given time 1 (t1) and time 2 (t2) greater than t1, the mean inter- 139 arrival time of valid DHCP messages for the interval t1 to t2 can be 140 computed as (dhcpStatLastArrivalTime at t2 minus 141 dhcpStatLastArrivalTime at t1) divided by (valid DHCP received 142 packet count at t2 minus valid DHCP received packet count at t1). 144 Under the simplifying assumption that the capture of packet counts 145 and times is discontinuous (that is, for the measurement interval 146 the captured data represents the complete set for the server) the 147 variance of the mean may be computed as 148 (dhcpStatSumSquaresArrivalTime at t2 less 149 dhcpStatSumSquaresArrivalTime at t1) divided by (valid DHCP received 150 packet count at t2 less valid DHCP received packet count at t1). 151 Standard deviation of the mean is the square root of the variance. 153 Calculation of statistics for message response time is entirely 154 similar to the calculations for inter-arrival time, except that the 155 response time objects are used for the calculations. 157 Calculation of statistics for BOOTP is similar to the calculations 158 for DHCP, except that the similar objects from the bootStatistics 159 group are used instead of the objects from dhcpStatistics group. 161 2.3. Server Configuration Group 163 The server configuration group contains objects that describe the 164 configuration information that is contained in the server. Some of 165 the configuration information is static (e.g.: a statically 166 configured IP address) and some of the configuration is dynamic 167 (e.g.: an assigned DHCP lease). The intent of the server 168 configuration group is to be able to read the server's 169 configuration. Mechanisms outside of the SNMP are currently in use 170 (e.g.: vendor defined solutions) and are being standardized (e.g.: 171 the Directory Enabled Networks [DEN] initiative) to update a 172 server's configuration. 174 The configuration information provides a minimal set of information 175 that most servers should be able to provide. Each row of the 176 serverSubnetTable lists the subnet, the subnet mask, and the subnet 177 that is equivalent to this subnet. Equivalence is defined as more 178 than one subnet being present on the same physical media as some 179 other subnet. 181 The serverRangeTable lists the start and end IP addresses of the 182 ranges and the subnet which the range is a member of. The 183 serverRangeInUse object indicates the amount of the range that is 184 currently in use, either through dynamic allocation or being 185 reserved. The range size can be computed by taking the difference 186 of the serverRangeStart and serverRangeEnd objects. 188 The serverAddressTable provides information about the static and 189 dynamic addresses that the server contains in its configuration. 190 Addresses may be: 192 o Static, in which case they are predefined though the server's 193 configuration. Static addresses may or may not have been 194 previously served by the server; 196 o Dynamic, in which case the server has served the addresses at 197 least once. Leases which have expired MAY appear in the address 198 list; 200 o Configuration-reserved, in which case the address is not 201 available for the server to allocate to a client. A 202 configuration-reserved address is one that has been reserved by 203 the administrator. An example of a configuration-reserved address 204 is an address that is assigned to a client, not through DHCP 205 (e.g.: statically assigned), and the address is within a DHCP 206 range; and, 208 o Server-reserved, in which case the server has taken the address 209 out of use. Examples of server-reserved addresses are those 210 which have been declined (i.e.: through a DHCPDECLINE) by a 211 client or those which have responded to an ICMP echo before they 212 were assigned. 214 The protocol used to allocate the address may be determined from the 215 serverAddressServedProtocol object. This object indicates whether 216 the address has never been served (value of none(1)), or, whether 217 BOOTP or DHCP was used to allocate the address. 219 2.4. Response Times and ICMP Echo 221 According to [RFC2131], servers SHOULD try to determine if an 222 address is in use before assigning it. Some servers choose not to 223 perform this check, letting the client determine for itself if the 224 address is in use. Other servers perform an ICMP echo (Ping) just 225 prior to assigning an address. Servers that perform a Ping before 226 responding to a DHCPDISCOVER should not include in the response time 227 the time from when the Ping was transmitted until the time that 228 either a response was received or that the server timed out waiting 229 for a response. 231 3. Definitions 233 -- definitions for a DHCP (Dynamic Host Configuration Protocol) 234 server 236 DHCP-SERVER-MIB DEFINITIONS ::= BEGIN 238 IMPORTS 239 Counter64, Counter32, Gauge32, Unsigned32, mib-2, 240 MODULE-IDENTITY, OBJECT-TYPE, OBJECT-IDENTITY, IpAddress 241 FROM SNMPv2-SMI 243 TEXTUAL-CONVENTION, RowStatus, DisplayString, TruthValue, 244 DateAndTime 245 FROM SNMPv2-TC 247 MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP # 248 /*modified*/ 249 FROM SNMPv2-CONF; 251 dhcp OBJECT-IDENTITY 252 STATUS current 253 DESCRIPTION 254 "The dhcp branch in the standard network management 255 framework." 256 ::= { mib-2 99 } -- IANA will make official assignment 258 dhcpServerMIB MODULE-IDENTITY # /*renamed*/ 259 LAST-UPDATED "9910060000Z" 260 ORGANIZATION "IETF DHCP Working Group" 261 CONTACT-INFO 262 " Richard Barr Hibbs 263 Postal: UltraDNS Corporation 264 800 North San Mateo Drive 265 San Mateo, CA 94401-2261 266 USA 267 Tel: +1 650-227-2678 268 Fax: +1 650-227-2662 269 Email: rbhibbs@ultraDNS.com 271 Glenn Waters 272 Postal: Nortel Networks, Inc. 273 310-875 Carling Avenue 274 Ottawa, Ontario K1S 5P1 275 Canada 276 Tel: +1 613-765-0249 277 Email: gww@nortelnetworks.com" 278 DESCRIPTION 279 "The MIB module for entities implementing the server side of 280 the 281 Bootstrap Protocol (BOOTP) and the Dynamic Host Configuration 282 protocol (DHCP) for Internet Protocol version 4(IPv4). This 283 MIB 284 does not include support for Dynamic DNS (DDNS) updating nor 285 for 286 the DHCP Failover Protocol." 287 ::= { dhcp 1 } 289 dhcpServerMIBObjects OBJECT-IDENTITY 290 STATUS current 291 DESCRIPTION 292 "DHCP Server MIB objects are all defined in this branch." 293 ::= { dhcpServerMIB 1 } 295 serverSystem OBJECT-IDENTITY 296 STATUS current 297 DESCRIPTION 298 "Group of objects that are related to the overall system." 299 ::= { dhcpServerMIBObjects 1 } 301 bootpCounters OBJECT-IDENTITY 302 STATUS current 303 DESCRIPTION 304 "Group of objects that count various BOOTP events." 305 ::= { dhcpServerMIBObjects 2 } 307 dhcpCounters OBJECT-IDENTITY 308 STATUS current 309 DESCRIPTION 310 "Group of objects that count various DHCP events." 311 ::= { dhcpServerMIBObjects 3 } 313 bootpStatistics OBJECT-IDENTITY 314 STATUS current 315 DESCRIPTION 316 "Group of objects that measure various BOOTP statistics." 317 ::= { dhcpServerMIBObjects 4 } 319 dhcpStatistics OBJECT-IDENTITY 320 STATUS current 321 DESCRIPTION 322 "Group of objects that measure various DHCP statistics." 323 ::= { dhcpServerMIBObjects 5 } 325 serverConfiguration OBJECT-IDENTITY 326 STATUS current 327 DESCRIPTION 328 "Objects that contain pre-configured and dynamic 329 configuration 330 information." 331 ::= { dhcpServerMIBObjects 6 } 333 clientGroup OBJECT-IDENTITY 334 STATUS current 335 DESCRIPTION 336 "Objects that map DHCP and BOOTP clients to IP addresses." 337 ::= { dhcpServerMIBObjects 7 } 339 -- Textual conventions defined by this memo 341 DhcpTimeInterval ::= TEXTUAL-CONVENTION 342 STATUS current 343 DESCRIPTION 344 "The number of milli-seconds that has elapsed since some 345 epoch. 346 Systems that cannot measure events to the milli-second 347 resolution SHOULD round this value to the next available 348 resolution that the system supports." 349 SYNTAX Unsigned32 351 PhysicalAddress ::= TEXTUAL-CONVENTION 352 DISPLAY-HINT "t,xx[:xx...]" 353 STATUS current 354 REFERENCE "RFC 2131" 355 DESCRIPTION 356 "A harware type and hardware address. This object is 357 encoded as 358
359 where 360 is the value of the hardware type space 361 field, as used in ARP (e.g., 1 for Ethernet, 362 6 for token ring). IANA maintains the list of 363 registered numbers for this field. The value for 364 this field comes from the 'htype' field in the 365 BOOTP 366 packet header. 367
is the hardware address of the MAC (Media 368 Adapter Card) interface. The value for this field 369 comes from the 'chaddr' field in the BOOTP packet 370 header." 371 SYNTAX OCTET STRING (SIZE (0 | 2..17)) 373 -- serverSystem Group 375 serverSystemDescr OBJECT-TYPE 376 SYNTAX DisplayString (SIZE (0..255)) 377 MAX-ACCESS read-only 378 STATUS current 379 DESCRIPTION 380 "A textual description of the server. This value should 381 include the full name and version identification of the 382 server. 383 This string MUST contain only printable NVT ASCII 384 characters." 385 ::= { serverSystem 1 } 387 serverSystemObjectID OBJECT-TYPE 388 SYNTAX OBJECT IDENTIFIER 389 MAX-ACCESS read-only 390 STATUS current 391 DESCRIPTION 392 "The vendor's authoritative identification of the network 393 management subsystem contained in this entity. This value is 394 allocated within the SMI enterprise subtree (1.3.6.1.4.1) and 395 provides an easy and unambiguous means for determining 'what 396 kind of server' is being managed. For example, if vendor 397 'VeryBigServers, Inc.' is assigned the subtree 398 1.3.6.1.4.1.4242, it may assign the identifier 399 1.3.6.1.4.1.4242.1.1 to its `Hercules DHCP Server'." 400 ::= { serverSystem 2 } 402 -- bootpCounters Group 404 bootpCountRequests OBJECT-TYPE 405 SYNTAX Counter32 406 MAX-ACCESS read-only 407 STATUS current 408 DESCRIPTION 409 "The number of packets received that contain a Message Type 410 of 411 1 (BOOTREQUEST) in the first octet and do not contain option 412 number 53 (DHCP Message Type) in the options." 413 ::= { bootpCounters 1 } 415 bootpCountInvalids OBJECT-TYPE 416 SYNTAX Counter32 417 MAX-ACCESS read-only 418 STATUS current 419 DESCRIPTION 420 "The number of packets received that do not contain a Message 421 Type of 1 (BOOTREQUEST) in the first octet or are not valid 422 BOOTP packets (e.g., too short, invalid field in packet 423 header)." 424 ::= { bootpCounters 2 } 426 bootpCountReplies OBJECT-TYPE 427 SYNTAX Counter32 428 MAX-ACCESS read-only 429 STATUS current 430 DESCRIPTION 431 "The number of packets sent that contain a Message Type of 1 432 (BOOTREQUEST) in the first octet and do not contain option 433 number 53 (DHCP Message Type) in the options." 434 ::= { bootpCounters 3 } 436 bootpCountDroppedUnknownClients OBJECT-TYPE 437 SYNTAX Counter32 438 MAX-ACCESS read-only 439 STATUS current 440 DESCRIPTION 441 "The number of BOOTP packets dropped due to the server not 442 recognizing or not providing service to the hardware address 443 received in the incoming packet." 444 ::= { bootpCounters 4 } 446 bootpCountDroppedNotServingSubnet OBJECT-TYPE 447 SYNTAX Counter32 448 MAX-ACCESS read-only 449 STATUS current 450 DESCRIPTION 451 "The number of BOOTP packets dropped due to the server not 452 being configured or not otherwise able to serve addresses on 453 the subnet from which this message was received." 454 ::= { bootpCounters 5 } 456 -- dhcpCounters Group 458 dhcpCountDiscovers OBJECT-TYPE 459 SYNTAX Counter32 460 MAX-ACCESS read-only 461 STATUS current 462 DESCRIPTION 463 "The number of DHCPDISCOVER (option 53 with value 1) packets 464 received." 465 ::= { dhcpCounters 1 } 467 dhcpCountRequests OBJECT-TYPE 468 SYNTAX Counter32 469 MAX-ACCESS read-only 470 STATUS current 471 DESCRIPTION 472 "The number of DHCPREQUEST (option 53 with value 3) packets 473 received." 474 ::= { dhcpCounters 2 } 476 dhcpCountReleases OBJECT-TYPE 477 SYNTAX Counter32 478 MAX-ACCESS read-only 479 STATUS current 480 DESCRIPTION 481 "The number of DHCPRELEASE (option 53 with value 7) packets 482 received." 483 ::= { dhcpCounters 3 } 485 dhcpCountDeclines OBJECT-TYPE 486 SYNTAX Counter32 487 MAX-ACCESS read-only 488 STATUS current 489 DESCRIPTION 490 "The number of DHCPDECLINE (option 53 with value 4) packets 491 received." 492 ::= { dhcpCounters 4 } 494 dhcpCountInforms OBJECT-TYPE 495 SYNTAX Counter32 496 MAX-ACCESS read-only 497 STATUS current 498 DESCRIPTION 499 "The number of DHCPINFORM (option 53 with value 8) packets 500 received." 501 ::= { dhcpCounters 5 } 503 dhcpCountInvalids OBJECT-TYPE 504 SYNTAX Counter32 505 MAX-ACCESS read-only 506 STATUS current 507 DESCRIPTION 508 "The number of DHCP packets received whose DHCP message type 509 (i.e., option number 53) is not understood or handled by the 510 server." 511 ::= { dhcpCounters 6 } 513 dhcpCountOffers OBJECT-TYPE 514 SYNTAX Counter32 515 MAX-ACCESS read-only 516 STATUS current 517 DESCRIPTION 518 "The number of DHCPOFFER (option 53 with value 2) packets 519 sent." 520 ::= { dhcpCounters 7 } 522 dhcpCountAcks OBJECT-TYPE 523 SYNTAX Counter32 524 MAX-ACCESS read-only 525 STATUS current 526 DESCRIPTION 527 "The number of DHCPACK (option 53 with value 5) packets 528 sent." 529 ::= { dhcpCounters 8 } 531 dhcpCountNacks OBJECT-TYPE 532 SYNTAX Counter32 533 MAX-ACCESS read-only 534 STATUS current 535 DESCRIPTION 536 "The number of DHCPNACK (option 53 with value 6) packets 537 sent." 538 ::= { dhcpCounters 9 } 540 dhcpCountDroppedUnknownClient OBJECT-TYPE 541 SYNTAX Counter32 542 MAX-ACCESS read-only 543 STATUS current 544 DESCRIPTION 545 "The number of DHCP packets dropped due to the server not 546 recognizing or not providing service to the client-id and/or 547 hardware address received in the incoming packet." 548 ::= { dhcpCounters 10 } 550 dhcpCountDroppedNotServingSubnet OBJECT-TYPE 551 SYNTAX Counter32 552 MAX-ACCESS read-only 553 STATUS current 554 DESCRIPTION 555 "The number of DHCP packets dropped due to the server not 556 being 557 configured or not otherwise able to serve addresses on the 558 subnet from which this message was received." 559 ::= { dhcpCounters 11 } 561 -- bootpStatistics group 563 bootpStatMinArrivalInterval OBJECT-TYPE 564 SYNTAX DhcpTimeInterval 565 MAX-ACCESS read-write 566 STATUS current 567 DESCRIPTION 568 "The minimum amount of time between receiving two BOOTP 569 messages. A message is received at the server when the 570 server 571 is able to begin processing the message. This typically 572 occurs 573 immediately after the message is read into server memory. If 574 no messages have been received, then this object contains a 575 zero value." 576 ::= { bootpStatistics 1 } 578 bootpStatMaxArrivalInterval OBJECT-TYPE 579 SYNTAX DhcpTimeInterval 580 MAX-ACCESS read-write 581 STATUS current 582 DESCRIPTION 583 "The maximum amount of time between receiving two BOOTP 584 messages. A message is received at the server when the 585 server 586 is able to begin processing the message. This typically 587 occurs 588 immediately after the message is read into server memory. If 589 no messages have been received, then this object contains a 590 zero value." 591 ::= { bootpStatistics 2 } 593 bootpStatLastArrivalTime OBJECT-TYPE 594 SYNTAX DateAndTime 595 MAX-ACCESS read-only 596 STATUS current 597 DESCRIPTION 598 "The date and time that the last valid BOOTP message was 599 received by the server. Invalid messages do not cause this 600 value to change. If valid no messages have been received, 601 then 602 this object contains a date and time that is all zero." 603 ::= { bootpStatistics 3 } 605 bootpStatSumSquaresArrivalTime OBJECT-TYPE 606 SYNTAX Counter64 607 MAX-ACCESS read-only 608 STATUS current 609 DESCRIPTION 610 "The sum of the squared BOOTP packet inter-arrival times in 611 micro-seconds. This value may be used to compute the 612 variance 613 and standard deviation of the BOOTP arrival times. Note that 614 a 615 micro-second resolution of this object requires a clock 616 resolution to the milli-second since the square of a milli- 617 second value produces a value with micro-second resolution." 618 ::= { bootpStatistics 4 } 620 bootpStatMinResponseTime OBJECT-TYPE 621 SYNTAX DhcpTimeInterval 622 MAX-ACCESS read-write 623 STATUS current 624 DESCRIPTION 625 "The smallest time interval measured as the difference 626 between 627 the arrival of a BOOTP message at the server and the 628 successful 629 transmission of the response to that message. A message is 630 received at the server when the server is able to begin 631 processing the message. A message is transmitted after the 632 server has no further use for the message. Note that the 633 operating system may still have the message queued 634 internally. 636 The operating system queue time is not to be considered as 637 part 638 of the response time. Invalid messages do not cause this 639 value 640 to change. If no valid messages have been received, then 641 this 642 object contains a zero value." 643 ::= { bootpStatistics 5 } 645 bootpStatMaxResponseTime OBJECT-TYPE 646 SYNTAX DhcpTimeInterval 647 MAX-ACCESS read-write 648 STATUS current 649 DESCRIPTION 650 "The largest time interval measured as the difference between 651 the arrival of a BOOTP message at the server and the 652 successful 653 transmission of the response to that message. A message is 654 received at the server when the server is able to begin 655 processing the message. A message is transmitted after the 656 server has no further use for the message. Note that the 657 operating system may still have the message queued 658 internally. 660 The operating system queue time is not to be considered as 661 part 662 of the response time. Invalid messages do not cause this 663 value 664 to change. If no valid messages have been received, then 665 this 666 object contains a zero value." 667 ::= { bootpStatistics 6 } 669 bootpStatSumResponseTime OBJECT-TYPE 670 SYNTAX Counter32 671 MAX-ACCESS read-only 672 STATUS current 673 DESCRIPTION 674 "The sum of the response time intervals in milli-seconds 675 where 676 a response time interval is measured as the difference 677 between 678 the arrival of a BOOTP message at the server and the 679 successful 680 transmission of the response to that message. A message is 681 received at the server when the server is able to begin 682 processing the message. A message is transmitted after the 683 server has no further use for the message. Note that the 684 operating system may still have the message queued 685 internally. 687 The operating system queue time is not to be considered as 688 part 689 of the response time. Invalid messages do not cause this 690 value 691 to change. If no valid messages have been received, then 692 this 693 object contains a zero value." 694 ::= { bootpStatistics 7 } 696 bootpStatSumSquaresResponseTime OBJECT-TYPE 697 SYNTAX Counter64 698 MAX-ACCESS read-only 699 STATUS current 700 DESCRIPTION 701 "The sum of the squared BOOTP packet response times in micro- 702 seconds. This value may be used to compute the variance and 703 standard deviation of the BOOTP response times. Note that a 704 micro-second resolution of this object requires a clock 705 resolution to the milli-second since the square of a milli- 706 second value produces a value with micro-second resolution." 707 ::= { bootpStatistics 8 } 709 -- dhcpStatistics group 711 dhcpStatMinArrivalInterval OBJECT-TYPE 712 SYNTAX DhcpTimeInterval 713 MAX-ACCESS read-write 714 STATUS current 715 DESCRIPTION 716 "The minimum amount of time between receiving two DHCP 717 messages. A message is received at the server when the 718 server 719 is able to begin processing the message. This typically 720 occurs 721 immediately after the message is read into server memory. If 722 no messages have been received, then this object contains a 723 zero value." 724 ::= { dhcpStatistics 1 } 725 dhcpStatMaxArrivalInterval OBJECT-TYPE 726 SYNTAX DhcpTimeInterval 727 MAX-ACCESS read-write 728 STATUS current 729 DESCRIPTION 730 "The maximum amount of time between receiving two DHCP 731 messages. A message is received at the server when the 732 server 733 is able to begin processing the message. This typically 734 occurs 735 immediately after the message is read into server memory. If 736 no messages have been received, then this object contains a 737 zero value." 738 ::= { dhcpStatistics 2 } 740 dhcpStatLastArrivalTime OBJECT-TYPE 741 SYNTAX DateAndTime 742 MAX-ACCESS read-only 743 STATUS current 744 DESCRIPTION 745 "The date and time that the last valid DHCP message was 746 received by the server. Invalid messages do not cause this 747 value to change. If no valid messages have been received, 748 then 749 this object contains a date and time that is all zero." 750 ::= { dhcpStatistics 3 } 752 dhcpStatSumSquaresArrivalTime OBJECT-TYPE 753 SYNTAX Counter64 754 MAX-ACCESS read-only 755 STATUS current 756 DESCRIPTION 757 "The sum of the squared DHCP packet inter-arrival times in 758 micro-seconds. This value may be used to compute the 759 variance 760 and standard deviation of the DHCP arrival times. Note that 761 a 762 micro-second resolution of this object requires a clock 763 resolution to the milli-second since the square of a milli- 764 second value produces a value with micro-second resolution." 765 ::= { dhcpStatistics 4 } 767 dhcpStatMinResponseTime OBJECT-TYPE 768 SYNTAX DhcpTimeInterval 769 MAX-ACCESS read-write 770 STATUS current 771 DESCRIPTION 772 "The smallest time interval measured as the difference 773 between 774 the arrival of a DHCP message at the server and the 775 successful 776 transmission of the response to that message. A message is 777 received at the server when the server is able to begin 778 processing the message. A message is transmitted after the 779 server has no further use for the message. Note that the 780 operating system may still have the message queued 781 internally. 783 The operating system queue time is not to be considered as 784 part 785 of the response time. Invalid messages do not cause this 786 value 787 to change. If no valid messages have been received, then 788 this 789 object contains a zero value." 790 ::= { dhcpStatistics 5 } 792 dhcpStatMaxResponseTime OBJECT-TYPE 793 SYNTAX DhcpTimeInterval 794 MAX-ACCESS read-write 795 STATUS current 796 DESCRIPTION 797 "The largest time interval measured as the difference between 798 the arrival of a DHCP message at the server and the 799 successful 800 transmission of the response to that message. A message is 801 received at the server when the server is able to begin 802 processing the message. A message is transmitted after the 803 server has no further use for the message. Note that the 804 operating system may still have the message queued 805 internally. 806 The operating system queue time is not to be considered as 807 part 808 of the response time. Invalid messages do not cause this 809 value 810 to change. If no valid messages have been received, then 811 this 812 object contains a zero value." 813 ::= { dhcpStatistics 6 } 815 dhcpStatSumResponseTime OBJECT-TYPE 816 SYNTAX Counter32 817 MAX-ACCESS read-only 818 STATUS current 819 DESCRIPTION 820 "The sum of the response time intervals in milli-seconds 821 where 822 a response time interval is measured as the difference 823 between 824 the arrival of a DHCP message at the server and the 825 successful 826 transmission of the response to that message. A message is 827 received at the server when the server is able to begin 828 processing the message. A message is transmitted after the 829 server has no further use for the message. Note that the 830 operating system may still have the message queued 831 internally. 832 The operating system queue time is not to be considered as 833 part 834 of the response time. Invalid messages do not cause this 835 value 836 to change. If no valid messages have been received, then 837 this 838 object contains a zero value." 839 ::= { dhcpStatistics 7 } 840 dhcpStatSumSquaresResponseTime OBJECT-TYPE 841 SYNTAX Counter64 842 MAX-ACCESS read-only 843 STATUS current 844 DESCRIPTION 845 "The sum of the squared DHCP packet response times in micro- 846 seconds. This value may be used to compute the variance and 847 standard deviation of the DHCP response times. Note that 848 a 849 micro-second resolution of this object requires a clock 850 resolution to the milli-second since the square of a milli- 851 second value produces a value with micro-second resolution." 852 ::= { dhcpStatistics 8 } 854 -- serverConfiguration group 856 serverSubnetTable OBJECT-TYPE 857 SYNTAX SEQUENCE OF ServerSubnetEntry 858 MAX-ACCESS not-accessible 859 STATUS current 860 DESCRIPTION 861 "A list of subnets that are configured in this server." 862 ::= { serverConfiguration 1 } 864 serverSubnetEntry OBJECT-TYPE 865 SYNTAX ServerSubnetEntry 866 MAX-ACCESS not-accessible 867 STATUS current 868 INDEX { serverSubnet } 869 DESCRIPTION 870 "A logical row in the serverSubnetTable." 871 ::= { serverSubnetTable 1 } 873 ServerSubnetEntry ::= SEQUENCE { 874 serverSubnet IpAddress, 875 serverSubnetMask IpAddress, 876 serverSubnetSharedNet IpAddress, 877 serverSubnetConfiguredAddresses Unsigned32, 878 serverSubnetAvailableAddresses Unsigned32, 879 serverSubnetFreeAddressLowThreshold Unsigned32, 880 serverSubnetFreeAddressHighThreshold Unsigned32 881 } 883 serverSubnet OBJECT-TYPE 884 SYNTAX IpAddress 885 MAX-ACCESS not-accessible 886 STATUS current 887 DESCRIPTION 888 "The IP address of the subnet." 889 ::= { serverSubnetEntry 1 } 891 serverSubnetMask OBJECT-TYPE 892 SYNTAX IpAddress 893 MAX-ACCESS read-only 894 STATUS current 895 DESCRIPTION 896 "The subnet mask of the subnet. This MUST be the same as the 897 value of DHCP option 1 offered to clients on this subnet." 898 ::= { serverSubnetEntry 2 } 900 serverSubnetSharedNet OBJECT-TYPE 901 SYNTAX IpAddress 902 MAX-ACCESS read-only 903 STATUS current 904 DESCRIPTION 905 "The IP address of another subnet that is on the same shared 906 media as this subnet. The address of the shared subnet MUST 907 also be configured on this server. The address 0.0.0.0 908 should 909 be used if this subnet is not shared." 910 ::= { serverSubnetEntry 3 } 912 serverSubnetConfiguredAddresses OBJECT-TYPE 913 SYNTAX Unsigned32 914 MAX-ACCESS read-only 915 STATUS current 916 DESCRIPTION 917 "The number of IP addresses that are configured to be served 918 on this subnet." 919 ::= { serverSubnetEntry 4 } 921 serverSubnetAvailableAddresses OBJECT-TYPE 922 SYNTAX Unsigned32 923 MAX-ACCESS read-only 924 STATUS current 925 DESCRIPTION 926 "The number of IP addresses on this subnet that are not 927 currently assigned to a client." 928 ::= { serverSubnetEntry 5 } 930 serverSubnetFreeAddressLowThreshold OBJECT-TYPE # /*new*/ 931 SYNTAX Unsigned32 932 MAX-ACCESS accessible-for-notify 933 STATUS current 934 DESCRIPTION 935 "The low threshold for available free addresses in this 936 subnet. 937 If the value for available free addresses in this subnet 938 becomes equal to or less than this value, a 939 serverSubnetFreeAddressLowThreshold event is generated 940 for this shared network. No more 941 serverSubnetFreeAddressLowThreshold events will 942 be generated for this subnet during this execution of 943 the DHCP server until the value for available free addresses 944 has 945 exceeded the value of serverSubnetFreeAddressHighThreshold. 947 This value may be expressed as either an absolute value or a 948 percentage; the units are specified by the value of 949 serverSubnetFreeAddressUnits." 950 ::= { serverSubnetEntry 6 } 951 serverSubnetFreeAddressHighThreshold OBJECT-TYPE # /*new*/ 952 SYNTAX Unsigned32 953 MAX-ACCESS accessible-for-notify 954 STATUS current 955 DESCRIPTION 956 "The high threshold for available free addresses in this 957 subnet. 958 If a serverSubnetFreeAddressLowThreshold event 959 has been generated for this subnet, and the value for 960 available free addresses has exceeded the value of 961 serverSubnetFreeAddressHighThreshold, then a 962 serverFreeAddressessHigh event will be generated. No more 963 serverFreeAddressessHigh events will be generated for this 964 subnet during this execution of the DHCP server until 965 the value for available free addresses becomes equal to or 966 less 967 than the value of serverSubnetFreeAddressHighThreshold. 969 This value may be expressed as either an absolute value or a 970 percentage; the units are specified by the value of 971 serverSubnetFreeAddressUnits." 972 ::= { serverSubnetEntry 7 } 974 serverRangeTable OBJECT-TYPE 975 SYNTAX SEQUENCE OF ServerRangeEntry 976 MAX-ACCESS not-accessible 977 STATUS current 978 DESCRIPTION 979 "A list of ranges that are configured on this server." 980 ::= { serverConfiguration 2 } 982 serverRangeEntry OBJECT-TYPE 983 SYNTAX ServerRangeEntry 984 MAX-ACCESS not-accessible 985 STATUS current 986 INDEX { serverRangeStart } 987 DESCRIPTION 988 "A logical row in the serverRangeTable." 989 ::= { serverRangeTable 1 } 991 ServerRangeEntry ::= SEQUENCE { 992 serverRangeStart IpAddress, 993 serverRangeEnd IpAddress, 994 serverRangeSubnetMask IpAddress, 995 serverRangeInUse Gauge32, 996 serverRangeOutstandingOffers Gauge32 997 } 999 serverRangeStart OBJECT-TYPE 1000 SYNTAX IpAddress 1001 MAX-ACCESS not-accessible 1002 STATUS current 1003 DESCRIPTION 1004 "The IP address of the first address in the range. The value 1005 of 1006 range start must be less than or equal to the value of range 1007 end." 1008 ::= { serverRangeEntry 1 } 1010 serverRangeEnd OBJECT-TYPE 1011 SYNTAX IpAddress 1012 MAX-ACCESS read-only 1013 STATUS current 1014 DESCRIPTION 1015 "The IP address of the last address in the range. The value 1016 of 1017 range end must be greater than or equal to the value of range 1018 start." 1019 ::= { serverRangeEntry 2 } 1021 serverRangeSubnetAddress OBJECT-TYPE 1022 SYNTAX IpAddress 1023 MAX-ACCESS read-only 1024 STATUS current 1025 DESCRIPTION 1026 "The subnet address 1027 for this range." 1028 ::= { serverRangeEntry 3 } 1030 serverRangeInUse OBJECT-TYPE 1031 SYNTAX Gauge32 1032 MAX-ACCESS read-only 1033 STATUS current 1034 DESCRIPTION 1035 "The number of addresses in this range that are currently in 1036 use. This number includes those addresses whose lease has 1037 not 1038 expired and addresses which have been reserved (either by the 1039 server or through configuration)." 1040 ::= { serverRangeEntry 4 } 1042 serverRangeOutstandingOffers OBJECT-TYPE 1043 SYNTAX Gauge32 1044 MAX-ACCESS read-only 1045 STATUS current 1046 DESCRIPTION 1047 "The number of outstanding DHCPOFFER messages for this range 1048 is 1049 reported with this value. An offer is outstanding if the 1050 server has sent a DHCPOFFER message to a client, but has not 1051 yet received a DHCPREQUEST message from the client nor has 1052 the 1053 server-specific timeout (limiting the time in which a client 1054 can respond to the offer message) for the offer message 1055 expired." 1056 ::= { serverRangeEntry 5 } 1058 serverAddressTable OBJECT-TYPE 1059 SYNTAX SEQUENCE OF ServerAddressEntry 1060 MAX-ACCESS not-accessible 1061 STATUS current 1062 DESCRIPTION 1063 "A list of addresses that are known by this server. The list 1064 MUST contain addresses that have not expired. The list MUST 1065 NOT contain addresses that have never been assigned by the 1066 server UNLESS the lease is pre-configured in the server 1067 (e.g., 1068 a static lease on a subnet)." 1069 ::= { serverConfiguration 3 } 1071 serverAddressEntry OBJECT-TYPE 1072 SYNTAX ServerAddressEntry 1073 MAX-ACCESS not-accessible 1074 STATUS current 1075 INDEX { serverAddress } 1076 DESCRIPTION 1077 "A logical row in the serverAddressTable." 1078 ::= { serverAddressTable 1 } 1080 ServerAddressEntry ::= SEQUENCE { 1081 serverAddress IpAddress, 1082 serverAddressSubnetMask IpAddress, 1083 serverAddressRange IpAddress, 1084 serverAddressType INTEGER, 1085 serverAddressTimeRemaining Unsigned32, 1086 serverAddressAllowedProtocol INTEGER, 1087 serverAddressServedProtocol INTEGER, 1088 serverAddressHardwareAddress PhysicalAddress, 1089 serverAddressClientId OCTET STRING, 1090 serverAddressHostName DisplayString, 1091 serverAddressDomainName DisplayString 1092 } 1094 serverAddress OBJECT-TYPE 1095 SYNTAX IpAddress 1096 MAX-ACCESS not-accessible 1097 STATUS current 1098 DESCRIPTION 1099 "The IP address of the entry." 1100 ::= { serverAddressEntry 1 } 1102 serverAddressSubnetMask OBJECT-TYPE 1103 SYNTAX IpAddress 1104 MAX-ACCESS read-only 1105 STATUS current 1106 DESCRIPTION 1107 "The subnet mask (DHCP option 1) provided to the client 1108 offered 1109 this address. The subnet, resulting from logically ANDing 1110 the 1111 subnet mask with the entry's IP address, must be configured 1112 on 1113 this server and appear as a row in the dhcpSubnetTable." 1114 ::= { serverAddressEntry 2 } 1116 serverAddressRange OBJECT-TYPE 1117 SYNTAX IpAddress 1118 MAX-ACCESS read-only 1119 STATUS current 1120 DESCRIPTION 1121 "The starting IP address (serverRangeStart object) of the 1122 range 1123 to which this address belongs. If the address does not fall 1124 into one of the configured ranges (e.g., a statically 1125 configured address on a subnet) the range may be 0.0.0.0." 1126 ::= { serverAddressEntry 3 } 1128 serverAddressType OBJECT-TYPE 1129 SYNTAX INTEGER { 1130 static(1), 1131 dynamic(2), 1132 configuration-reserved(3), 1133 server-reserved(4) 1134 } 1135 MAX-ACCESS read-only 1136 STATUS current 1137 DESCRIPTION 1138 "The type of this address." 1139 ::= { serverAddressEntry 4 } 1141 serverAddressTimeRemaining OBJECT-TYPE 1142 SYNTAX Unsigned32 1143 MAX-ACCESS read-only 1144 STATUS current 1145 DESCRIPTION 1146 "The number of seconds until the lease expires. A value of 1147 4294967295 (i.e., 0xFFFFFFFF) should be used for leases that 1148 have a lease time which is 'infinite' and for BOOTP leases." 1149 ::= { serverAddressEntry 5 } 1151 serverAddressAllowedProtocol OBJECT-TYPE 1152 SYNTAX INTEGER { 1153 none(1), 1154 bootp(2), 1155 dhcp(3), 1156 bootp-or-dhcp(4) 1157 } 1158 MAX-ACCESS read-only 1159 STATUS current 1160 DESCRIPTION 1161 "The type of protocol that is allowed to be used to serve 1162 this 1163 address. A type of none(1) indicates that the address is not 1164 available to be served (e.g., a reserved address)." 1165 ::= { serverAddressEntry 6 } 1167 serverAddressServedProtocol OBJECT-TYPE 1168 SYNTAX INTEGER { 1169 none(1), 1170 bootp(2), 1171 dhcp(3) 1172 } 1173 MAX-ACCESS read-only 1174 STATUS current 1175 DESCRIPTION 1176 "The type of protocol that was used when this address was 1177 assigned. This object will have the value of none(1) if the 1178 address has not been served." 1179 ::= { serverAddressEntry 7 } 1181 serverAddressHardwareAddress OBJECT-TYPE 1182 SYNTAX PhysicalAddress 1183 MAX-ACCESS read-only 1184 STATUS current 1185 DESCRIPTION 1186 "The hardware type and hardware address of the client that 1187 has 1188 been assigned this lease. The first octet of this object 1189 contains the hardware type from the 'htype' field of the 1190 BOOTP 1191 packet and the remaining octets contain the hardware address 1192 from the 'chaddr' field of the BOOTP packet. This object may 1193 be empty if the address has not been previously served." 1194 ::= { serverAddressEntry 8 } 1196 serverAddressClientId OBJECT-TYPE 1197 SYNTAX OCTET STRING (SIZE (0..255)) 1198 MAX-ACCESS read-only 1199 STATUS current 1200 DESCRIPTION 1201 "The client-id of the client that has been assigned this 1202 lease. 1203 The client-id is the value specified in option 61 (client-id 1204 option) when the lease was assigned. This object may be 1205 empty 1206 if the lease has not been previously assigned or if the 1207 client- 1208 id option was not specified when the address was assigned." 1209 ::= { serverAddressEntry 9 } 1211 serverAddressHostName OBJECT-TYPE 1212 SYNTAX DisplayString (SIZE (0..255)) 1213 MAX-ACCESS read-only 1214 STATUS current 1215 DESCRIPTION 1216 "The host name (DHCP option 12) the client is configured to 1217 use, 1218 or if no host name was configured then the host name that the 1219 client supplied when requesting an address. While this 1220 object 1221 has a maximum size of 255 octets, a Fully-Qualified Domain 1222 Name 1223 (FQDN) consisting of a Host Name part and a Domain Name part 1224 is 1225 currently limited to 255 octets. Therefore, the sum of the 1226 string lengths for this object and the 1227 serverAddressDomainName 1228 must, in practice, be less than 256 octets." 1229 ::= { serverAddressEntry 10 } 1231 serverAddressDomainName OBJECT-TYPE 1232 SYNTAX DisplayString (SIZE (0..255)) 1233 MAX-ACCESS read-only 1234 STATUS current 1235 DESCRIPTION 1236 "The domain name (DHCP option 15) assigned to the client. 1237 While 1238 this object has a maximum size of 255 octets, a Fully- 1239 Qualified 1240 Domain Name (FQDN) consisting of a Host Name part and a 1241 Domain 1242 Name part is currently limited to 255 octets, less the 1243 separator 1244 ('.') character. Therefore, the sum of the string 1245 lengths for this object and the serverAddressHostName must, 1246 in practice, be less than 256 octets." 1247 ::= { serverAddressEntry 11 } 1249 serverClientTable OBJECT-TYPE 1250 SYNTAX SEQUENCE OF ServerClientEntry 1251 MAX-ACCESS not-accessible 1252 STATUS current 1253 DESCRIPTION 1254 "A list of clients that are known by this server. Details 1255 about 1256 the clients may be found by indexing into the 1257 serverAddressTable 1258 using the serverClientAddress object. This table is indexed 1259 first by the physical address of the client and then by the 1260 subnet 1261 address on which the client resides. The subnet is included 1262 as 1263 an index since the physical address is only guaranteed to be 1264 unique 1265 within a subnet (i.e., a physical address is not globally 1266 unique)." 1267 ::= { clientConfiguration 1 } 1269 serverClientEntry OBJECT-TYPE 1270 SYNTAX ServerClientEntry 1271 MAX-ACCESS not-accessible 1272 STATUS current 1273 INDEX { 1274 serverClientHardwareAddress, 1275 serverClientSubnetMask 1276 } 1277 DESCRIPTION 1278 "A logical row in the serverClientTable. An entry in this 1279 table 1280 may be a client that requested an address but was refused 1281 (e.g., not authorized). Servers MAY track these types of 1282 clients if desired and may choose to remove such client 1283 entries 1284 using a server defined algorithm. As an example, a server 1285 may 1286 choose to keep client request that does not map to an address 1287 for a one hour time period before removing that entry from 1288 this 1289 table." 1290 ::= { serverClientTable 1 } 1291 ServerClientEntry ::= SEQUENCE { 1292 serverClientHardwareAddress PhsicalAddress 1293 serverClientSubnetMask IpAddress, 1294 serverClientAddress IpAddress, 1295 serverClientLastRequestTime DateAndTime, 1296 serverClientLastRequestType INTEGER, 1297 serverClientLastResponseType INTEGER 1298 } 1300 serverClientHardwareAddress OBJECT-TYPE 1301 SYNTAX PhysicalAddress 1302 MAX-ACCESS not-accessible 1303 STATUS current 1304 DESCRIPTION 1305 "The hardware type and hardware address of the client that 1306 has 1307 been assigned this lease. The first octet of this object 1308 contains the hardware type from the 'htype' field of the 1309 BOOTP 1310 packet and the remaining octets contain the hardware address 1311 from the 'chaddr' field of the BOOTP packet. This value of 1312 this object MUST NOT be zero length." 1313 ::= { serverClientEntry 1 } 1315 serverClientSubnetMask OBJECT-TYPE 1316 SYNTAX IpAddress 1317 MAX-ACCESS not-accessible 1318 STATUS current 1319 DESCRIPTION 1320 "The subnet mask (DHCP option 1) applied to 1321 serverClientAddress." 1322 ::= { serverClientEntry 2 } 1324 serverClientAddress OBJECT-TYPE 1325 SYNTAX IpAddress 1326 MAX-ACCESS read-only 1327 STATUS current 1328 DESCRIPTION 1329 "The IP address of the entry. May be used to index into the 1330 serverAddressTable. May be 0.0.0.0 if an address is not 1331 associated with this client." 1332 ::= { serverClientEntry 3 } 1334 serverClientLastRequestTime OBJECT-TYPE 1335 SYNTAX DateAndTime 1336 MAX-ACCESS read-only 1337 STATUS current 1338 DESCRIPTION 1339 "The time when the last request was received." 1340 ::= { serverClientEntry 4 } 1342 serverClientLastRequestType OBJECT-TYPE 1343 SYNTAX INTEGER { 1344 dhcpdiscover(1), 1345 bootp(2), 1346 dhcprequest(3), 1347 dhcpdecline(4), 1348 unknown(5), 1349 dhcprelease(7), 1350 dhcpinform(8) 1351 } 1352 MAX-ACCESS read-only 1353 STATUS current 1354 DESCRIPTION 1355 "The type of the last request that was received for this 1356 client." 1357 ::= { serverClientEntry 5 } 1359 serverClientLastResponseType OBJECT-TYPE 1360 SYNTAX INTEGER { 1361 bootp(1), 1362 dhcpoffer(2), 1363 unknown(3), 1364 dhcpack(5), 1365 dhcpnak(6) 1366 } 1367 MAX-ACCESS read-only 1368 STATUS current 1369 DESCRIPTION 1370 "The type of the last response that was sent to this client." 1371 ::= { serverClientEntry 6 } 1373 -- serverNotifyObjects: Objects which are used only in 1374 notifications 1376 serverNotifyDuplicateIPAddress OBJECT-TYPE # /*new*/ 1377 SYNTAX IpAddress 1378 MAX-ACCESS accessible-for-notify 1379 STATUS current 1380 DESCRIPTION 1381 "The IP address which was found to be a duplicate." 1382 ::= { serverNotifyObjects 1 } 1384 serverNotifyMACAddress OBJECT-TYPE # /*new*/ 1385 SYNTAX PhysicalAddress 1386 MAX-ACCESS accessible-for-notify 1387 STATUS current 1388 DESCRIPTION 1389 "The offending MAC address which caused a duplicate IP 1390 address to be detected." 1391 ::= { serverNotifyObjects 2 } 1393 serverNotifyServer OBJECT-TYPE # /*new*/ 1394 SYNTAX IpAddress 1395 MAX-ACCESS accessible-for-notify 1396 STATUS current 1397 DESCRIPTION 1398 "The IP Address of a server with which the DHCP server 1399 is attempting to communicate." 1400 ::= { serverNotifyObjects 3 } 1402 serverNotifyDuplicateIPAddressDetectedBy OBJECT-TYPE # /*new*/ 1403 SYNTAX INTEGER {dhcpClient(1), dhcpServer(2)} 1404 MAX-ACCESS accessible-for-notify 1405 STATUS current 1406 DESCRIPTION 1407 "For a serverDuplicateAddress notification, this 1408 object indicates whether the client or server detected 1409 the condition. DHCP servers detect a duplicate address 1410 by an unexpected reply to an ICMPECHOREQUEST (��ping��) 1411 message, while DHCP clients detect duplicates by an 1412 unexpected reply to a gratuitous ARP message, and report 1413 this condition to a DHCP server through a DHCPDECLINE 1414 message." 1415 ::= { serverNotifyObjects 5 } 1417 serverNotifyContestedIpAddress OBJECT-TYPE # /*new*/ 1418 SYNTAX IpAddress 1419 MAX-ACCESS accessible-for-notify 1420 STATUS current 1421 DESCRIPTION 1422 "The IP address for which ownership is claimed by two or 1423 more DHCP servers." 1424 ::= { serverNotifyObjects 6 } 1426 -- Notifications 1428 dhcpServerMIBNotificationPrefix OBJECT IDENTIFIER # /*new*/ 1429 ::= { dhcpServerMIB 2 } # /*renamed*/ 1430 dhcpServerMIBNotifications OBJECT IDENTIFIER # /*new*/ 1431 ::= { dhcpServerMIBNotificationPrefix 0 } 1433 serverFreeAddressLow NOTIFICATION-TYPE # /*new*/ 1434 OBJECTS { 1435 serverSharedNetworkFreeAddressLowThreshold, 1436 serverSharedNetworkFreeAddressValue, 1437 serverSharedNetworkFreeAddressUnits 1438 } 1439 STATUS current 1440 DESCRIPTION 1441 "This notification signifies that the number of available IP 1442 addresses for a particular shared network has fallen below 1443 the 1444 value of serverSharedNetworkFreeAddressLowThreshold for that 1445 shared 1446 network." 1447 ::= { dhcpServerMIBNotifications 1 } 1449 serverFreeAddressHigh NOTIFICATION-TYPE # /*new*/ 1450 OBJECTS { 1451 serverSharedNetworkFreeAddressHighThreshold, 1452 serverSharedNetworkFreeAddressValue, 1453 serverSharedNetworkFreeAddressUnits 1454 } 1455 STATUS current 1456 DESCRIPTION 1457 "This notification signifies that the number of available IP 1458 addresses for a particular shared network has risen above the 1459 value of serverSharedNetworkFreeAddressHighThreshold for that 1460 shared network." 1461 ::= { dhcpServerMIBNotifications 2 } 1463 serverServerStart NOTIFICATION-TYPE # /*new*/ 1464 OBJECTS { serverNotifyServerType } 1465 STATUS current 1466 DESCRIPTION 1467 "This notification signifies that the server of the specified 1468 type has started on the host from which this notification has 1469 been sent." 1470 ::= { dhcpServerMIBNotifications 3 } 1472 serverServerStop NOTIFICATION-TYPE # /*new*/ 1473 OBJECTS { serverNotifyServerType } 1474 STATUS current 1475 DESCRIPTION 1476 "This notification signifies that the server of the specified 1477 type has stopped normally on the host from which this 1478 notification has been sent." 1479 ::= { dhcpServerMIBNotifications 4 } 1481 serverDuplicateAddress NOTIFICATION-TYPE # /*new*/ 1482 OBJECTS { 1483 serverNotifyDuplicateIPAddress, 1484 serverNotifyMACAddress, 1485 serverNotifyDuplicateIPAddressDetectedBy 1486 } 1487 STATUS current 1488 DESCRIPTION 1489 "This notification signifies that a duplicate IP address has 1490 been detected. The DHCP server can detect this condition 1491 through the ping-before-offer mechanism. Alternatively, the 1492 client may have sent a DHCPDECLINE back to the server; this 1493 is 1494 assumed to be the result of the client detecting that the 1495 address was in use. In either case, the DHCP server marks 1496 the 1497 IP address as unavailable for leasing to clients. The 1498 serverNotifyDuplicateIPAddressDetectedBy object indicates 1499 whether the client or server detected this condition." 1500 ::= { dhcpServerMIBNotifications 7 } 1502 -- Conformance 1504 dhcpServerMIBConformance OBJECT-IDENTITY # /*renamed*/ 1505 STATUS current 1506 DESCRIPTION 1507 "DHCP Server MIB objects are all defined in this branch." 1508 ::= { dhcpServerMIB 3 } # /*renamed*/ 1510 dhcpServerMIBCompliances OBJECT IDENTIFIER 1511 ::= { dhcpServerMIBConformance 1 } # /*renamed*/ 1513 dhcpServerMIBGroups OBJECT IDENTIFIER 1514 ::= { dhcpServerMIBConformance 2 } # /*renamed*/ 1515 -- Compliance groups 1517 dhcpServerMIBCompliance MODULE-COMPLIANCE 1518 MODULE -- this module 1519 MANDATORY-GROUPS { 1520 serverSystemGroup, 1521 bootpCountersGroup, 1522 dhcpCountersGroup, 1523 bootpStatisticsGroup, 1524 dhcpStatisticsGroup, 1525 serverConfigurationGroup, 1526 serverClientsGroup 1527 } 1528 STATUS current 1529 DESCRIPTION 1530 "Describes the requirements for conformance to the DCHP 1531 Server MIB" 1532 ::= { dhcpServerMIBCompliances 1 } 1534 serverSystemGroup OBJECT-GROUP 1535 OBJECTS { 1536 serverSystemDescr, 1537 serverSystemObjectID 1538 } 1539 STATUS current 1540 DESCRIPTION 1541 "Objects belonging to the serverSystemGroup." 1542 ::= { dhcpServerMIBGroups 1 } 1544 bootpCountersGroup OBJECT-GROUP 1545 OBJECTS { 1546 bootpCountRequests, 1547 bootpCountInvalids, 1548 bootpCountReplies, 1549 bootpCountDroppedUnknownClients, 1550 bootpCountDroppedNotServingSubnet 1551 } 1552 STATUS current 1553 DESCRIPTION 1554 "Objects belonging to the bootpBountersGroup." 1555 ::= { dhcpServerMIBGroups 2 } 1557 dhcpCountersGroup OBJECT-GROUP 1558 OBJECTS { 1559 dhcpCountDiscovers, 1560 dhcpCountRequests, 1561 dhcpCountReleases, 1562 dhcpCountDeclines, 1563 dhcpCountInforms, 1564 dhcpCountInvalids, 1565 dhcpCountOffers, 1566 dhcpCountAcks, 1567 dhcpCountNacks, 1568 dhcpCountDroppedUnknownClient, 1569 dhcpCountDroppedNotServingSubnet 1570 } 1571 STATUS current 1572 DESCRIPTION 1573 "Objects belonging to the dhcpCountersGroup." 1574 ::= { dhcpServerMIBGroups 3 } 1576 bootpStatisticsGroup OBJECT-GROUP 1577 OBJECTS { 1578 bootpStatMinArrivalInterval, 1579 bootpStatMaxArrivalInterval, 1580 bootpStatLastArrivalTime, 1581 bootpStatSunSquaresArrivalTime, 1582 bootpStatMinResponseTime, 1583 bootpStatMaxResponseTime, 1584 bootpStatSumReponseTime, 1585 bootpStatSumSquaresResponseTime 1586 } 1587 STATUS current 1588 DESCRIPTION 1589 "Objects belonging to the bootpStatisticsGroup." 1590 ::= { dhcpServerMIBGroups 4 } 1592 dhcpStatisticsGroup OBJECT-GROUP 1593 OBJECTS { 1594 dhcpStatMinArrivalInterval, 1595 dhcpStatMaxArrivalInterval, 1596 dhcpStatLastArrivalTime, 1597 dhcpStatSumSquaresArrivalTime, 1598 dhcpStatMinResponseTime, 1599 dhcpStatMaxResponseTime, 1600 dhcpStatSumResponseTime, 1601 dhcpStatSumSquaresResponseTime 1602 } 1603 STATUS current 1604 DESCRIPTION 1605 "Objects belonging to the dhcpStatisticsGroup." 1606 ::= { dhcpServerMIBGroups 5 } 1608 serverConfigurationGroup OBJECT-GROUP 1609 OBJECTS { 1610 serverSubnet, 1611 serverSubnetMask, 1612 serverSubnetSharedNet, 1613 serverRangeStart, 1614 serverRangeEnd, 1615 serverRangeSubnet, 1616 serverRangeInUse, 1617 serverRangeOutstandingOffers, 1618 serverAddress, 1619 serverAddressSubnet, 1620 -- serverAddressRange, # /*duplicate*/ 1621 serverAddressRange, 1622 serverAddressType, 1623 serverAddressTimeRemaining, 1624 serverAddressAllowedProtocol, 1625 serverAddressServedProtocol, 1626 serverAddressHardwareAddress, # /*renamed*/ 1627 serverAddressClientId, 1628 serverAddressHostName, 1629 serverAddressDomainName 1630 } 1631 STATUS current 1632 DESCRIPTION 1633 "Objects belonging to the serverConfigurationGroup." 1634 ::= { dhcpServerMIBGroups 6 } 1636 serverClientsGroup OBJECT-GROUP 1637 OBJECTS { 1638 serverClientHardwareAddress, # /*renamed*/ 1639 serverClientSubnet, 1640 serverClientAddress, 1641 serverClientLastRequestTime, 1642 serverClientLastRequestType, 1643 serverClientLastResponseType 1644 } 1645 STATUS current 1646 DESCRIPTION 1647 "Objects belonging to the serverClientsGroup." 1648 ::= { dhcpServerMIBGroups 7 } 1650 serverSharedNetworkObjectsGroup OBJECT-GROUP # /*new*/ 1651 OBJECTS { 1652 serverSharedNetworkFreeAddrLowThreshold, 1653 serverSharedNetworkFreeAddrHighThreshold, 1654 serverSharedNetworkFreeAddrValue, 1655 serverSharedNetworkFreeAddrUnits 1656 } 1657 STATUS current 1658 DESCRIPTION 1659 "DHCP Server MIB objects used in shared networks." 1660 ::= { dhcpServerMIBGroups 8 } 1662 serverNotifyObjectsGroup OBJECT-GROUP # /*new*/ 1663 OBJECTS { 1664 serverNotifyDuplicateIPAddress, 1665 serverNotifyMACAddress, 1666 serverNotifyDuplicateIPAddressDetectedBy, 1667 serverNotifyServer, 1668 serverNotifyServerType, 1669 serverNotifyContestedIpAddress 1670 } 1671 STATUS current 1672 DESCRIPTION 1673 "DHCP Server MIB objects used in notifications." 1674 ::= { dhcpServerMIBGroups 9 } 1676 serverNotifyicationsGroup NOTIFICATION-GROUP # /*new*/ 1677 NOTIFICATIONS { 1678 serverFreeAddressLow, 1679 serverFreeAddressHigh, 1680 serverServerStart, 1681 serverServerStop, 1682 serverDNSQueueTooBig, 1683 serverOtherServerNotResponding, 1684 serverDuplicateAddress, 1685 serverAddressConflict, 1686 serverOtherServerResponding, 1687 serverFailoverConfigMismatch 1688 } 1689 STATUS current 1690 DESCRIPTION 1691 "Notifyications which are implemented by the DHCP Server 1692 agent." 1693 ::= { dhcpServerMIBGroups 10 } 1695 END 1697 4. Intellectual Property 1699 The IETF takes no position regarding the validity or scope of any 1700 intellectual property or other rights that might be claimed to 1701 pertain to the implementation or use of the technology described in 1702 this document or the extent to which any license under such rights 1703 might or might not be available; neither does it represent that it 1704 has made any effort to identify any such rights. Information on the 1705 IETF's procedures with respect to rights in standards-track and 1706 standards-related documentation can be found in BCP-11. 1708 Copies of claims of rights made available for publication and any 1709 assurances of licenses to be made available, or the result of an 1710 attempt made to obtain a general license or permission for the use 1711 of such proprietary rights by implementers or users of this 1712 specification can be obtained from the IETF Secretariat. 1714 The IETF invites any interested party to bring to its attention any 1715 copyrights, patents or patent applications, or other proprietary 1716 rights which may cover technology that may be required to practice 1717 this standard. Please address the information to the IETF Executive 1718 Director. 1720 5. Notes 1722 This section will be removed when this memo is published as an RFC. 1724 5.1. Issues 1726 o Ryan Troll proposed four or five traps that Nathan Lane 1727 enthusiastically supported. If traps are to be included, that 1728 should be done soon. 1730 o what is the best way to reset statistics? 1732 o do we need to reset them individually, as groups, or as a 1733 whole? 1735 o we need a timestamp of when they were reset 1736 o should all invalid packets received be collapsed into a single 1737 counter for each protocol type (BOOTP and DHCP), or broken out by 1738 type of error? 1740 o if counted by error type, what is the set of errors that we 1741 should use? 1743 o perhaps we should develop a common vocabulary (and glossary) for 1744 terms such as "abandoned" so that the objects defined and their 1745 descriptions aren't misinterpreted by implementers. 1747 o do we need to be concerned about the potential size of some of 1748 the configuration data tables? Wouldn't it be better to maintain 1749 counters for things like number of leases assigned than to expect 1750 the management station to calculate the values by reading very 1751 large tables to count the number of leases in that state? 1753 5.2. Changes from Prior Drafts 1755 The "-01" revision removed the Server Identity section from the 1756 proposed MIB, relying on the Application MIB to accomplish the same 1757 result. 1759 The min/max (inter-arrival and response times) were changed to 1760 Unsigned32 so that they could be reset. Sum of inter-arrival and 1761 response times was deleted since the management station can easily 1762 calculate them. The last arrival time objects were added. 1764 The "-03" version incorporated the proposed configuration tables 1765 suggested by Ryan Troll of CMU. The "01" revision of this version 1766 added three elements to the server subnet table, number of 1767 outstanding offers, number of addresses in use, and number of free 1768 addresses, as well as changing subnet address to subnet mask in the 1769 server address, server range, and client address tables. The client 1770 MAC address element of the client address table was separated into a 1771 1-octet hardware type and a 16-octet client hardware address, 1772 causing a renumbering of the elements in this table. Clarifying 1773 text was added to several element descriptions, and limitations on 1774 values, and the reported value when the server did not support the 1775 data element were also specified. 1777 The "-03b" version incorporated an address change for one of the 1778 authors, revisions to standard text required by the IETF, and some 1779 editorial clarifications. 1781 The "-04" version changed the maximum size of the object 1782 serverAddressHostName from 64 to 255 octets, and added clarifying 1783 text to both that object and to serverAddressDomainName regarding 1784 the practical values for the length of both objects. 1786 The "-05" version added a number of traps suggested by Kim Kinnear, 1787 made a number of small renaming and renumbering changes (annotated 1788 in the MIB itself) and added the Shared Network concept to describe 1789 shared network segments: several subnetworks that coexist on one 1790 medium. This was done partly because the Address Range concept did 1791 not adequately describe the "scoping" of address pools as is common 1792 with many current server implementations. Also updated the author�s 1793 address and contact information, and incorporated a number of 1794 corrections and amplifications suggested by various readers of the 1795 ��-04� draft, including a missing OID for serverNotifyObjects and a 1796 syntax error for PhysicalAddress. 1798 The "-05" draft closes several issues raised during peer review 1799 discussions on the DHC mailing list, incorporates several new 1800 elements, and makes a number of small revisions based on comments 1801 from reviewers. 1803 6. Acknowledgements 1805 This document is the result of work undertaken the by DHCP working 1806 group. The authors would like to particularly acknowledge the 1807 development team from Carnegie-Mellon University whose work creating 1808 a private MIB for their DHCP server inspired the development of this 1809 proposal. In particular, many thanks to Ryan Troll who provided a 1810 great deal of useful feedback during the development of this MIB. 1812 Thanks to Kim Kinnear, Yannick Koehler, and Nathan Lane for their 1813 review, comments, and contributions. 1815 7. Security Considerations 1817 There are a number of management objects defined in this MIB that 1818 have a MAX-ACCESS clause of read-write and/or read-create. Such 1819 objects may be considered sensitive or vulnerable in some 1820 environments. The support for SET operations in a non-secure 1821 environment without proper protection can have a negative effect on 1822 network operations. 1824 SNMPv1 by itself is not a secure environment. Even if the network 1825 itself is secure (for example by using IPSec), even then, there is 1826 no control as to who on the secure network is allowed to access and 1827 GET/SET (read/change/create/delete) the objects in this MIB. 1829 It is recommended that the implementers consider the security 1830 features as provided by the SNMPv3 framework. Specifically, the use 1831 of the User-based Security Model RFC 2274 [RFC2274] and the View- 1832 based Access Control Model RFC 2275 [RFC2275] is recommended. 1834 It is then a customer/user responsibility to ensure that the SNMP 1835 entity giving access to an instance of this MIB, is properly 1836 configured to give access to the objects only to those principals 1837 (users) that have legitimate rights to indeed GET or SET 1838 (change/create/delete) them. 1840 8. References 1842 [DEN] Directory Enabled Networks Working Group, 1843 http://www.universe.digex.net/~murchiso/den. 1845 [RFC1902] Case, J., McCloghrie, K., Rose, M., and S. Waldbusser, 1846 "Structure of Management Information for Version 2 of the 1847 Simple Network Management Protocol (SNMPv2)", RFC 1902, January 1848 1996. 1850 [RFC1903] Case, J., McCloghrie, K., Rose, M., and S. Waldbusser, 1851 "Textual Conventions for Version 2 of the Simple Network 1852 Management Protocol (SNMPv2)", RFC 1903, January 1996. 1854 [RFC1904] Case, J., McCloghrie, K., Rose, M., and S. Waldbusser, 1855 "Conformance Statements for Version 2 of the Simple Network 1856 Management Protocol (SNMPv2)", RFC 1904, January 1996. 1858 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 1859 Requirement Levels", RFC 2119, BCP 14, March 1997. 1861 [RFC2131] Droms, R., "Dynamic Host Configuration Protocol", RFC 1862 2131, March 1997. 1864 [RFC2132] Alexander, S. and Droms, R., "DHCP Options and BOOTP 1865 Vendor Extensions", RFC 2132, March 1997. 1867 [RFC2287] Krupczak, C. and Saperia, J., "Definitions of System- 1868 Level Managed Objects for Applications", RFC 2287, February 1869 1998. 1871 9. Editors' Addresses 1873 Richard Barr Hibbs 1874 UltraDNS Corporation 1875 800 North San Mateo Drive 1876 San Mateo, CA 94401-2261 1877 USA 1879 Phone: +1 650-227-2678 1880 Fax: +1 650-227-2662 1881 Email: rbhibbs@ultraDNS.com 1883 Glenn Waters 1884 Nortel Networks 1885 310-875 Carling Avenue, 1886 Ottawa, Ontario K1S 5P1 1887 Canada 1889 Phone: +1 613-765-0249 1890 Email: gww@nortelnetworks.com 1892 10. Full Copyright Statement 1894 Copyright (C) The Internet Society (2000). All Rights Reserved. 1896 This document and translations of it may be copied and furnished to 1897 others, and derivative works that comment on or otherwise explain it 1898 or assist in its implementation may be prepared, copied, published 1899 and distributed, in whole or in part, without restriction of any 1900 kind, provided that the above copyright notice and this paragraph 1901 are included on all such copies and derivative works. However, this 1902 document itself may not be modified in any way, such as by removing 1903 the copyright notice or references to the Internet Society or other 1904 Internet organizations, except as needed for the purpose of 1905 developing Internet standards in which case the procedures for 1906 copyrights defined in the Internet Standards process must be 1907 followed, or as required to translate it into languages other than 1908 English. 1910 The limited permissions granted above are perpetual and will not be 1911 revoked by the Internet Society or its successors or assigns. 1913 This document and the information contained herein is provided on an 1914 "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING 1915 TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING 1916 BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION 1917 HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF 1918 MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.