draft-ietf-dhc-server-mib-07.txt   draft-ietf-dhc-server-mib-08.txt 
Network Working Group Barr Hibbs Network Working Group Barr Hibbs
INTERNET-DRAFT (no affiliation) INTERNET-DRAFT (no affiliation)
Category: Standards Track Glenn Waters Category: Standards Track Glenn Waters
Nortel Networks Nortel Networks
November 2002 March 2003
Dynamic Host Configuration Protocol (DHCP) Server MIB Dynamic Host Configuration Protocol for IPv4 (DHCPv4) Server MIB
<draft-ietf-dhc-server-mib-07.txt> <draft-ietf-dhc-server-mib-08.txt>
Saved Monday, November 04, 2002, 4:29:26 AM Saved Sunday, March 02, 2003, 10:42:16 AM
Status of this Memo Status of this Memo
This document is an Internet-Draft and is in full conformance with This document is an Internet-Draft and is in full conformance with
all provisions of Section 10 of RFC2026. all provisions of Section 10 of RFC2026.
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that Task Force (IETF), its areas, and its working groups. Note that
other groups may also distribute working documents as Internet- other groups may also distribute working documents as Internet-
Drafts. Drafts.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or made obsolete by other documents at
time. It is inappropriate to use Internet-Drafts as reference any time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
The list of current Internet-Drafts can be accessed at The list of current Internet-Drafts can be accessed at
http://www.ietf.org/1id-abstracts.html. http://www.ietf.org/1id-abstracts.html.
The list of Internet-Draft Shadow Directories can be accessed at The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html. http://www.ietf.org/shadow.html.
Copyright Notice Copyright Notice
Copyright (C) 2002, The Internet Society. All Rights Reserved. Copyright (C), 2003, The Internet Society. All Rights Reserved.
Abstract Abstract
This memo defines an experimental portion of the Management This memo defines an experimental portion of the Management
Information Base (MIB) for use with network management protocols in Information Base (MIB) for use with network management protocols in
the Internet Community. In particular, it defines objects used for the Internet Community. In particular, it defines objects used for
the management of Dynamic Host Configuration Protocol (DHCP) and the management of Dynamic Host Configuration Protocol for IPv4
Bootstrap Protocol (BOOTP) servers. (DHCPv4) and Bootstrap Protocol (BOOTP) servers.
Table of Contents Table of Contents
1. Introduction...................................................2 1. Introduction...................................................2
2. Overview.......................................................3 2. The Internet-Standard Management Framework.....................3
2.1. Relationship to Other MIBs.................................5 3. Overview.......................................................3
2.1.1. DHCP MIB Extensions...................................5 3.1. Relationship to Other MIBs.................................4
2.1.2. Host System MIB Extensions............................5 3.1.1. DHCP MIB Extensions...................................4
2.1.3. DHCPv6 Server MIB Extensions..........................5 3.1.2. Host System MIB Extensions............................4
2.1.4. DHCP Client MIB Extensions............................6 3.1.3. DHCP Client MIB Extensions............................4
2.1.5. DHCP Relay Agent MIB Extensions.......................6 3.1.4. DHCP Relay Agent MIB Extensions.......................5
2.2. Textual Conventions Introduced in this MIB.................6 3.1.5. DHCPv6 MIB Extensions.................................5
2.2.1. DhcpTimeInterval......................................6 3.2. Textual Conventions Introduced in this MIB.................5
2.2.2. HardwareAddressType...................................6 3.2.1. DhcpTimeInterval......................................5
2.2.3. HardwareAddressLength.................................6 3.2.2. DhcpPhysicalAddress...................................5
2.2.4. MacAddress............................................6 3.3. BOOTP and DHCP Counter Groups..............................5
2.2.5. PhysicalAddress.......................................6 3.4. BOOTP and DHCP Optional Statistics Group...................6
2.2.6. DhcpLabel.............................................7 3.5. Response Times and ICMP Echo...............................8
2.3. BOOTP and DHCP Counter Groups..............................7 4. Definitions....................................................9
2.4. BOOTP and DHCP Optional Statistics Group...................7 5. Intellectual Property.........................................44
2.5. Response Times and ICMP Echo...............................9 6. Notes.........................................................44
3. Definitions....................................................9 6.1. Issues....................................................44
4. Intellectual Property.........................................42 6.2. Changes from Prior Drafts.................................45
5. Notes.........................................................42 7. Acknowledgements..............................................47
5.1. Issues....................................................43 8. IANA Considerations...........................................47
5.2. Changes from Prior Drafts.................................43 9. Security Considerations.......................................48
6. Acknowledgements..............................................45 10. References...................................................49
7. Security Considerations.......................................45 10.1. Normative References.....................................49
8. References....................................................46 10.2. Informative References...................................50
9. Editors' Addresses............................................48 11. Editors' Addresses...........................................50
10. Full Copyright Statement.....................................49 12. Full Copyright Statement.....................................50
1. Introduction 1. Introduction
This memo was produced by the DHCP Working Group and defines a This memo is a product of the DHCP Working Group and defines a
portion of the Management Information Base (MIB) for use with network portion of the Management Information Base (MIB) for use with network
management protocols in the Internet community. In particular, it management protocols in the Internet community. In particular, it
describes a set of extensions that DHCP and Bootstrap Protocol describes a set of extensions that DHCPv4 and Bootstrap Protocol
(BOOTP) servers implement. Many implementations support both DHCP (BOOTP) servers implement. Many implementations support both DHCPv4
and BOOTP within a single server and hence this memo describes the and BOOTP within a single server and hence this memo describes the
MIB for both DHCP and BOOTP servers. MIB for both DHCPv4 and BOOTP servers.
This memo does not cover DHCP/BOOTP client nor relay agent MIB This memo does not cover DHCPv4/BOOTP client nor relay agent MIB
extensions: these are possibly the subjects of future investigation extensions: these are possibly the subjects of future investigation
[see discussion in section 3.1.] Also excluded from this MIB [see discussion in section 3.1.] Also excluded from this MIB
extension in the interest of simplicity are DHCP Dynamic DNS extension in the interest of simplicity are DHCP Dynamic DNS
Updating, Failover, Authentication, and Load Balancing: these Updating, Failover, Authentication, and Load Balancing: these
functions and features could be subjects of future MIB extensions. functions and features could be subjects of future MIB extensions.
Provision is also made for Standards-Track additions to the DHCP Provision is also made for Standards-Track additions to the DHCP
Message Type (option 61.) Message Type (option 61.)
This memo is based on the Internet-standard Network Management This memo is based on the Internet-standard Network Management
Framework as defined by documents [RFC2578, RFC2579, RFC2580]. Framework as defined by documents [RFC2578, RFC2579, RFC2580].
Objects defined in this MIB allow access to and control of DHCP Objects defined in this MIB allow access to and control of DHCP
Server Software. Servers MAY also provide additional management Server Software. Servers MAY also provide additional management
capabilities through the use of the Applications MIB [RFC2287]. capabilities using the Applications MIB [RFC2287].
The key words "MUST," "MUST NOT," "REQUIRED," "SHALL," "SHALL NOT," The key words "MUST," "MUST NOT," "REQUIRED," "SHALL," "SHALL NOT,"
"SHOULD," "SHOULD NOT," "RECOMMENDED," "MAY," and "OPTIONAL" in this "SHOULD," "SHOULD NOT," "RECOMMENDED," "MAY," and "OPTIONAL" in this
document are to be interpreted as described in document [RFC2119]. document are to be interpreted as described in [RFC2119].
2. The SNMP Management Framework
The SNMP Management Framework presently consists of five major
components:
o An overall architecture, described in RFC 2571 [RFC2571].
o Mechanisms for describing and naming objects and events for the
purpose of management. The first version of this Structure of
Management Information (SMI) is called SMIv1 and described in STD
16, RFC 1155 [RFC1155], STD 16, RFC 1212 [RFC1212] and RFC 1215
[RFC1215]. The second version, called SMIv2, is described in STD
58, RFC 2578 [RFC2578], STD 58, RFC 2579 [RFC2579] and STD 58,
RFC 2580 [RFC2580].
o Message protocols for transferring management information. The
first version of the SNMP message protocol is called SNMPv1 and
described in STD 15, RFC 1157 [RFC1157]. A second version of the
SNMP message protocol, which is not an Internet standards track
protocol, is called SNMPv2c and described in RFC 1901 [RFC1901]
and RFC 1906 [RFC1906]. The third version of the message
protocol is called SNMPv3 and described in RFC 1906 [RFC1906],
RFC 2572 [RFC2572] and RFC 2574 [RFC2574].
o Protocol operations for accessing management information. The
first set of protocol operations and associated PDU formats is
described in STD 15, RFC 1157 [RFC1157]. A second set of
protocol operations and associated PDU formats is described in
RFC 1905 [RFC1905].
o A set of fundamental applications described in RFC 2573 [RFC2573]
and the view-based access control mechanism described in RFC 2575
[RFC2575].
A more detailed introduction to the current SNMP Management Framework
can be found in RFC 2570 [RFC2570].
Managed objects are accessed via a virtual information store, termed 2. The Internet-Standard Management Framework
the Management Information Base or MIB. Objects in the MIB are
defined using the mechanisms defined in the SMI.
This memo specifies a MIB module that is compliant to the SMIv2. A For a detailed overview of the documents that describe the current
MIB conforming to the SMIv1 can be produced through the appropriate Internet-Standard Management Framework, please refer to section 7 of
translations. The resulting translated MIB must be semantically RFC 3410 [RFC3410].Managed objects are accessed via a virtual
equivalent, except where objects or events are omitted because no information store, termed the Management Information Base or MIB.
translation is possible (use of Counter64). Some machine readable MIB objects are generally accessed through the Simple Network
information in SMIv2 will be converted into textual descriptions in Management Protocol (SNMP). Objects in the MIB are defined using the
SMIv1 during the translation process. However, this loss of machine mechanisms defined in the Structure of Management Information (SMI).
readable information is not considered to change the semantics of the This memo specifies a MIB module that is compliant to the SMIv2,
MIB. which is described in STD 58, [RFC2578], STD 58, [RFC2579] and STD
58, [RFC2580].
3. Overview 3. Overview
In the tradition of the Simple Network Management Protocol (SNMP) the In the tradition of the Simple Network Management Protocol (SNMP),
minimum number of objects possible are defined in this MIB, while the minimum number of objects possible is defined in this MIB, while
still providing as rich a set of management information as possible. still providing as rich a set of management information as possible.
An object is left out of this MIB when it can be derived from other An object is left out of this MIB when it can be derived from other
objects that are provided. Further to the tradition of the SNMP, objects that are provided. Further to the tradition of the SNMP,
computationally intense operations are left to the domain of the computationally intense operations are left to the domain of the
management station. Thus, this MIB provides a set of objects from management station. Thus, this MIB provides a set of objects from
which other management information may be derived. which other management information may be derived.
Provision for future extensions to cover DHCPv4 clients and relay
agents, and DHCPv6 extensions are implied by the top-level structure
illustrated in section 3.1.1.
The examples provided in sections 3.3 through 3.5 are not meant to be The examples provided in sections 3.3 through 3.5 are not meant to be
comprehensive but are illustrative of the potential uses of the comprehensive but are illustrative of the potential uses of the
objects defined by this MIB. objects defined by this MIB.
3.1. Relationship to Other MIBs 3.1. Relationship to Other MIBs
3.1.1. DHCP MIB Extensions 3.1.1. DHCP MIB Extensions
The DHCP MIB extensions will be the "dhcp" branch of the standard The DHCP MIB extensions will be the "dhcp" branch of the standard
MIB-2 tree, as illustrated by the following diagram: MIB-2 tree, as illustrated by the following diagram:
skipping to change at page 5, line 22 skipping to change at page 4, line 22
+ -- -- -- -+ + -- -- -- -+
| MIB-2 | | MIB-2 |
+ -- -+ -- -+ + -- -+ -- -+
| |
| |
+ -- -+ -- -+ + -- -+ -- -+
| dhcp | | dhcp |
+ -- -+ -- -+ + -- -+ -- -+
| |
| |
+ -- -- -- -- -- -- -- -+ -- -- -- + -- -- -- -- -+ -- -- -- -- +--------------+---------------+----------------+
-- -- -- -- -- -- -+
| | | | | | | |
+ -- -- -+ -- -- -+ + -- -- -+ -- -- + + -- -- -- -+ -- -- -- -- +-----+-----+ +-----+----+ +-------+-------+ +-----+-----+
+ + -- -- -- + -- -- -- +
| dhcp-v4 | | dhcp-v4 | | dhcp-v4 | | dhcp-v6 MIB | | dhcp-v4 | | dhcp-v4 | | dhcp-v4 | | dhcp-v6 MIB |
|Server MIB | |Client MIB| |Relay Agent MIB | | Extensions | |Server MIB | |Client MIB| |Relay Agent MIB | | Extensions |
|(this memo)| | (future) | | (future work) | | (future) | |(this memo)| | (future) | | (future work) | | (future) |
+ -- -- -- -- -- -+ + -- -- -- -- -- + + -- -- -- -- -- -- -- -- +-----------+ +----------+ +---------------+ +-----------+
+ + -- -- -- -- -- -- -+
The MIBs will share a common branching point, but are independently The DHCP MIBs will share a common branching point but will be
defined. independently defined by individual memos.
3.1.2. Host System MIB Extensions 3.1.2. Host System MIB Extensions
The Host System MIB [RFC1123] provides for information, command, and The Host System MIB [RFC1123] provides for information, command, and
control of the host computer system on which a DHCP server resides. control of the host computer system on which a DHCP server resides.
The DHCP Server MIB specifically does not include any objects that The DHCP Server MIB specifically does not include any objects that
may be accessible using the Host System MIB. may be accessible using the Host System MIB.
3.1.3. DHCPv6 Server MIB Extensions 3.1.3. DHCP Client MIB Extensions
When this set of MIB extensions is developed, it will share a common Development of this set of MIB extensions is a natural path given the
branch point in the MIB tree with the other DHCP MIB Extensions. increasing interest in desktop and client system management. It will
share a common branch point in the MIB tree with the other DHCP MIB
Extensions, and may use many of the same textual conventions.
3.1.4. DHCP Client MIB Extensions 3.1.4. DHCP Relay Agent MIB Extensions
If this set of MIB extensions is ever developed, it will share a If this set of MIB extensions is ever developed, it will share a
common branch point in the MIB tree with the other DHCP MIB common branch point in the MIB tree with the other DHCP MIB
Extensions, and will use many of the same textual conventions. Extensions, and will use many of the same textual conventions.
3.1.5. DHCP Relay Agent MIB Extensions 3.1.5. DHCPv6 MIB Extensions
If this set of MIB extensions is ever developed, it will share a If this set of MIB extensions is ever developed, it will share a
common branch point in the MIB tree with the other DHCP MIB common branch point in the MIB tree with the other DHCP MIB
Extensions, and will use many of the same textual conventions. Extensions, and will likely use very different textual conventions as
the protocol differs significantly from DHCPv4.
3.2. Textual Conventions Introduced in this MIB 3.2. Textual Conventions Introduced in this MIB
Several conceptual data types have been introduced as textual Several conceptual data types have been introduced as textual
conventions in this DHCP MIB document. These additions will conventions in this DHCP MIB document. These additions will
facilitate the common understanding of information used by the DHCP facilitate the common understanding of information used by the DHCP
server. No changes to the SMI or the SNMP are necessary to support server. No changes to the SMI or the SNMP are necessary to support
these conventions. these conventions.
3.2.1. DhcpTimeInterval 3.2.1. DhcpTimeInterval
This data type measures time intervals since the beginning of some This data type measures time intervals since the beginning of some
epoch in milliseconds. epoch, measured in milliseconds. DhcpTimeInterval is intended
exclusively for use in various statistics, such as in the subtrees
"bootpOptionalStatistics" and "dhcpv4OptionalStatistics."
3.2.2. HardwareAddressType 3.2.2. DhcpPhysicalAddress
This data type contains the type of hardware address represented by This data type contains the type of hardware address represented by
MacAddress, as defined for ARP messages. MacAddress, as defined for ARP messages.
3.2.3. HardwareAddressLength
The length in octets of MacAddress is contained in this type. The length in octets of MacAddress is contained in this type.
3.2.4. MacAddress
The actual layer 1 hardware address is contained in this data type. The actual layer 1 hardware address is contained in this data type.
3.2.5. PhysicalAddress
This data type combines the hardware type octet with the length and
hardware (NIC or MAC) address to produce a unique address type.
3.2.6. DhcpLabel
This data type contains labels used as identifiers by DHCP servers.
3.3. BOOTP and DHCP Counter Groups 3.3. BOOTP and DHCP Counter Groups
This section describes some of the management information that may be This section describes some of the management information that may be
derived from the objects provided in the counter groups. derived from the objects provided in the counter groups.
The total number of valid DHCP packets received by the server is The total number of valid DHCP packets received by the server is
computed as the sum of the dhcpCountDiscovers, dhcpCountRequests, computed as the sum of the "dhcpv4CountDiscovers,"
dhcpCountReleases, dhcpCountDeclines, dhcpCountInforms and "dhcpv4CountRequests," "dhcpv4CountReleases," "dhcpv4CountDeclines,"
dhcpCountLeaseQueries objects. The total number of valid packets "dhcpv4CountInforms," and "dhcpv4CountLeaseQueries objects." The
(BOOTP and DHCP) received is computed as the total number of valid total number of valid packets (BOOTP and DHCP) received is computed
DHCP packets plus the value of the bootpCountRequests object. The as the total number of valid DHCP packets plus the value of the
total number of packets received is computed as the total number of "bootpCountRequests" object. The total number of packets received is
valid packets plus the sum of bootpCountInvalids and computed as the total number of valid packets plus the sum of
dhcpCountInvalids. "bootpCountInvalids" and "dhcpv4CountInvalids."
Similar to the received computations, the total number of DHCP Similar to the received computations, the total number of DHCP
packets sent by the server is computed as the sum of the packets sent by the server is computed as the sum of the
dhcpCountOffers, dhcpCountAcks, dhcpCountNacks, "dhcpv4CountOffers," "dhcpv4CountAcks," "dhcpv4CountNacks,"
dhcpCountForcedRenews, dhcpCountKnowns, and dhcpCountUnknowns "dhcpv4CountForcedRenews," "dhcpv4CountKnowns,"
objects. The number of packets (BOOTP and DHCP) sent by the server "dhcpv4CountUnknowns," "dhcpv4CountActives," and
is computed as the total number of DHCP packets sent plus the value "dhcpv4CountUnimplemented" objects. The number of packets (BOOTP and
of the bootpCountReplies object. DHCP) sent by the server is computed as the total number of DHCP
packets sent plus the value of the "bootpCountReplies" object.
3.4. BOOTP and DHCP Optional Statistics Group 3.4. BOOTP and DHCP Optional Statistics Group
This section describes some of the management information that may be This section describes some of the management information that may be
derived from the objects provided in the optional statistics group. derived from the objects provided in the optional statistics group.
Given time 1 (t1) and time 2 (t2) greater than t1, the mean inter- Given time 1 (t1) and time 2 (t2) greater than t1, the mean inter-
arrival time of valid DHCP messages for the interval t1 to t2 can be arrival time of valid DHCP messages for the interval t1 to t2 can be
computed as (dhcpStatLastArrivalTime at t2 minus computed as (dhcpv4StatLastArrivalTime at t2 minus
dhcpStatLastArrivalTime at t1) divided by (valid DHCP received packet dhcpv4StatLastArrivalTime at t1) divided by (valid DHCP received
count at t2 minus valid DHCP received packet count at t1). packet count at t2 minus valid DHCP received packet count at t1).
Under the simplifying assumption that the capture of packet counts Under the simplifying assumption that the capture of packet counts
and times is discontinuous (that is, for the measurement interval the and times is discontinuous (that is, for the measurement interval the
captured data represents the complete set for the server) the captured data represents the complete set for the server) the
variance of the mean may be computed as variance of the mean may be computed as
(dhcpStatSumSquaresArrivalTime at t2 less (dhcpv4StatSumSquaresArrivalTime at t2 less
dhcpStatSumSquaresArrivalTime at t1) divided by (valid DHCP received dhcpv4StatSumSquaresArrivalTime at t1) divided by (valid DHCP
packet count at t2 less valid DHCP received packet count at t1). received packet count at t2 less valid DHCP received packet count at
Standard deviation of the mean is the square root of the variance. t1). Standard deviation of the mean is the square root of the
variance.
Calculation of statistics for message response time is entirely Calculation of statistics for message response time is entirely
similar to the calculations for inter-arrival time, except that the similar to the calculations for inter-arrival time, except that the
response time objects are used for the calculations. response time objects are used for the calculations.
Calculation of statistics for BOOTP is similar to the calculations Calculation of statistics for BOOTP is similar to the calculations
for DHCP, except that the similar objects from the for DHCP, except that the similar objects from the
bootpOptionalStatistics group are used instead of the objects from bootpOptionalStatistics group are used instead of the objects from
dhcpOptionalStatistics group.server Configuration Group dhcpv4OptionalStatistics group, server Configuration Group
The server configuration group contains objects that describe the The server configuration group contains objects that describe the
configuration information that is contained in the server. Some of configuration information that is contained in the server. Some of
the configuration information is static (e.g., a statically the configuration information is static (e.g., a statically
configured IP address) and some of the configuration is dynamic configured IP address) and some of the configuration is dynamic
(e.g., an assigned DHCP lease). The intent of the server (e.g., an assigned DHCP lease). The intent of the server
configuration group is to be able to read the server's configuration. configuration group is to be able to read the server's configuration.
Mechanisms outside of the SNMP are currently in use (e.g., vendor Mechanisms outside of the SNMP are currently in use (e.g., vendor
defined solutions) and are being standardized (e.g., the Directory defined solutions) and are being standardized (e.g., the Directory
Enabled Networks [DEN] initiative) to update a server's Enabled Networks [DEN] initiative) to update a server's
configuration. configuration.
The configuration information defines a minimal set of information The configuration information defines a minimal set of information
that most servers should be able to provide. Each row of the that most servers should be able to provide. Each row of the
serverSubnetTable lists the subnet, the subnet mask, and the subnet dhcpv4ServerSubnetTable lists the subnet, the subnet mask, and the
that is equivalent to this subnet. Equivalence is defined as more subnet that is equivalent to this subnet. Equivalence is defined as
than one subnet being present on the same network segment as some more than one subnet being present on the same network segment as
other subnet. some other subnet.
The serverRangeTable lists the start and end IP addresses of the The dhcpv4ServerRangeTable lists the start and end IP addresses of
ranges and the subnet of which the range is a member. The the ranges and the subnet of which the range is a member. The
serverRangeInUse object indicates the amount of the range that is dhcpv4ServerRangeInUse object indicates the amount of the range that
currently in use, either through dynamic allocation or being is currently in use, either through dynamic allocation or being
reserved. The range size can be computed by taking the difference of reserved. The range size can be computed by taking the difference of
the serverRangeStart and serverRangeEnd objects. the "dhcpv4ServerRangeStartAddress" and "dhcpv4ServerRangeEndAddress"
objects.
The serverAddressTable provides information about the static and The dhcpv4ServerAddressTable provides information about the static
dynamic addresses that the server contains in its configuration. and dynamic addresses that the server contains in its configuration.
Addresses may be: Addresses may be:
o Static, in which case they are predefined though the server's o Static, in which case they are predefined though the server's
configuration. Static addresses may or may not have been configuration. Static addresses may or may not have been
previously served by the server; previously served by the server;
o Dynamic, in which case the server has served the addresses and o Dynamic, in which case the server has served the addresses and
it is currently in active use by a host; it is currently in active use by a host;
o Expired, in which case the server had previously assigned for o Expired, in which case the server had previously assigned for
skipping to change at page 9, line 14 skipping to change at page 7, line 52
o Configuration-reserved, in which case the address is not o Configuration-reserved, in which case the address is not
available for the server to allocate to a client. A available for the server to allocate to a client. A
configuration-reserved address is one that has been reserved by configuration-reserved address is one that has been reserved by
the administrator. An example of a configuration-reserved the administrator. An example of a configuration-reserved
address is an address that is assigned to a client, not through address is an address that is assigned to a client, not through
DHCP (e.g., statically assigned), and the address is within a DHCP (e.g., statically assigned), and the address is within a
DHCP range; and DHCP range; and
o Server-reserved, in which case the server has taken the address o Server-reserved, in which case the server has taken the address
out of use. Examples of server-reserved addresses are those out of use. Examples of server-reserved addresses are those
which have been declined (i.e., through a DHCPDECLINE) by a that have been declined (i.e., through a DHCPDECLINE) by a
client or those which have responded to an ICMP echo before they client or those that have responded to an ICMP echo before they
were assigned. were assigned.
The protocol used to allocate the address may be determined from the The protocol used to allocate the address may be determined from the
serverAddressServedProtocol object. This object indicates whether "dhcpv4ServerAddressServedProtocol" object. This object indicates
the address has never been served, or whether BOOTP or DHCP was used whether the address has never been served, or whether BOOTP or DHCP
to allocate the address. was used to allocate the address.
3.5. Response Times and ICMP Echo 3.5. Response Times and ICMP Echo
According to [RFC2131], servers SHOULD try to determine if an address According to [RFC2131], servers SHOULD try to determine if an address
is in use before assigning it. Some servers choose not to perform is in use before assigning it. Some servers choose not to perform
this check, letting the client determine for itself if the address is this check, letting the client determine for itself if the address is
in use. Other servers perform an ICMP echo (Ping) just prior to in use. Other servers perform an ICMP echo (Ping) just prior to
assigning an address. Servers that perform a Ping before responding assigning an address. Servers that perform a Ping before responding
to a DHCPDISCOVER should not include in the response time the time to a DHCPDISCOVER should not include in the response time the time
from when the Ping was transmitted until the time that either a from when the Ping was transmitted until the time that either a
response was received or that the server timed out waiting for a response was received or that the server timed out waiting for a
response. response.
4. Definitions 4. Definitions
-- definitions for a DHCP (Dynamic Host Configuration Protocol)
server
DHCP-SERVER-MIB DEFINITIONS ::= BEGIN DHCP-SERVER-MIB DEFINITIONS ::= BEGIN
IMPORTS IMPORTS
Counter64, Counter32, Gauge32, Unsigned32, mib-2, MODULE-IDENTITY, Counter64, Counter32, Gauge32, Unsigned32, MODULE-IDENTITY,
OBJECT-TYPE, OBJECT-IDENTITY OBJECT-TYPE, OBJECT-IDENTITY, NOTIFICATION-TYPE, mib-2
FROM SNMPv2-SMI FROM SNMPv2-SMI
TEXTUAL-CONVENTION, RowStatus, TruthValue, DateAndTime TEXTUAL-CONVENTION, DateAndTime FROM SNMPv2-TC
FROM SNMPv2-TC
SnmpAdminString FROM SNMP-FRAMEWORK-MIB SnmpAdminString FROM SNMP-FRAMEWORK-MIB
InetAddressType, InetAddress, InetAddressIPv4,
InetAddressPrefixLength InetAddressIPv4, InetAddressPrefixLength
FROM INET-ADDRESS-MIB FROM INET-ADDRESS-MIB
MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP
FROM SNMPv2-CONF; FROM SNMPv2-CONF;
dhcp OBJECT-IDENTITY dhcp MODULE-IDENTITY
STATUS current LAST-UPDATED "200303021042Z"
DESCRIPTION ORGANIZATION
"The dhcp branch in the standard network management framework." "IETF DHC Working Group
::= { mib-2 99 } -- IANA will make official assignment
serverMIB MODULE-IDENTITY
REVISION "2002-11-04 04:29Z÷
DESCRIPTION "Initial Version, published as RFC xxxx."
-- RFC Editor assigns xxxx
LAST-UPDATED "2002-11-04 04:29Z"
ORGANIZATION "IETF DHC Working Group"
General Discussion: dhcwg@ietf.org General Discussion: dhcwg@ietf.org
Subscribe: http://www1.ietf.org/mailman/listinfo/dhcwg Subscribe: http://www1.ietf.org/mailman/listinfo/dhcwg
Archive: http://www1.ietf.org/mailman/listinfo/dhcwg Archive: http://www1.ietf.org/mailman/listinfo/dhcwg
Chair: Ralph Droms, rdroms@cisco.com Chair: Ralph Droms, rdroms@cisco.com"
CONTACT-INFO CONTACT-INFO
" Richard Barr Hibbs " Richard Barr Hibbs
Postal: 952 Sanchex Street Postal: 952 Sanchez Street
San Francisco, California 94114-3362 San Francisco, California 94114-3362
USA USA
Tel: +1-(415)-648-3920 Tel: +1-(415)-648-3920
Fax: +1-(415)-648-9017 Fax: +1-(415)-648-9017
E-mail: rbhibbs@pacbell.net E-mail: rbhibbs@pacbell.net
Glenn Waters Glenn Waters
Postal: Nortel Networks, Inc. Postal: Nortel Networks, Inc.
310-875 Carling Avenue 310-875 Carling Avenue
Ottawa, Ontario K1S 5P1 Ottawa, Ontario K1S 5P1
Canada Canada
Tel: +1-(613)-798-4925 Tel: +1-(613)-798-4925
E-mail: gww@NortelNetworks.com " E-mail: gww@NortelNetworks.com "
DESCRIPTION DESCRIPTION
"The MIB module for entities implementing the server side of "The MIB module for entities implementing the server side of
the Bootstrap Protocol (BOOTP) and the Dynamic Host the Bootstrap Protocol (BOOTP) and the Dynamic Host
Configuration protocol (DHCP) for Internet Protocol version Configuration protocol (DHCP) for Internet Protocol version
4(IPv4). This MIB does not include support for Dynamic DNS 4(IPv4). This MIB does not include support for Dynamic DNS
(DDNS) updating nor for the DHCP Failover Protocol." (DDNS) updating nor for the DHCP Failover Protocol.
Copyright (C) The Internet Society (2003). This version of
this MIB module is part of RFC xxxx; see the RFC itself for
full legal notices."
-- RFC Editor assigns xxxx and removes this comment
REVISION "200303021042Z" -- 2 March 2003
DESCRIPTION "Initial Version, published as RFC xxxx."
-- RFC Editor assigns xxxx and removes this comment
::= { mib-2 TBD } -- IANA will make official assignment
-- Textual conventions defined by this memo
DhcpTimeInterval ::= TEXTUAL-CONVENTION
STATUS current
DESCRIPTION
"The number of milliseconds that has elapsed since some epoch.
Systems that cannot measure events to the millisecond
resolution SHOULD round this value to the next available
resolution that the system supports."
SYNTAX Unsigned32
DhcpPhysicalAddress ::= TEXTUAL-CONVENTION
DISPLAY-HINT "1d,1d,1x:"
STATUS current
DESCRIPTION
"A DHCP-specific encoding of the physical address type and
physical address, intended to mirror the representation of
physical addresses in DHCP messages. The first octet of this
object contains the hardware type from the 'htype' field of the
DHCP message, the second octet of this object contains the
hardware length from the 'hlen' field, and the remaining octets
contain the hardware address from the 'chaddr' field."
REFERENCE "RFC 2131"
SYNTAX OCTET STRING (SIZE(3..18))
-- declare top-level MIB objects
dhcpv4Server OBJECT-IDENTITY
STATUS current
DESCRIPTION
"DHCPv4 Server MIB objects are defined in this branch."
::= { dhcp 1 } ::= { dhcp 1 }
serverMIBObjects OBJECT-IDENTITY -- dhcpv4Client OBJECT-IDENTITY
-- STATUS future
-- DESCRIPTION
-- "DHCPv4 Client MIB objects are defined in this branch."
-- ::= { dhcp 2 }
-- dhcpv4Relay OBJECT-IDENTITY
-- STATUS future
-- DESCRIPTION
-- "DHCPv4 Relay Agent MIB objects are defined in this branch."
-- ::= { dhcp 3 }
-- dhcpv6Server OBJECT-IDENTITY
-- STATUS future
-- DESCRIPTION
-- "DHCPv6 Server MIB objects are defined in this branch."
-- ::= { dhcp 4 }
dhcpv4ServerObjects OBJECT-IDENTITY
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"DHCP Server MIB objects are all defined in this branch." "DHCP Server MIB server identification objects are all defined
::= { serverMIB 1 } in this branch."
::= { dhcpv4Server 1 }
serverSystem OBJECT-IDENTITY dhcpv4ServerSystem OBJECT-IDENTITY
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"Group of objects that are related to the overall system." "Group of objects that are related to the overall system."
::= { serverMIBObjects 1 } ::= { dhcpv4ServerObjects 1 }
bootpCounters OBJECT-IDENTITY bootpCounters OBJECT-IDENTITY
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"Group of objects that count various BOOTP events." "Group of objects that count various BOOTP events."
::= { serverMIBObjects 2 } ::= { dhcpv4ServerObjects 2 }
dhcpCounters OBJECT-IDENTITY dhcpv4Counters OBJECT-IDENTITY
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"Group of objects that count various DHCP events." "Group of objects that count various DHCPv4 events."
::= { serverMIBObjects 3 } ::= { dhcpv4ServerObjects 3 }
bootpOptionalStatistics OBJECT-IDENTITY -- /*renamed*/ bootpOptionalStatistics OBJECT-IDENTITY
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"Group of objects that measure various BOOTP statistics." "Group of objects that measure various BOOTP statistics."
::= { serverMIBObjects 4 } ::= { dhcpv4ServerObjects 4 }
dhcpOptionalStatistics OBJECT-IDENTITY -- /*renamed*/ dhcpv4OptionalStatistics OBJECT-IDENTITY
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"Group of objects that measure various DHCP statistics." "Group of objects that measure various DHCPv4 statistics."
::= { serverMIBObjects 5 } ::= { dhcpv4ServerObjects 5 }
serverConfiguration OBJECT-IDENTITY dhcpv4ServerConfiguration OBJECT-IDENTITY
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"Objects that contain pre-configured and dynamic configuration "Objects that contain pre-configured and dynamic configuration
information." information."
::= { serverMIBObjects 6 } ::= { dhcpv4ServerObjects 6 }
bootpClients OBJECT-IDENTITY dhcpv4ServerNotifyObjects OBJECT-IDENTITY
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"Objects that map BOOTP clients to IP addresses." "Objects that are used only in notifications."
::= { serverMIBObjects 7 } ::= { dhcpv4ServerObjects 7 }
dhcpClients OBJECT-IDENTITY -- dhcpv4ServerSystemObjects Group
dhcpv4ServerSystemDescr OBJECT-TYPE
SYNTAX SnmpAdminString (SIZE(0..255))
MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"Objects that map DHCP clients to IP addresses." "A textual description of the server. This value should
::= { serverMIBObjects 8 } include the full name and version identification of the
server."
-- Textual conventions defined by this memo ::= { dhcpv4ServerSystem 1 }
DhcpTimeInterval ::= TEXTUAL-CONVENTION dhcpv4ServerSystemObjectID OBJECT-TYPE
SYNTAX Unsigned32 SYNTAX OBJECT IDENTIFIER
MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The number of milliseconds that has elapsed since some epoch. "The vendor's authoritative identification of the network
Systems that cannot measure events to the millisecond management subsystem contained in this entity. This value is
resolution SHOULD round this value to the next available allocated within the SMI enterprise subtree (1.3.6.1.4.1) and
resolution that the system supports." provides an easy and unambiguous means for determining what
kind of server is being managed. For example, if vendor Ohso
Soft, Inc. is assigned the subtree 1.3.6.1.4.1.4242, it may
assign the identifier 1.3.6.1.4.1.4242.1.1 to its Ursa DHCP
Server."
::= { dhcpv4ServerSystem 2 }
HardwareAddressType ::= TEXTUAL-CONVENTION -- bootpCounterObjects Group
SYNTAX OCTET
bootpCountRequests OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current STATUS current
REFERENCE "RFC 2131"
DESCRIPTION DESCRIPTION
"The value of the hardware type field, as used in ARP messages "The number of packets received that contain a Message Type of
(e.g., 1 for Ethernet, 6 for token ring). IANA maintains the 1 (BOOTREQUEST) in the first octet and do not contain option
list of registered numbers for this field." number 53 (DHCP Message Type) in the options."
REFERENCE
"RFC-2131."
::= { bootpCounters 1 }
HardwareAddressLength ::= TEXTUAL-CONVENTION bootpCountInvalids OBJECT-TYPE
SYNTAX OCTET SYNTAX Counter32
MAX-ACCESS read-only
STATUS current STATUS current
REFERENCE "RFC 2131"
DESCRIPTION DESCRIPTION
"The length in octets of the hardware address field (e.g., 6 "The number of packets received that do not contain a Message
for Ethernet). IANA maintains the list of registered numbers Type of 1 (BOOTREQUEST) in the first octet or are not valid
for this field." BOOTP packets (e.g., too short, invalid field in packet
header)."
::= { bootpCounters 2 }
MacAddress ::= TEXTUAL-CONVENTION bootpCountReplies OBJECT-TYPE
SYNTAX OCTET STRING (SIZE (1..16)) SYNTAX Counter32
DISPLAY-HINT "t,l,xx[:xx...]" MAX-ACCESS read-only
STATUS current STATUS current
REFERENCE "RFC 2131"
DESCRIPTION DESCRIPTION
"A Layer 1 address, the hardware address of the MAC (Media "The number of packets sent that contain a Message Type of 2
Adapter Card) interface. The address length is fixed for a (BOOTREPLY) in the first octet and do not contain option number
given hardware address type, but varies by type." 53 (DHCP Message Type) in the options."
REFERENCE
"RFC-2131."
::= { bootpCounters 3 }
PhysicalAddress ::= TEXTUAL-CONVENTION bootpCountDroppedUnknownClients OBJECT-TYPE
SYNTAX SEQUENCE OF { SYNTAX Counter32
HardwareAddressType, MAX-ACCESS read-only
HardwareAddressLength,
MacAddress
}
DISPLAY-HINT "t,l,xx[:xx...]"
STATUS current STATUS current
REFERENCE "RFC 2131"
DESCRIPTION DESCRIPTION
"A Layer 1 address which includes the hardware type space as "The number of BOOTP packets dropped due to the server not
well as the usual MAC address. This encoding is intended to recognizing or not providing service to the hardware address
mirror the representation of physical addresses in DHCP." received in the incoming packet."
::= { bootpCounters 4 }
DhcpLabel ::= TEXTUAL-CONVENTION bootpCountDroppedNotServingSubnet OBJECT-TYPE
SYNTAX SnmpAdminString (SIZE (1..100)) SYNTAX Counter32
DISPLAY-HINT MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The number of BOOTP packets dropped due to the server not
being configured or not otherwise able to serve addresses on
the subnet from which this message was received."
::= { bootpCounters 5 }
-- serverSystem Group -- DHCP Counters
serverSystemDescr OBJECT-TYPE dhcpv4RecvdPacketCounters OBJECT-IDENTITY
SYNTAX SnmpAdminString (SIZE (0..255))
MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"A textual description of the server. This value should "Counters for valid received DHCP message packets."
include the full name and version identification of the ::= { dhcpv4Counters 1 }
server."
::= { serverSystem 1 }
serverSystemObjectID OBJECT-TYPE dhcpv4SentPacketCounters OBJECT-IDENTITY
SYNTAX OBJECT IDENTIFIER
MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The vendor's authoritative identification of the network "Counters for valid sent DHCP message packets."
management subsystem contained in this entity. This value is ::= { dhcpv4Counters 2 }
allocated within the SMI enterprise subtree (1.3.6.1.4.1) and
provides an easy and unambiguous means for determining 'what
kind of server' is being managed. For example, if vendor
'VeryBigServers, Inc.' is assigned the subtree
1.3.6.1.4.1.4242, it may assign the identifier
1.3.6.1.4.1.4242.1.1 to its `Hercules DHCP Server'."
::= { serverSystem 2 }
-- dhcpCounters Group dhcpv4ErrorPacketCounters OBJECT-IDENTITY
STATUS current
DESCRIPTION
"Counters for DHCP message packets received, but not processed
by the server due to configuration or other errors."
::= { dhcpv4Counters 3 }
-- DHCP received packet counters -- dhcpv4RecvdPacketCounterObjects Group
dhcpCountDiscovers OBJECT-TYPE dhcpv4CountDiscovers OBJECT-TYPE
SYNTAX Counter32 SYNTAX Counter32
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The number of DHCPDISCOVER (option 53 with value 1) packets "The number of DHCPDISCOVER (option 53 with value 1) packets
received." received."
REFERENCE REFERENCE
"RFC2131; RFC2132, section 9.6." "RFC2131; RFC2132, section 9.6."
::= { dhcpCounters 1 } ::= { dhcpv4RecvdPacketCounters 1 }
dhcpCountRequests OBJECT-TYPE dhcpv4CountRequests OBJECT-TYPE
SYNTAX Counter32 SYNTAX Counter32
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The number of DHCPREQUEST (option 53 with value 3) packets "The number of DHCPREQUEST (option 53 with value 3) packets
received." received."
REFERENCE REFERENCE
"RFC2131; RFC2132, section 9.6." "RFC2131; RFC2132, section 9.6."
::= { dhcpCounters 2 } ::= { dhcpv4RecvdPacketCounters 2 }
dhcpCountReleases OBJECT-TYPE dhcpv4CountReleases OBJECT-TYPE
SYNTAX Counter32 SYNTAX Counter32
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The number of DHCPRELEASE (option 53 with value 7) packets "The number of DHCPRELEASE (option 53 with value 7) packets
received." received."
REFERENCE REFERENCE
"RFC2131; RFC2132, section 9.6." "RFC2131; RFC2132, section 9.6."
::= { dhcpCounters 3 } ::= { dhcpv4RecvdPacketCounters 3 }
dhcpCountDeclines OBJECT-TYPE dhcpv4CountDeclines OBJECT-TYPE
SYNTAX Counter32 SYNTAX Counter32
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The number of DHCPDECLINE (option 53 with value 4) packets "The number of DHCPDECLINE (option 53 with value 4) packets
received." received."
REFERENCE REFERENCE
"RFC2131; RFC2132, section 9.6." "RFC2131; RFC2132, section 9.6."
::= { dhcpCounters 4 } ::= { dhcpv4RecvdPacketCounters 4 }
dhcpCountInforms OBJECT-TYPE dhcpv4CountInforms OBJECT-TYPE
SYNTAX Counter32 SYNTAX Counter32
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The number of DHCPINFORM (option 53 with value 8) packets "The number of DHCPINFORM (option 53 with value 8) packets
received." received."
REFERENCE REFERENCE
"RFC2131; RFC2132, section 9.6." "RFC2131; RFC2132, section 9.6."
::= { dhcpCounters 5 } -- /*renumbered*/ ::= { dhcpv4RecvdPacketCounters 5 }
dhcpCountLeaseQueries OBJECT-TYPE -- /*new*/
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of DHCPLEASEQUERY (option 53 with value 9) packets
received."
REFERENCE
"draft-ietf-dhc-leasequery-02.txt."
::= { dhcpCounters 6 } -- /*new*/
dhcpCountPlaceHolder1 OBJECT-TYPE -- /*new*/
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Placeholder for anticipated new DHCP option 53 message type."
REFERENCE
"None."
::= { dhcpCounters 7 } -- /*new*/
dhcpCountPlaceHolder2 OBJECT-TYPE -- /*new*/ dhcpv4CountLeaseQueries OBJECT-TYPE
SYNTAX Counter32 SYNTAX Counter32
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"Placeholder for anticipated new DHCP option 53 message type." "The number of DHCPLEASEQUERY (option 53 with value TBD)
packets received."
-- value to be assigned by IANA
REFERENCE REFERENCE
"None." "draft-ietf-dhc-leasequery-04.txt."
::= { dhcpCounters 8 } -- /*new*/ ::= { dhcpv4RecvdPacketCounters 6 }
-- DHCP sent packet counters -- dhcpv4SentPacketCounterObjects Group
dhcpCountOffers OBJECT-TYPE dhcpv4CountOffers OBJECT-TYPE
SYNTAX Counter32 SYNTAX Counter32
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The number of DHCPOFFER (option 53 with value 2) packets "The number of DHCPOFFER (option 53 with value 2) packets
sent." sent."
REFERENCE REFERENCE
"RFC2131; RFC2132, section 9.6." "RFC2131; RFC2132, section 9.6."
::= { dhcpCounters 9 } -- /*renumbered*/ ::= { dhcpv4SentPacketCounters 1 }
dhcpCountAcks OBJECT-TYPE dhcpv4CountAcks OBJECT-TYPE
SYNTAX Counter32 SYNTAX Counter32
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The number of DHCPACK (option 53 with value 5) packets sent." "The number of DHCPACK (option 53 with value 5) packets sent."
REFERENCE REFERENCE
"RFC2131; RFC2132, section 9.6." "RFC2131; RFC2132, section 9.6."
::= { dhcpCounters 10 } -- /*renumbered*/ ::= { dhcpv4SentPacketCounters 2 }
dhcpCountNacks OBJECT-TYPE dhcpv4CountNacks OBJECT-TYPE
SYNTAX Counter32 SYNTAX Counter32
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The number of DHCPNACK (option 53 with value 6) packets sent." "The number of DHCPNACK (option 53 with value 6) packets sent."
REFERENCE REFERENCE
"RFC2131; RFC2132, section 9.6." "RFC2131; RFC2132, section 9.6."
::= { dhcpCounters 11 } -- /*renumbered*/ ::= { dhcpv4SentPacketCounters 3 }
dhcpCountForcedRenews OBJECT-TYPE -- /*new*/
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of DHCPFORCERENEW (option 53 with value TBD)
packets sent."
REFERENCE
"draft-ietf-dhc-pv4-reconfigure-06.txt."
::= { dhcpCounters 12 } -- /*new*/
dhcpCountKnowns OBJECT-TYPE -- /*new*/
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of DHCPKNOWN (option 53 with value TBD) packets
sent."
REFERENCE
"draft-ietf-dhc-leasequery-03.txt."
::= { dhcpCounters 13 } -- /*new*/
dhcpCountUnknowns OBJECT-TYPE -- /*new*/ dhcpv4CountForcedRenews OBJECT-TYPE
SYNTAX Counter32 SYNTAX Counter32
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The number of DHCPUNKNOWN (option 53 with value TBD) packets "The number of DHCPFORCERENEW (option 53 with value 9) packets
sent." sent."
REFERENCE REFERENCE
"draft-ietf-dhc-leasequery-03.txt." " RFC 3203, DHCP reconfigure extension."
::= { dhcpCounters 14 } -- /*new*/ ::= { dhcpv4SentPacketCounters 4 }
dhcpCountActives OBJECT-TYPE -- /*new*/ dhcpv4CountKnowns OBJECT-TYPE
SYNTAX Counter32 SYNTAX Counter32
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The number of DHCPACTIVE (option 53 with value TBD) packets "The number of DHCPLEASEKNOWN (option 53 with value TBD)
sent." packets sent."
-- value to be assigned by IANA.
REFERENCE REFERENCE
"draft-ietf-dhc-leasequery-03.txt." "draft-ietf-dhc-leasequery-04.txt."
::= { dhcpCounters 15 } -- /*new*/ ::= { dhcpv4SentPacketCounters 5 }
dhcpv4CountUnknowns OBJECT-TYPE
dhcpCountUnimplementeds OBJECT-TYPE -- /*new*/
SYNTAX Counter32 SYNTAX Counter32
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The number of DHCPUNIMPLEMENTED (option 53 with value TBD) "The number of DHCPLEASEUNKNOWN (option 53 with value TBD)
packets sent." packets sent."
-- value to be assigned by IANA.
REFERENCE REFERENCE
"draft-ietf-dhc-leasequery-03.txt." "draft-ietf-dhc-leasequery-04.txt."
::= { dhcpCounters 16 } -- /*new*/ ::= { dhcpv4SentPacketCounters 6 }
dhcpCountPlaceHolder3 OBJECT-TYPE -- /*new*/ dhcpv4CountActives OBJECT-TYPE
SYNTAX Counter32 SYNTAX Counter32
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"Placeholder for anticipated new DHCP option 53 message types." "The number of DHCPLEASEACTIVE (option 53 with value TBD)
packets sent."
-- value to be assigned by IANA.
REFERENCE REFERENCE
"None." "draft-ietf-dhc-leasequery-04.txt."
::= { dhcpCounters 17 } -- /*new*/ ::= { dhcpv4SentPacketCounters 7 }
dhcpCountPlaceHolder4 OBJECT-TYPE -- /*new*/ dhcpv4CountUnimplementeds OBJECT-TYPE
SYNTAX Counter32 SYNTAX Counter32
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"Placeholder for anticipated new DHCP option 53 message types." "The number of DHCPUNIMPLEMENTED (option 53 with value TBD)
packets sent."
-- value to be assigned by IANA.
REFERENCE REFERENCE
"None." "draft-ietf-dhc-leasequery-04.txt."
::= { dhcpCounters 18 } -- /*new*/ ::= { dhcpv4SentPacketCounters 8 }
-- DHCP packet error counters -- dhcpv4ErrorPacketCounterObjects Group
dhcpCountInvalids OBJECT-TYPE dhcpv4CountInvalids OBJECT-TYPE
SYNTAX Counter32 SYNTAX Counter32
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The number of DHCP packets received whose DHCP message type "The number of DHCP packets received whose DHCP message type
(i.e., option number 53) is not understood or handled by the (i.e., option number 53) is not understood or handled by the
server." server."
::= { dhcpCounters 19 } -- /*renumbered*/ ::= { dhcpv4ErrorPacketCounters 1 }
dhcpv4CountDroppedUnknownClient OBJECT-TYPE
dhcpCountDroppedUnknownClient OBJECT-TYPE
SYNTAX Counter32 SYNTAX Counter32
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The number of DHCP packets dropped due to the server not "The number of DHCP packets dropped due to the server not
recognizing or not providing service to the client-id and/or recognizing or not providing service to the client-id and/or
hardware address received in the incoming packet." hardware address received in the incoming packet."
::= { dhcpCounters 20 } -- /*renumbered*/ ::= { dhcpv4ErrorPacketCounters 2 }
dhcpCountDroppedNotServingSubnet OBJECT-TYPE dhcpv4CountDroppedNotServingSubnet OBJECT-TYPE
SYNTAX Counter32 SYNTAX Counter32
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The number of DHCP packets dropped due to the server not being "The number of DHCP packets dropped due to the server not being
configured or not otherwise able to serve addresses on the configured or not otherwise able to serve addresses on the
subnet from which this message was received." subnet from which this message was received."
::= { dhcpCounters 21 } -- /*renumbered*/ ::= { dhcpv4ErrorPacketCounters 3 }
-- dhcpOptionalStatistics group -- bootpOptionalStatisticObjects group
dhcpStatMinArrivalInterval OBJECT-TYPE bootpStatMinArrivalInterval OBJECT-TYPE
SYNTAX DhcpTimeInterval SYNTAX DhcpTimeInterval
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The minimum amount of time between receiving two DHCP "The minimum amount of time between receiving two BOOTP
messages. A message is received at the server when the server messages. A message is received at the server when the server
is able to begin processing the message. This typically occurs is able to begin processing the message. This typically occurs
immediately after the message is read into server memory. If immediately after the message is read into server memory. If
no messages have been received, then this object contains a no messages have been received, then this object contains a
zero value." zero value."
::= { dhcpOptionalStatistics 1 } -- /*renamed*/ ::= { bootpOptionalStatistics 1 }
dhcpStatMaxArrivalInterval OBJECT-TYPE bootpStatMaxArrivalInterval OBJECT-TYPE
SYNTAX DhcpTimeInterval SYNTAX DhcpTimeInterval
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The maximum amount of time between receiving two DHCP "The maximum amount of time between receiving two BOOTP
messages. A message is received at the server when the server messages. A message is received at the server when the server
is able to begin processing the message. This typically occurs is able to begin processing the message. This typically occurs
immediately after the message is read into server memory. If immediately after the message is read into server memory. If
no messages have been received, then this object contains a no messages have been received, then this object contains a
zero value." zero value."
::= { dhcpOptionalStatistics 2 } -- /*renamed*/ ::= { bootpOptionalStatistics 2 }
dhcpStatLastArrivalTime OBJECT-TYPE bootpStatLastArrivalTime OBJECT-TYPE
SYNTAX DateAndTime SYNTAX DateAndTime
MAX-ACCESSread-only MAX-ACCESSread-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The date and time that the last valid DHCP message was "The date and time that the last valid BOOTP message was
received by the server. Invalid messages do not cause this received by the server. Invalid messages do not cause this
value to change. If no valid messages have been received, then value to change. If valid no messages have been received, then
this object contains a date and time that is all zero." this object contains a date and time that is all zero."
::= { dhcpOptionalStatistics 3 } ::= { bootpOptionalStatistics 3 }
dhcpStatSumSquaresArrivalTime OBJECT-TYPE bootpStatSumSquaresArrivalTime OBJECT-TYPE
SYNTAX Counter64 SYNTAX Counter64
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The sum of the squared DHCP packet inter-arrival times in "The sum of the squared BOOTP packet inter-arrival times in
microseconds. This value may be used to compute the variance microseconds. This value may be used to compute the variance
and standard deviation of the DHCP arrival times. Note that a and standard deviation of the BOOTP arrival times. Note that a
microsecond resolution of this object requires a clock microsecond resolution of this object requires a clock
resolution to the millisecond since the square of a millisecond resolution to the millisecond since the square of a millisecond
value produces a value with microsecond resolution." value produces a value with microsecond resolution."
::= { dhcpOptionalStatistics 4 } -- /*renamed*/ ::= { bootpOptionalStatistics 4 }
dhcpStatMinResponseTime OBJECT-TYPE bootpStatMinResponseTime OBJECT-TYPE
SYNTAX DhcpTimeInterval SYNTAX DhcpTimeInterval
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The smallest time interval measured as the difference between "The smallest time interval measured as the difference between
the arrival of a DHCP message at the server and the successful the arrival of a BOOTP message at the server and the successful
transmission of the response to that message. A message is transmission of the response to that message. A message is
received at the server when the server is able to begin received at the server when the server is able to begin
processing the message. A message is transmitted after the processing the message. A message is transmitted after the
server has no further use for the message. Note that the server has no further use for the message. Note that the
operating system may still have the message queued internally. operating system may still have the message queued internally.
The operating system queue time is not to be considered as part The operating system queue time is not to be considered as part
of the response time. Invalid messages do not cause this value of the response time. Invalid messages do not cause this value
to change. If no valid messages have been received, then this to change. If no valid messages have been received, then this
object contains a zero value." object contains a zero value."
::= { dhcpOptionalStatistics 5 } -- /*renamed*/ ::= { bootpOptionalStatistics 5 }
dhcpStatMaxResponseTime OBJECT-TYPE bootpStatMaxResponseTime OBJECT-TYPE
SYNTAX DhcpTimeInterval SYNTAX DhcpTimeInterval
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The largest time interval measured as the difference between "The largest time interval measured as the difference between
the arrival of a DHCP message at the server and the successful the arrival of a BOOTP message at the server and the successful
transmission of the response to that message. A message is transmission of the response to that message. A message is
received at the server when the server is able to begin received at the server when the server is able to begin
processing the message. A message is transmitted after the processing the message. A message is transmitted after the
server has no further use for the message. Note that the server has no further use for the message. Note that the
operating system may still have the message queued internally. operating system may still have the message queued internally.
The operating system queue time is not to be considered as part The operating system queue time is not to be considered as part
of the response time. Invalid messages do not cause this value of the response time. Invalid messages do not cause this value
to change. If no valid messages have been received, then this to change. If no valid messages have been received, then this
object contains a zero value." object contains a zero value."
::= { dhcpOptionalStatistics 6 } -- /*renamed*/ ::= { bootpOptionalStatistics 6 }
dhcpStatSumResponseTime OBJECT-TYPE bootpStatSumResponseTime OBJECT-TYPE
SYNTAX Counter32 SYNTAX Counter32
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The sum of the response time intervals in milliseconds where a "The sum of the response time intervals in milliseconds where a
response time interval is measured as the difference between response time interval is measured as the difference between
the arrival of a DHCP message at the server and the successful the arrival of a BOOTP message at the server and the successful
transmission of the response to that message. A message is transmission of the response to that message. A message is
received at the server when the server is able to begin received at the server when the server is able to begin
processing the message. A message is transmitted after the processing the message. A message is transmitted after the
server has no further use for the message. Note that the server has no further use for the message. Note that the
operating system may still have the message queued internally. operating system may still have the message queued internally.
The operating system queue time is not to be considered as part The operating system queue time is not to be considered as part
of the response time. Invalid messages do not cause this value of the response time. Invalid messages do not cause this value
to change. If no valid messages have been received, then this to change. If no valid messages have been received, then this
object contains a zero value." object contains a zero value."
::= { dhcpOptionalStatistics 7 } -- /*renamed*/ ::= { bootpOptionalStatistics 7 }
dhcpStatSumSquaresResponseTime OBJECT-TYPE bootpStatSumSquaresResponseTime OBJECT-TYPE
SYNTAX Counter64 SYNTAX Counter64
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The sum of the squared DHCP packet response times in micro- "The sum of the squared BOOTP packet response times in micro-
seconds. This value may be used to compute the variance and seconds. This value may be used to compute the variance and
standard deviation of the DHCP response times. Note that a standard deviation of the BOOTP response times. Note that a
microsecond resolution of this object requires a clock microsecond resolution of this object requires a clock
resolution to the millisecond since the square of a millisecond resolution to the millisecond since the square of a millisecond
value produces a value with microsecond resolution." value produces a value with microsecond resolution."
::= { dhcpOptionalStatistics 8 } -- /*renamed*/ ::= { bootpOptionalStatistics 8 }
-- bootpCounters Group
bootpCountRequests OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of packets received that contain a Message Type of
1 (BOOTREQUEST) in the first octet and do not contain option
number 53 (DHCP Message Type) in the options."
REFERENCE
"RFC-1541."
::= { bootpCounters 1 } -- /*renamed*/
bootpCountInvalids OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of packets received that do not contain a Message
Type of 1 (BOOTREQUEST) in the first octet or are not valid
BOOTP packets (e.g., too short, invalid field in packet
header)."
::= { bootpCounters 2 } -- /*renamed*/
bootpCountReplies OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of packets sent that contain a Message Type of 2
(BOOTREPLY) in the first octet and do not contain option number
53 (DHCP Message Type) in the options."
REFERENCE
"RFC-1541."
::= { bootpCounters 3 } -- /*renamed*/
bootpCountDroppedUnknownClients OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of BOOTP packets dropped due to the server not
recognizing or not providing service to the hardware address
received in the incoming packet."
::= { bootpCounters 4 } -- /*renamed*/
bootpCountDroppedNotServingSubnet OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of BOOTP packets dropped due to the server not
being configured or not otherwise able to serve addresses on
the subnet from which this message was received."
::= { bootpCounters 5 } -- /*renamed*/
-- bootpOptionalStatistics group -- dhcpv4OptionalStatisticObjects group
bootpStatMinArrivalInterval OBJECT-TYPE dhcpv4StatMinArrivalInterval OBJECT-TYPE
SYNTAX DhcpTimeInterval SYNTAX DhcpTimeInterval
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The minimum amount of time between receiving two BOOTP "The minimum amount of time between receiving two DHCPv4
messages. A message is received at the server when the server messages. A message is received at the server when the server
is able to begin processing the message. This typically occurs is able to begin processing the message. This typically occurs
immediately after the message is read into server memory. If immediately after the message is read into server memory. If
no messages have been received, then this object contains a no messages have been received, then this object contains a
zero value." zero value."
::= { bootpOptionalStatistics 1 } -- /*renamed*/ ::= { dhcpv4OptionalStatistics 1 }
bootpStatMaxArrivalInterval OBJECT-TYPE dhcpv4StatMaxArrivalInterval OBJECT-TYPE
SYNTAX DhcpTimeInterval SYNTAX DhcpTimeInterval
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The maximum amount of time between receiving two BOOTP "The maximum amount of time between receiving two DHCPv4
messages. A message is received at the server when the server messages. A message is received at the server when the server
is able to begin processing the message. This typically occurs is able to begin processing the message. This typically occurs
immediately after the message is read into server memory. If immediately after the message is read into server memory. If
no messages have been received, then this object contains a no messages have been received, then this object contains a
zero value." zero value."
::= { bootpOptionalStatistics 2 } -- /*renamed*/ ::= { dhcpv4OptionalStatistics 2 }
bootpStatLastArrivalTime OBJECT-TYPE dhcpv4StatLastArrivalTime OBJECT-TYPE
SYNTAX DateAndTime SYNTAX DateAndTime
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The date and time that the last valid BOOTP message was "The date and time that the last valid DHCPv4 message was
received by the server. Invalid messages do not cause this received by the server. Invalid messages do not cause this
value to change. If valid no messages have been received, then value to change. If no valid messages have been received, then
this object contains a date and time that is all zero." this object contains a date and time that is all zero."
::= { bootOptionalpStatistics 3 } -- /*renamed*/ ::= { dhcpv4OptionalStatistics 3 }
bootpStatSumSquaresArrivalTime OBJECT-TYPE dhcpv4StatSumSquaresArrivalTime OBJECT-TYPE
SYNTAX Counter64 SYNTAX Counter64
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The sum of the squared BOOTP packet inter-arrival times in "The sum of the squared DHCPv4 packet inter-arrival times in
microseconds. This value may be used to compute the variance microseconds. This value may be used to compute the variance
and standard deviation of the BOOTP arrival times. Note that a and standard deviation of the DHCPv4 arrival times. Note that
microsecond resolution of this object requires a clock a microsecond resolution of this object requires a clock
resolution to the millisecond since the square of a millisecond resolution to the millisecond since the square of a millisecond
value produces a value with microsecond resolution." value produces a value with microsecond resolution."
::= { bootpOptionalStatistics 4 } -- /*renamed*/ ::= { dhcpv4OptionalStatistics 4 }
bootpStatMinResponseTime OBJECT-TYPE dhcpv4StatMinResponseTime OBJECT-TYPE
SYNTAX DhcpTimeInterval SYNTAX DhcpTimeInterval
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The smallest time interval measured as the difference between "The smallest time interval measured as the difference between
the arrival of a BOOTP message at the server and the successful the arrival of a DHCPv4 message at the server and the
transmission of the response to that message. A message is successful transmission of the response to that message. A
received at the server when the server is able to begin message is received at the server when the server is able to
processing the message. A message is transmitted after the begin processing the message. A message is transmitted after
server has no further use for the message. Note that the the server has no further use for the message. Note that the
operating system may still have the message queued internally. operating system may still have the message queued internally.
The operating system queue time is not to be considered as part The operating system queue time is not to be considered as part
of the response time. Invalid messages do not cause this value of the response time. Invalid messages do not cause this value
to change. If no valid messages have been received, then this to change. If no valid messages have been received, then this
object contains a zero value." object contains a zero value."
::= { bootpOptionalStatistics 5 } -- /*renamed*/ ::= { dhcpv4OptionalStatistics 5 }
bootpStatMaxResponseTime OBJECT-TYPE dhcpv4StatMaxResponseTime OBJECT-TYPE
SYNTAX DhcpTimeInterval SYNTAX DhcpTimeInterval
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The largest time interval measured as the difference between "The largest time interval measured as the difference between
the arrival of a BOOTP message at the server and the successful the arrival of a DHCPv4 message at the server and the
transmission of the response to that message. A message is successful transmission of the response to that message. A
received at the server when the server is able to begin message is received at the server when the server is able to
processing the message. A message is transmitted after the begin processing the message. A message is transmitted after
server has no further use for the message. Note that the the server has no further use for the message. Note that the
operating system may still have the message queued internally. operating system may still have the message queued internally.
The operating system queue time is not to be considered as part The operating system queue time is not to be considered as part
of the response time. Invalid messages do not cause this value of the response time. Invalid messages do not cause this value
to change. If no valid messages have been received, then this to change. If no valid messages have been received, then this
object contains a zero value." object contains a zero value."
::= { bootpOptionalStatistics 6 } -- /*renamed*/ ::= { dhcpv4OptionalStatistics 6 }
bootpStatSumResponseTime OBJECT-TYPE dhcpv4StatSumResponseTime OBJECT-TYPE
SYNTAX Counter32 SYNTAX Counter32
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The sum of the response time intervals in milliseconds where a "The sum of the response time intervals in milliseconds where a
response time interval is measured as the difference between response time interval is measured as the difference between
the arrival of a BOOTP message at the server and the successful the arrival of a DHCPv4 message at the server and the
transmission of the response to that message. A message is successful transmission of the response to that message. A
received at the server when the server is able to begin message is received at the server when the server is able to
processing the message. A message is transmitted after the begin processing the message. A message is transmitted after
server has no further use for the message. Note that the the server has no further use for the message. Note that the
operating system may still have the message queued internally. operating system may still have the message queued internally.
The operating system queue time is not to be considered as part The operating system queue time is not to be considered as part
of the response time. Invalid messages do not cause this value of the response time. Invalid messages do not cause this value
to change. If no valid messages have been received, then this to change. If no valid messages have been received, then this
object contains a zero value." object contains a zero value."
::= { bootpOptionalStatistics 7 } -- /*renamed*/ ::= { dhcpv4OptionalStatistics 7 }
bootpStatSumSquaresResponseTime OBJECT-TYPE dhcpv4StatSumSquaresResponseTime OBJECT-TYPE
SYNTAX Counter64 SYNTAX Counter64
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The sum of the squared BOOTP packet response times in micro- "The sum of the squared DHCPv4 packet response times in micro-
seconds. This value may be used to compute the variance and seconds. This value may be used to compute the variance and
standard deviation of the BOOTP response times. Note that a standard deviation of the DHCPv4 response times. Note that a
microsecond resolution of this object requires a clock microsecond resolution of this object requires a clock
resolution to the millisecond since the square of a millisecond resolution to the millisecond since the square of a millisecond
value produces a value with microsecond resolution." value produces a value with microsecond resolution."
::= { bootpOptionalStatistics 8 } -- /*renamed*/ ::= { dhcpv4OptionalStatistics 8 }
-- server configurationgroup -- DHCP Server Configuration
-- server shared network table -- dhcpv4ServerSharedNetObjects Group
serverSharedNetworkTable OBJECT-TYPE dhcpv4ServerSharedNetTable OBJECT-TYPE
SYNTAX SEQUENCE OF serverSharedNetworkEntry SYNTAX SEQUENCE OF Dhcpv4ServerSharedNetEntry
MAX-ACCESS not-accessible MAX-ACCESS not-accessible
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"A list of shared networks that are configured in the server. "A list of shared networks that are configured in the server.
A shared network is the logical aggregation of one or more A shared network is the logical aggregation of one or more
subnets that share a common network segment (e.g., multi-tapped subnets that share a common network segment (e.g., multi-tapped
coaxial cable, wiring hub, or switch). This table is present coaxial cable, wiring hub, or switch). This table is present
ONLY for those servers that organize the ranges of addresses ONLY for those servers that organize the ranges of addresses
available for assignment where a higher-level grouping (i.e., available for assignment where a higher-level grouping (i.e.,
the "shared" network) exists above ranges and subnets." the 'shared' network) exists above ranges and subnets."
::= { serverConfiguration 1 } ::= { dhcpv4ServerConfiguration 1 }
serverSharedNetworkEntry OBJECT-TYPE dhcpv4ServerSharedNetEntry OBJECT-TYPE
SYNTAX ServerSharedNetworkEntry SYNTAX Dhcpv4ServerSharedNetEntry
MAX-ACCESS not-accessible MAX-ACCESS not-accessible
STATUS current STATUS current
INDEX { serverSharedNetworkName }
DESCRIPTION DESCRIPTION
"A logical row in the serverSharedNetworkTable." "A logical row in the dhcpv4ServerSharedNetTable."
::= { serverSharedNetworkTable 1} INDEX {
dhcpv4ServerSharedNetName
}
::= { dhcpv4ServerSharedNetTable 1}
ServerSharedNetworkEntry ::= SEQUENCE { Dhcpv4ServerSharedNetEntry ::= SEQUENCE {
serverSharedNetworkName DhcpLabel, dhcpv4ServerSharedNetName SnmpAdminString,
serverSharedNetworkFreeAddresses Unsigned32, dhcpv4ServerSharedNetFreeAddrLowThreshold Unsigned32,
serverSharedNetworkReservedAddresses Unsigned32, -- /*new*/ dhcpv4ServerSharedNetFreeAddrHighThreshold Unsigned32,
serverSharedNetworkTotalAddresses Unsigned32 -- dhcpv4ServerSharedNetFreeAddresses Unsigned32,
/*renamed*/ dhcpv4ServerSharedNetReservedAddresses Unsigned32,
dhcpv4ServerSharedNetTotalAddresses Unsigned32
} }
serverSharedNetworkName OBJECT-TYPE dhcpv4ServerSharedNetName OBJECT-TYPE
SYNTAX DhcpLabel -- /*modified*/ SYNTAX SnmpAdminString (SIZE(1..100))
MAX-ACCESS not-accessible MAX-ACCESS not-accessible
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The name of the shared network, which uniquely identifies an "The name of the shared network, which uniquely identifies an
entry in the serverSharedNetworkTable." entry in the dhcpv4ServerSharedNetTable."
::= { serverSharedNetworkEntry 1 } ::= { dhcpv4ServerSharedNetEntry 1 }
serverSharedNetworkFreeAddresses OBJECT-TYPE -- /*renamed*/ dhcpv4ServerSharedNetFreeAddrLowThreshold OBJECT-TYPE
SYNTAX Unsigned32
MAX-ACCESS accessible-for-notify
STATUS current
DESCRIPTION
"The low threshold for available free addresses in this shared
network. If the value for available free addresses in this
shared network becomes equal to or less than this value, a
dhcpv4ServerFreeAddressLow event is generated for this shared
network. No more dhcpv4ServerFreeAddressLow events will be
generated for this subnet during this execution of the DHCP
server until the value for available free addresses has
exceeded the value of
dhcpv4ServerSharedNetFreeAddrHighThreshold."
::= { dhcpv4ServerSharedNetEntry 2 }
dhcpv4ServerSharedNetFreeAddrHighThreshold OBJECT-TYPE
SYNTAX Unsigned32
MAX-ACCESS accessible-for-notify
STATUS current
DESCRIPTION
"The high threshold for available free addresses in this shared
network. If a dhcpv4ServerFreeAddressLow event was generated
for this subnet, and the value for available free addresses has
exceeded the value of dhcpv4ServerSubnetFreeAddrHighThreshold,
then a dhcpv4ServerFreeAddressHigh event will be generated. No
more dhcpv4ServerFreeAddressHigh events will be generated for
this subnet during this execution of the DHCP server until the
value for available free addresses becomes equal to or less
than the value of dhcpv4ServerSubnetFreeAddrHighThreshold."
::= { dhcpv4ServerSharedNetEntry 3 }
dhcpv4ServerSharedNetFreeAddresses OBJECT-TYPE
SYNTAX Unsigned32 SYNTAX Unsigned32
MAX-ACCESS accessible-for-notify MAX-ACCESS accessible-for-notify
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The number of IP addresses which are available within this "The number of IP addresses which are available within this
shared network. If the server does not count free addresses by shared network. If the server does not count free addresses by
shared network segment, this value will be zero." shared network segment, this value will be zero."
::= { serverSharedNetworkEntry 2 } -- /*renumbered*/ ::= { dhcpv4ServerSharedNetEntry 4 }
serverSharedNetworkReservedAddresses OBJECT-TYPE -- /*new*/ dhcpv4ServerSharedNetReservedAddresses OBJECT-TYPE
SYNTAX Unsigned32 SYNTAX Unsigned32
MAX-ACCESS accessible-for-notify MAX-ACCESS accessible-for-notify
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The number of IP addresses which are reserved (not available "The number of IP addresses which are reserved (not available
for assignement) within this shared network. If the server for assignment) within this shared network. If the server does
does not count reserved addresses by shared network segment, not count reserved addresses by shared network segment, this
this value will be zero." value will be zero."
::= { serverSharedNetworkEntry 3 } ::= { dhcpv4ServerSharedNetEntry 5 }
serverSharedNetworkTotalAddresses OBJECT-TYPE -- /*new*/ dhcpv4ServerSharedNetTotalAddresses OBJECT-TYPE
SYNTAX Unsigned32 SYNTAX Unsigned32
MAX-ACCESS accessible-for-notify MAX-ACCESS accessible-for-notify
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The number of IP addresses which are available within this "The number of IP addresses which are available within this
shared network. If the server does not count total addresses shared network. If the server does not count total addresses
by shared network segment, this value will be zero." by shared network segment, this value will be zero."
::= { serverSharedNetworkEntry 4 } ::= { dhcpv4ServerSharedNetEntry 6 }
-- server subnet table -- dhcpv4ServerSubnetObjects Group
serverSubnetTable OBJECT-TYPE dhcpv4ServerSubnetTable OBJECT-TYPE
SYNTAX SEQUENCE OF serverSubnetEntry SYNTAX SEQUENCE OF Dhcpv4ServerSubnetEntry
MAX-ACCESS not-accessible MAX-ACCESS not-accessible
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"A list of subnets that are configured in this server." "A list of subnets that are configured in this server."
::= { serverConfiguration 2 } ::= { dhcpv4ServerConfiguration 2 }
serverSubnetEntry OBJECT-TYPE dhcpv4ServerSubnetEntry OBJECT-TYPE
SYNTAX ServerSubnetEntry SYNTAX Dhcpv4ServerSubnetEntry
MAX-ACCESS not-accessible MAX-ACCESS not-accessible
STATUS current STATUS current
INDEX { serverSubnet }
DESCRIPTION DESCRIPTION
"A logical row in the serverSubnetTable." "A logical row in the dhcpv4ServerSubnetTable."
::= { serverSubnetTable 1 } INDEX {
dhcpv4ServerSubnetAddress
}
::= { dhcpv4ServerSubnetTable 1 }
ServerSubnetEntry ::= SEQUENCE { Dhcpv4ServerSubnetEntry ::= SEQUENCE {
serverSubnet InetAddressIPv4, dhcpv4ServerSubnetAddress InetAddressIPv4,
serverSubnetMask InetAddressPrefixLength, dhcpv4ServerSubnetMask InetAddressPrefixLength,
serverSubnetSharedNetworkName DhcpLabel, -- /*modified*/ dhcpv4ServerSubnetSharedNetworkName SnmpAdminString,
serverSubnetFreeAddressLowThreshold Unsigned32, dhcpv4ServerSubnetFreeAddrLowThreshold Unsigned32,
serverSubnetFreeAddressHighThreshold Unsigned32, dhcpv4ServerSubnetFreeAddrHighThreshold Unsigned32,
ServerSubnetFreeAddresses Unsigned32 -- /*renamed*/ dhcpv4ServerSubnetFreeAddresses Unsigned32
} }
serverSubnet OBJECT-TYPE dhcpv4ServerSubnetAddress OBJECT-TYPE
SYNTAX InetAddressIPv4 SYNTAX InetAddressIPv4
MAX-ACCESS read-only -- /*changed*/ MAX-ACCESS not-accessible
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The IP address of the subnet." "The IP address of the subnet entry in the
::= { serverSubnetEntry 1 } dhcpv4ServerSubnetTable."
::= { dhcpv4ServerSubnetEntry 1 }
serverSubnetMask OBJECT-TYPE dhcpv4ServerSubnetMask OBJECT-TYPE
SYNTAX InetAddressPrefixLength SYNTAX InetAddressPrefixLength
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The subnet mask of the subnet. This MUST be the same as the "The subnet mask of the subnet. This MUST be the same as the
value of DHCP option 1 offered to clients on this subnet." value of DHCP option 1 offered to clients on this subnet."
::= { serverSubnetEntry 2 } ::= { dhcpv4ServerSubnetEntry 2 }
serverSubnetSharedNetworkName OBJECT-TYPE -- /*renamed*/
SYNTAX DhcpLabel -- /*modified*/ dhcpv4ServerSubnetSharedNetworkName OBJECT-TYPE
SYNTAX SnmpAdminString (SIZE(1..100))
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The shared subnet name (used as an index into the server "The shared subnet name (used as an index into the server
shared subnet table) to which this subnet belongs. This value shared subnet table) to which this subnet belongs. This value
will be null for servers that do not organize or describe will be null for servers that do not organize or describe
networks in this manner." networks in this manner."
::= { serverSubnetEntry 3 } ::= { dhcpv4ServerSubnetEntry 3 }
serverSubnetFreeAddressLowThreshold OBJECT-TYPE dhcpv4ServerSubnetFreeAddrLowThreshold OBJECT-TYPE
SYNTAX Unsigned32 SYNTAX Unsigned32
MAX-ACCESS accessible-for-notify MAX-ACCESS accessible-for-notify
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The low threshold for available free addresses in this subnet. "The low threshold for available free addresses in this subnet.
If the value for available free addresses in this subnet If the value for available free addresses in this subnet
becomes equal to or less than this value, a becomes equal to or less than this value, a
serverSubnetFreeAddressLowThreshold event is generated for this dhcpv4ServerSubnetFreeAddrLowThreshold event will be generated
shared network. No more serverSubnetFreeAddressLowThreshold for this shared network. No more
events will be generated for this subnet during this execution dhcpv4ServerSubnetFreeAddrLowThreshold events will be generated
of the DHCP server until the value for available free addresses for this subnet during this execution of the DHCP server until
has exceeded the value of the value for available free addresses has exceeded the value
serverSubnetFreeAddressHighThreshold." of dhcpv4ServerSubnetFreeAddrHighThreshold."
::= { serverSubnetEntry 4 } ::= { dhcpv4ServerSubnetEntry 4 }
serverSharedNetworkFreeAddressHighThreshold OBJECT-TYPE dhcpv4ServerSubnetFreeAddrHighThreshold OBJECT-TYPE
SYNTAX Unsigned32 SYNTAX Unsigned32
MAX-ACCESS accessible-for-notify MAX-ACCESS accessible-for-notify
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The high threshold for available free addresses in this "The high threshold for available free addresses in this
subnet. If a serverSubnetFreeAddressLowThreshold event has subnet. If a dhcpv4ServerSubnetFreeAddrLowThreshold event has
been generated for this subnet, and the value for available been generated for this subnet, and the value for available
free addresses has exceeded the value of free addresses has exceeded the value of
serverSubnetFreeAddressHighThreshold, then a dhcpv4ServerSubnetFreeAddrHighThreshold, then a
serverFreeAddressessHigh event will be generated. No more dhcpv4ServerFreeAddressHigh event will be generated. No more
serverFreeAddressessHigh events will be generated for this dhcpv4ServerFreeAddressHigh events will be generated for this
subnet during this execution of the DHCP server until the value subnet during this execution of the DHCP server until the value
for available free addresses becomes equal to or less than the for available free addresses becomes equal to or less than the
value of serverSubnetFreeAddressHighThreshold." value of dhcpv4ServerSubnetFreeAddrHighThreshold."
::= { serverSubnetEntry 5 } ::= { dhcpv4ServerSubnetEntry 5 }
-- server range table dhcpv4ServerSubnetFreeAddresses OBJECT-TYPE
SYNTAX Unsigned32
MAX-ACCESS accessible-for-notify
STATUS current
DESCRIPTION
"The number of free IP addresses which are available in this
subnet."
::= { dhcpv4ServerSubnetEntry 6 }
serverRangeTable OBJECT-TYPE -- dhcpv4ServerRangeObjects Group
SYNTAX SEQUENCE OF serverRangeEntry
dhcpv4ServerRangeTable OBJECT-TYPE
SYNTAX SEQUENCE OF ServerRangeEntry
MAX-ACCESS not-accessible MAX-ACCESS not-accessible
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"A list of ranges that are configured on this server." "A list of ranges that are configured on this server."
::= { serverConfiguration 3 } ::= { dhcpv4ServerConfiguration 3 }
serverRangeEntry OBJECT-TYPE dhcpv4ServerRangeEntry OBJECT-TYPE
SYNTAX ServerRangeEntry SYNTAX ServerRangeEntry
MAX-ACCESS not-accessible MAX-ACCESS not-accessible
STATUS current STATUS current
INDEX { serverRangeStart }
DESCRIPTION DESCRIPTION
"A logical row in the serverRangeTable." "A logical row in the dhcpv4ServerRangeTable."
::= { serverRangeTable 1 } INDEX {
dhcpv4ServerRangeStartAddress,
dhcpv4ServerRangeEndAddress
}
::= { dhcpv4ServerRangeTable 1 }
ServerRangeEntry ::= SEQUENCE { ServerRangeEntry ::= SEQUENCE {
serverRangeStart InetAddressIPv4, dhcpv4ServerRangeStartAddress InetAddressIPv4,
serverRangeEnd InetAddressIPv4, dhcpv4ServerRangeEndAddress InetAddressIPv4,
serverRangeSubnetMask InetAddressPrefixLength, dhcpv4ServerRangeSubnetMask InetAddressPrefixLength,
serverRangeInUse Gauge32, dhcpv4ServerRangeInUse Gauge32,
serverRangeOutstandingOffers Gauge32 dhcpv4ServerRangeOutstandingOffers Gauge32
} }
serverRangeStart OBJECT-TYPE dhcpv4ServerRangeStartAddress OBJECT-TYPE
SYNTAX InetAddressIPv4 SYNTAX InetAddressIPv4
MAX-ACCESS read-only MAX-ACCESS not-accessible
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The IP address of the first address in the range. The value "The IP address of the first address in the range. The value
of range start must be less than or equal to the value of range of dhcpv4ServerRangeStartAddress must be less than or equal to
end." the value of dhcpv4ServerRangeEndAddress."
::= { serverRangeEntry 1 } ::= { dhcpv4ServerRangeEntry 1 }
serverRangeEnd OBJECT-TYPE dhcpv4ServerRangeEndAddress OBJECT-TYPE
SYNTAX InetAddressIPv4 SYNTAX InetAddressIPv4
MAX-ACCESS read-only MAX-ACCESS not-accessible
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The IP address of the last address in the range. The value of "The IP address of the last address in the range. The value of
range end must be greater than or equal to the value of range dhcpv4ServerRangeEndAddress must be greater than or equal to
start." the value of dhcpv4ServerRangeStartAddress."
::= { serverRangeEntry 2 } ::= { dhcpv4ServerRangeEntry 2 }
serverRangeSubnetMask OBJECT-TYPE dhcpv4ServerRangeSubnetMask OBJECT-TYPE
SYNTAX InetAddressPrefixLength SYNTAX InetAddressPrefixLength
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The subnet address mask for this range." "The subnet address mask for this range."
::= { serverRangeEntry 3 } ::= { dhcpv4ServerRangeEntry 3 }
serverRangeInUse OBJECT-TYPE
dhcpv4ServerRangeInUse OBJECT-TYPE
SYNTAX Gauge32 SYNTAX Gauge32
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The number of addresses in this range that are currently in "The number of addresses in this range that are currently in
use. This number includes those addresses whose lease has not use. This number includes those addresses whose lease has not
expired and addresses which have been reserved (either by the expired and addresses which have been reserved (either by the
server or through configuration)." server or through configuration)."
::= { serverRangeEntry 4 } ::= { dhcpv4ServerRangeEntry 4 }
serverRangeOutstandingOffers OBJECT-TYPE dhcpv4ServerRangeOutstandingOffers OBJECT-TYPE
SYNTAX Gauge32 SYNTAX Gauge32
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The number of outstanding DHCPOFFER messages for this range is "The number of outstanding DHCPOFFER messages for this range is
reported with this value. An offer is outstanding if the reported with this value. An offer is outstanding if the
server has sent a DHCPOFFER message to a client, but has not server has sent a DHCPOFFER message to a client, but has not
yet received a DHCPREQUEST message from the client nor has the yet received a DHCPREQUEST message from the client nor has the
server-specific timeout (limiting the time in which a client server-specific timeout (limiting the time in which a client
can respond to the offer message) for the offer message can respond to the offer message) for the offer message
expired." expired."
::= { serverRangeEntry 5 } ::= { dhcpv4ServerRangeEntry 5 }
-- server address table -- dhcpv4ServerAddressObjects Group
serverAddressTable OBJECT-TYPE dhcpv4ServerAddressTable OBJECT-TYPE
SYNTAX SEQUENCE OF serverAddressEntry SYNTAX SEQUENCE OF Dhcpv4ServerAddressEntry
MAX-ACCESS not-accessible MAX-ACCESS not-accessible
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"An optional list of addresses that are known by this server. "An optional list of addresses that are known by this server.
The list MUST contain addresses that have not expired. The The list MUST contain addresses that have not expired. The
list MUST NOT contain addresses that have never been assigned list MUST NOT contain addresses that have never been assigned
by the server UNLESS the lease is pre-configured in the server by the server UNLESS the lease is pre-configured in the server
(e.g., a static lease for a host). Expired leases MAY appear (e.g., a static lease for a host). Expired leases MAY appear
during the time they are 'remembered' by the server for during the time they are 'remembered' by the server for
subsequent assignment to the same host." subsequent assignment to the same host."
::= { serverConfiguration 4 } ::= { dhcpv4ServerConfiguration 4 }
serverAddressEntry OBJECT-TYPE dhcpv4ServerAddressEntry OBJECT-TYPE
SYNTAX ServerAddressEntry SYNTAX Dhcpv4ServerAddressEntry
MAX-ACCESS not-accessible MAX-ACCESS not-accessible
STATUS current STATUS current
INDEX { serverAddress }
DESCRIPTION DESCRIPTION
"A logical row in the serverAddressTable." "A logical row in the dhcpv4ServerAddressTable."
::= { serverAddressTable 1 } INDEX {
dhcpv4ServerAddress
}
::= { dhcpv4ServerAddressTable 1 }
ServerAddressEntry ::= SEQUENCE { Dhcpv4ServerAddressEntry ::= SEQUENCE {
serverAddress InetAddressIPv4, dhcpv4ServerAddress InetAddressIPv4,
serverAddressSubnetMask InetAddressPrefixLength, dhcpv4ServerAddressSubnetMask InetAddressPrefixLength,
serverAddressRange InetAddressIPv4, dhcpv4ServerAddressRange InetAddressIPv4,
serverAddressType INTEGER, dhcpv4ServerAddressLeaseType INTEGER,
serverAddressTimeRemaining Unsigned32, dhcpv4ServerAddressTimeRemaining Unsigned32,
serverAddressAllowedProtocol INTEGER, dhcpv4ServerAddressAllowedProtocol INTEGER,
serverAddressServedProtocol INTEGER, dhcpv4ServerAddressServedProtocol INTEGER,
serverAddressMacAddress OCTET STRING, dhcpv4ServerAddressPhysicalAddress DhcpPhysicalAddress,
serverAddressClientId OCTET STRING, dhcpv4ServerAddressClientId OCTET STRING,
serverAddressHostName SnmpAdminString, dhcpv4ServerAddressHostName SnmpAdminString,
serverAddressDomainName SnmpAdminString dhcpv4ServerAddressDomainName SnmpAdminString
} }
serverAddress OBJECT-TYPE dhcpv4ServerAddress OBJECT-TYPE
SYNTAX InetAddressIPv4 SYNTAX InetAddressIPv4
MAX-ACCESS not-accessible MAX-ACCESS not-accessible
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The IP address of the entry." "The IP address of this entry in the dhcpv4ServerAddressTable."
::= { serverAddressEntry 1 } ::= { dhcpv4ServerAddressEntry 1 }
serverAddressSubnetMask OBJECT-TYPE dhcpv4ServerAddressSubnetMask OBJECT-TYPE
SYNTAX InetAddressPrefixLength SYNTAX InetAddressPrefixLength
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The subnet mask (DHCP option 1) provided to the client offered "The subnet mask (DHCP option 1) provided to the client offered
this address. The subnet, resulting from logically ANDing the this address. The subnet, resulting from logically ANDing the
subnet mask with the entry's IP address, must be configured on subnet mask with the entry's IP address, must be configured on
this server and appear as a row in the dhcpSubnetTable." this server and appear as a row in the dhcpSubnetTable."
::= { serverAddressEntry 2 } ::= { dhcpv4ServerAddressEntry 2 }
serverAddressRange OBJECT-TYPE dhcpv4ServerAddressRange OBJECT-TYPE
SYNTAX InetAddressIPv4 SYNTAX InetAddressIPv4
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The starting IP address (serverRangeStart object) of the range "The starting IP address (dhcpv4ServerRangeStartAddress object)
to which this address belongs. If the address does not fall of the range to which this address belongs. If the address
into one of the configured ranges (e.g., a statically does not fall into one of the configured ranges (e.g., a
configured address on a subnet) the range may be 0.0.0.0." statically configured address on a subnet) the range may be
::= { serverAddressEntry 3 } 0.0.0.0."
::= { dhcpv4ServerAddressEntry 3 }
serverAddressType OBJECT-TYPE dhcpv4ServerAddressLeaseType OBJECT-TYPE
SYNTAX INTEGER { SYNTAX INTEGER {
static(1), static(1),
dynamic(2), dynamic(2),
expired(3), -- /*new*/ expired(3),
configuration-reserved(4), -- /*renumbered*/ configurationReserved(4),
server-reserved(5) -- /*renumbered*/ serverReserved(5)
} }
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The type of this address. Types are: "The type of this address. Types are:
(1) Static addresses defined by the server configuration. (1) Static addresses defined by the server configuration.
(2) Dynamic addresses defined by the server configuration (2) Dynamic addresses defined by the server configuration
AND actually assigned by the server. AND actually assigned by the server.
(3) Expired dynamic addresses, previously assigned by the (3) Expired dynamic addresses, previously assigned by the
server and 'remembered' for subsequent assignment to the server, and 'remembered' for subsequent assignment to
same host. the same host.
(4) Addresses reserved (i.e., not assignable) by the server (4) Addresses reserved (i.e., not assignable) by the server
configuration. configuration.
(5) Addresses previously assigned by the server, but (5) Addresses previously assigned by the server, but
temporarily or permanently removed from assignable state temporarily or permanently removed from assignable state
for some reason, e.g., the server received an ICMP for some reason, e.g., the server received an ICMP
ECHOREPLY for the IP address or a DHCPDECLINE message ECHOREPLY for the IP address or a DHCPDECLINE message
has been received for the IP address." has been received for the IP address."
::= { serverAddressEntry 4 } ::= { dhcpv4ServerAddressEntry 4 }
serverAddressTimeRemaining OBJECT-TYPE dhcpv4ServerAddressTimeRemaining OBJECT-TYPE
SYNTAX Unsigned32 SYNTAX Unsigned32
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The number of seconds until the lease expires. A value of "The number of seconds until the lease expires. A value of
4294967295 (i.e., 0xFFFFFFFF) should be used for leases that 4294967295 (i.e., 0xFFFFFFFF) should be used for leases that
have a lease time which is 'infinite' and for BOOTP leases." have a lease time which is 'infinite' and for BOOTP leases."
::= { serverAddressEntry 5 } ::= { dhcpv4ServerAddressEntry 5 }
serverAddressAllowedProtocol OBJECT-TYPE dhcpv4ServerAddressAllowedProtocol OBJECT-TYPE
SYNTAX INTEGER { SYNTAX INTEGER {
none(1), none(1),
bootp(2), bootp(2),
dhcp(3), dhcp(3),
bootp-or-dhcp(4) bootpOrDhcp(4)
} }
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The type of protocol that is allowed to be used to serve this "The type of protocol that is allowed to be used to serve this
address. A type of none (1) indicates that the address is not address. A type of none (1) indicates that the address is not
available to be served (e.g., a reserved address).Type (2) are available to be served (e.g., a reserved address). Type (2)
reserved for BOOTP only devices, while type (3) are reserved are reserved for BOOTP only devices, while type (3) are
for DHCP only devices. A type of bootp-or-dhcp (4) may be reserved for DHCP only devices. A type of bootp-or-dhcp (4)
offered to any type of client." may be offered to any type of client."
::= { serverAddressEntry 6 } ::= { dhcpv4ServerAddressEntry 6 }
serverAddressServedProtocol OBJECT-TYPE
dhcpv4ServerAddressServedProtocol OBJECT-TYPE
SYNTAX INTEGER { SYNTAX INTEGER {
none(1), none(1),
bootp(2), bootp(2),
dhcp(3) dhcp(3)
} }
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The type of protocol that was used when this address was "The type of protocol that was used when this address was
assigned. This object will have the value of none (1) if the assigned. This object will have the value of none (1) if the
address has not been served." address has not been served."
::= { serverAddressEntry 7 } ::= { dhcpv4ServerAddressEntry 7 }
serverAddressHardwareAddress OBJECT-TYPE dhcpv4ServerAddressPhysicalAddress OBJECT-TYPE
SYNTAX PhysicalAddress SYNTAX DhcpPhysicalAddress
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The hardware type and hardware address of the client that has "The hardware type and hardware address of the client that has
been assigned this lease. The first octet of this object been assigned this lease. The first octet of this object
contains the hardware type from the 'htype' field of the BOOTP contains the hardware type from the 'htype' field of the BOOTP
packet and the remaining octets contain the hardware address packet and the remaining octets contain the hardware address
from the 'chaddr' field of the BOOTP packet. This object may from the 'chaddr' field of the BOOTP packet. This object may
be empty if the address has not been previously served." be empty if the address has not been previously served."
::= { serverAddressEntry 8 } ::= { dhcpv4ServerAddressEntry 8 }
serverAddressClientId OBJECT-TYPE dhcpv4ServerAddressClientId OBJECT-TYPE
SYNTAX OCTET STRING (SIZE (0..255)) SYNTAX OCTET STRING (SIZE (0..255))
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The client-id of the client that has been assigned this lease. "The client-id of the client that has been assigned this lease.
The client-id is the value specified in option 61 (client-id The client-id is the value specified in option 61 (client-id
option) when the lease was assigned. This object may be empty option) when the lease was assigned. This object may be empty
if the lease has not been previously assigned or if the client- if the lease has not been previously assigned or if the client-
id option was not specified when the address was assigned." id option was not specified when the address was assigned."
::= { serverAddressEntry 9 } ::= { dhcpv4ServerAddressEntry 9 }
serverAddressHostName OBJECT-TYPE dhcpv4ServerAddressHostName OBJECT-TYPE
SYNTAX SnmpAdminString (SIZE (1..255)) SYNTAX SnmpAdminString (SIZE (1..255))
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The host name (DHCP option 12) the client is configured to "The host name (DHCP option 12) the client is configured to
use, or if no host name was configured then the host name that use, or if no host name was configured then the host name that
the client supplied when requesting an address. While this the client supplied when requesting an address. While this
object has a maximum size of 255 octets, a Fully-Qualified object has a maximum size of 255 octets, a Fully-Qualified
Domain Name (FQDN) consisting of a Host Name part and a Domain Domain Name (FQDN) consisting of a Host Name part and a Domain
Name part is currently limited to 255 octets. Therefore, the Name part is currently limited to 255 octets. Therefore, the
sum of the string lengths for this object and the sum of the string lengths for this object and the
serverAddressDomainName must, in practice, be less than 256 dhcpv4ServerAddressDomainName must be, in practice, less than
octets." 256 octets."
::= { serverAddressEntry 10 } ::= { dhcpv4ServerAddressEntry 10 }
serverAddressDomainName OBJECT-TYPE dhcpv4ServerAddressDomainName OBJECT-TYPE
SYNTAX SnmpAdminString (SIZE (1..255)) SYNTAX SnmpAdminString (SIZE (1..255))
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The domain name (DHCP option 15) assigned to the client. "The domain name (DHCP option 15) assigned to the client.
While this object has a maximum size of 255 octets, a Fully- While this object has a maximum size of 255 octets, a Fully-
Qualified Domain Name (FQDN) consisting of a Host Name part and Qualified Domain Name (FQDN) consisting of a Host Name part and
a Domain Name part is currently limited to 255 octets, less the a Domain Name part is currently limited to 255 octets, less the
separator (".") character. Therefore, the sum of the string separator ('.') character. Therefore, the sum of the string
lengths for this object and the serverAddressHostName must, in lengths for this object and the dhcpv4ServerAddressHostName
practice, be less than 256 octets." must be, in practice, less than 256 octets."
::= { serverAddressEntry 11 } ::= { dhcpv4ServerAddressEntry 11 }
-- Server Client Table -- dhcpv4ServerClientObjects Group
serverClientTable OBJECT-TYPE dhcpv4ServerClientTable OBJECT-TYPE
SYNTAX SEQUENCE OF serverClientEntry SYNTAX SEQUENCE OF Dhcpv4ServerClientEntry
MAX-ACCESS not-accessible MAX-ACCESS not-accessible
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"A list of clients that are known by this server. Details "A list of clients that are known by this server. Details
about the clients may be found by indexing into the about the clients may be found by indexing into the
serverAddressTable using the serverClientHardwareAddress and dhcpv4ServerAddressTable using the
serverClientAddress objects. This table is indexed first by dhcpv4ServerClientHardwareAddress, and
the MAC address of the client and then by the subnet address on dhcpv4ServerClientAddress objects. This table is indexed first
which the client resides. The subnet is included as an index by the MAC address of the client and then by the subnet address
since a MAC address is only guaranteed to be unique within a on which the client resides. The subnet is included as an
subnet (i.e., a MAC address is not globally unique)." index since a MAC address is only guaranteed to be unique
::= { serverConfiguration 5 } within a subnet (i.e., a MAC address is not globally unique)."
::= { dhcpv4ServerConfiguration 5 }
serverClientEntry OBJECT-TYPE dhcpv4ServerClientEntry OBJECT-TYPE
SYNTAX ServerClientEntry SYNTAX Dhcpv4ServerClientEntry
MAX-ACCESS not-accessible MAX-ACCESS not-accessible
STATUS current STATUS current
INDEX { serverClientHardwareAddress, serverClientAddress }
DESCRIPTION DESCRIPTION
"A logical row in the serverClientTable. An entry in this "A logical row in the dhcpv4ServerClientTable. An entry in
table may be a client that requested an address but was refused this table may be a client that requested an address, but was
(e.g., not authorized).Servers MAY track these types of clients refused (e.g., not authorized.) Servers MAY track these types
if desired and may choose to remove such client entries using a of clients if desired and may choose to remove such client
server defined algorithm. As an example, a server may choose entries using a server-defined algorithm. As an example, a
to keep client request that does not map to an address for a server may choose to keep client request that does not map to
one hour time period before removing that entry from this an address for a one hour time period before removing that
table." entry from this table."
::= { serverClientTable 1 } INDEX {
dhcpv4ServerClientHardwareAddress,
dhcpv4ServerClientAddress
}
::= { dhcpv4ServerClientTable 1 }
ServerClientEntry ::= SEQUENCE { Dhcpv4ServerClientEntry ::= SEQUENCE {
serverClientHardwareAddress PhysicalAddress dhcpv4ServerClientHardwareAddress DhcpPhysicalAddress,
serverClientAddress InetAddressIPv4, dhcpv4ServerClientAddress InetAddressIPv4,
serverClientSubnetMask InetAddressPrefixLength, dhcpv4ServerClientSubnetMask InetAddressPrefixLength,
serverClientLastRequestTime DateAndTime, dhcpv4ServerClientLastRequestTime DhcpTimeInterval,
serverClientLastRequestType INTEGER, dhcpv4ServerClientLastRequestType INTEGER,
serverClientLastResponseType INTEGER dhcpv4ServerClientLastResponseType INTEGER
} }
serverClientHardwareAddress OBJECT-TYPE dhcpv4ServerClientHardwareAddress OBJECT-TYPE
SYNTAX PhysicalAddress SYNTAX DhcpPhysicalAddress
MAX-ACCESS not-accessible MAX-ACCESS not-accessible
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The hardware type and hardware address of the client that has "The hardware type and hardware address of the client that has
been assigned this lease. The first octet of this object been assigned this lease."
contains the hardware type from the 'htype' field of the BOOTP ::= { dhcpv4ServerClientEntry 1 }
packet and the remaining octets contain the hardware address
from the 'chaddr' field of the BOOTP packet."
::= { serverClientEntry 1 }
serverClientAddress OBJECT-TYPE dhcpv4ServerClientAddress OBJECT-TYPE
SYNTAX InetAddressIPv4 SYNTAX InetAddressIPv4
MAX-ACCESS read-only MAX-ACCESS not-accessible
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The IP address of the entry. May be used to index into the "The IP address of the entry, used to index into the
serverAddressTable. May be 0.0.0.0 if an address is not dhcpv4ServerAddressTable. May be 0.0.0.0 if an address is not
associated with this client." associated with this client."
::= { serverClientEntry 2 } ::= { dhcpv4ServerClientEntry 2 }
serverClientSubnetMask OBJECT-TYPE dhcpv4ServerClientSubnetMask OBJECT-TYPE
SYNTAX InetAddressPrefixLength SYNTAX InetAddressPrefixLength
MAX-ACCESS not-accessible MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The subnet mask (DHCP option 1) applied to "The subnet mask (DHCP option 1) applied to
serverClientAddress." dhcpv4ServerClientAddress."
::= { serverClientEntry 3 } ::= { dhcpv4ServerClientEntry 3 }
serverClientLastRequestTime OBJECT-TYPE dhcpv4ServerClientLastRequestTime OBJECT-TYPE
SYNTAX DhcpTimeInterval SYNTAX DhcpTimeInterval
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The timestamp of the last request received, to millisecond "The timestamp of the last request received, to millisecond
precision if available on the server." precision if available on the server."
::= { serverClientEntry 4 } ::= { dhcpv4ServerClientEntry 4 }
serverClientLastRequestType OBJECT-TYPE dhcpv4ServerClientLastRequestType OBJECT-TYPE
SYNTAX INTEGER { SYNTAX INTEGER {
bootprequest(0) bootprequest(0),
dhcpdiscover(1), dhcpdiscover(1),
dhcprequest(3), dhcprequest(3),
dhcpdecline(4), dhcpdecline(4),
dhcprelease(7), dhcprelease(7),
dhcpinform(8) dhcpinform(8),
dhcpleasequery(TBD), -- /*new*/ dhcpleasequery(TBD) -- IANA will assign this value
} }
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The type of the last request message received for this "The type of the last request message received for this client.
client.If the server does not capture this information, the If the server does not capture this information, the value
value 32,767 is returned." 32,767 is returned."
REFERENCE REFERENCE
"RFC2131; RFC2132, section 9.6; draft-ietf-dhc-leasequery- "RFC2131; RFC2132, section 9.6; draft-ietf-dhc-leasequery-
02.txt." 04.txt."
::= { serverClientEntry 5 } ::= { dhcpv4ServerClientEntry 5 }
serverClientLastResponseType OBJECT-TYPE dhcpv4ServerClientLastResponseType OBJECT-TYPE
SYNTAX INTEGER { SYNTAX INTEGER {
bootpreply(1), bootpreply(1),
dhcpoffer(2), dhcpoffer(2),
dhcpack(5), dhcpack(5),
dhcpnak(6) dhcpnak(6),
dhcpknown(TBD), -- /*new*/ dhcpforcerenew(9),
dhcpunknown(TBD) -- /*new*/ dhcpknown(TBD), -- value to be assigned by IANA
dhcpunknown(TBD), -- value to be assigned by IANA
dhcpactive(TBD), -- value to be assigned by IANA
dhcpunidentified(TBD) -- value to be assigned by IANA
} }
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The type of the last response message sent to this client. If "The type of the last response message sent to this client. If
the server does not capture this information, the value 32,767 the server does not capture this information, the value 32,767
is returned." is returned."
REFERENCE REFERENCE
"RFC2131; RFC2132, section 9.6;draft-ietf-dhc-pv4-reconfigure- "RFC2131; RFC2132, section 9.6; draft-ietf-dhc-leasequery-
06.txt;draft-ietf-dhc-leasequery-02.txt" 04.txt"
::= { serverClientEntry 6 } ::= { dhcpv4ServerClientEntry 6 }
-- serverNotifyObjects: Objects which are used only in notifications -- dhcpv4ServerNotifyObjects Group
serverNotifyDuplicateIpAddress OBJECT-TYPE dhcpv4ServerNotifyDuplicateIpAddr OBJECT-TYPE
SYNTAX InetAddressIPv4 SYNTAX InetAddressIPv4
MAX-ACCESS accessible-for-notify MAX-ACCESS accessible-for-notify
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The IP address found to be a duplicate. Duplicates are "The IP address found to be a duplicate. Duplicates are
detected by servers which issue an ICMP ECHOREQUEST prior to detected by servers, which issue an ICMP ECHOREQUEST prior to
offering an IP address lease." offering an IP address lease, or by a client issuing a
::= { serverNotifyObjects 1 } gratuitous ARP message and reported through a DHCPDECLINE
message."
::= { dhcpv4ServerNotifyObjects 1 }
serverNotifyDuplicateMAC OBJECT-TYPE dhcpv4ServerNotifyDuplicateMac OBJECT-TYPE
SYNTAX PhysicalAddress SYNTAX DhcpPhysicalAddress
MAX-ACCESS accessible-for-notify MAX-ACCESS accessible-for-notify
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The offending MAC address which caused a duplicate IP address "The offending MAC address which caused a duplicate IP address
to be detected, if captured by the server, else 00-00-00-00-00- to be detected, if captured by the server, else 00-00-00-00-00-
00." 00."
::= { serverNotifyObjects 2 } ::= { dhcpv4ServerNotifyObjects 2 }
serverNotifyClientDuplicateIP OBJECT-TYPE -- /*renamed*/ dhcpv4ServerNotifyClientOrServerDetected OBJECT-TYPE
SYNTAX InetAddressIPv4 SYNTAX INTEGER {
client(1),
server(2)
}
MAX-ACCESS accessible-for-notify MAX-ACCESS accessible-for-notify
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The IP Address offered by a server that the requesting client "Duplicate IP addresses may be detected either by a server,
has determined to be a duplicate, detected by means of a using an ICMP ECHO message, or by a client using ARP. This
gratuitous ARP message and reported through a DHCPDECLINE object is set by the server to (1) if the client used
message." DHCPDECLINE to mark the offered address as in-use, or to (2) if
::= { serverNotifyObjects 3 } the server discovered the address in use by some client before
offering it."
::= { dhcpv4ServerNotifyObjects 3 }
dhcpv4ServerNotifyServerStart OBJECT-TYPE
SYNTAX DateAndTime
MAX-ACCESS accessible-for-notify
STATUS current
DESCRIPTION
"The date and time when the server began operation."
::= { dhcpv4ServerNotifyObjects 4 }
dhcpv4ServerNotifyServerStop OBJECT-TYPE
SYNTAX DateAndTime
MAX-ACCESS accessible-for-notify
STATUS current
DESCRIPTION
"The date and time when the server ceased operation."
::= { dhcpv4ServerNotifyObjects 5 }
-- Notifications -- Notifications
serverMIBNotificationPrefix OBJECT IDENTIFIER dhcpv4ServerNotificationPrefix OBJECT IDENTIFIER
::= { serverMIB 2 }serverMIBNotifications OBJECT IDENTIFIER ::= { dhcpv4Server 2 }
::= { serverMIBNotificationPrefix 0 }
serverFreeAddressLow NOTIFICATION-TYPE dhcpv4ServerNotifications OBJECT IDENTIFIER
::= { dhcpv4ServerNotificationPrefix 0 }
dhcpv4ServerFreeAddressLow NOTIFICATION-TYPE
OBJECTS { OBJECTS {
serverSharedNetworkFreeAddressLowThreshold, dhcpv4ServerSharedNetFreeAddrLowThreshold,
serverSharedNetworkFreeAddresses dhcpv4ServerSharedNetFreeAddresses
} }
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"This notification signifies that the number of available IP "This notification signifies that the number of available IP
addresses for a particular shared network has fallen below the addresses for a particular shared network has fallen below the
value of serverSharedNetworkFreeAddressLowThreshold for that value of dhcpv4ServerSharedNetFreeAddrLowThreshold for that
shared network." shared network."
::= { serverMIBNotifications 1 } ::= { dhcpv4ServerNotifications 1 }
serverFreeAddressHigh NOTIFICATION-TYPE dhcpv4ServerFreeAddressHigh NOTIFICATION-TYPE
OBJECTS { OBJECTS {
serverSharedNetworkFreeAddressHighThreshold, dhcpv4ServerSharedNetFreeAddrHighThreshold,
serverSharedNetworkFreeAddresses dhcpv4ServerSharedNetFreeAddresses
} }
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"This notification signifies that the number of available IP "This notification signifies that the number of available IP
addresses for a particular shared network has risen above the addresses for a particular shared network has risen above the
value of serverSharedNetworkFreeAddressHighThreshold for that value of dhcpv4ServerSharedNetFreeAddrHighThreshold for that
shared network." shared network."
::= { serverMIBNotifications 2 } ::= { dhcpv4ServerNotifications 2 }
serverServerStart NOTIFICATION-TYPE dhcpv4ServerStartTime NOTIFICATION-TYPE
OBJECTS { serverNotifyClientDuplicateIP } OBJECTS { dhcpv4ServerNotifyServerStart }
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"This notification signifies that the server of the specified "This notification signifies that the server of the specified
type has started on the host from which this notification has type has started on the host from which this notification has
been sent." been sent."
::= { serverMIBNotifications 3 } ::= { dhcpv4ServerNotifications 3 }
serverServerStop NOTIFICATION-TYPE dhcpv4ServerStopTime NOTIFICATION-TYPE
OBJECTS { serverNotifyClientDuplicateIP } OBJECTS { dhcpv4ServerNotifyServerStop }
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"This notification signifies that the server of the specified "This notification signifies that the server of the specified
type has stopped normally on the host from which this type has stopped normally on the host from which this
notification has been sent." notification has been sent."
::= { serverMIBNotifications 4 } ::= { dhcpv4ServerNotifications 4 }
serverDuplicateAddress NOTIFICATION-TYPE dhcpv4ServerDuplicateAddress NOTIFICATION-TYPE
OBJECTS { OBJECTS {
serverNotifyDuplicateIpAddress, dhcpv4ServerNotifyDuplicateIpAddr,
serverNotifyDuplicateMAC, dhcpv4ServerNotifyDuplicateMac,
serverNotifyClientDuplicateMAC dhcpv4ServerNotifyClientOrServerDetected
} }
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"This notification signifies that a duplicate IP address has "This notification signifies that a duplicate IP address has
been detected. The DHCP server can detect this condition been detected. The DHCP server can detect this condition
through the ping-before-offer mechanism. Alternatively, the through the ping-before-offer mechanism. Alternatively, the
client may have sent a DHCPDECLINE back to the server; this is client may have sent a DHCPDECLINE back to the server; this is
assumed to be the result of the client detecting that the assumed to be the result of the client detecting that the
address was in use. In either case, the DHCP server marks the address was in use. In either case, the DHCP server marks the
IP address as unavailable for leasing to clients. The IP address as unavailable for leasing to clients. The
serverNotifyClientDuplicateMAC object indicates whether the dhcpv4ServerNotifyClientOrServerDetected object indicates
client or server detected this condition." whether the client or server detected this condition."
::= { serverMIBNotifications 5 } -- /*renumbered*/ ::= { dhcpv4ServerNotifications 5 }
serverAddressConflict NOTIFICATION-TYPE
OBJECTS { serverNotifyClientDuplicateIP }
STATUS current
DESCRIPTION
::= { serverMIBNotifications 6 } -- /*renumbered*/
-- Conformance -- Conformance
serverMIBConformanceOBJECT-IDENTITY dhcpv4ServerConformance OBJECT-IDENTITY
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"DHCP Server MIB objects are all defined in this branch." "DHCP server conformance objects are all defined in this
::= { serverMIB 3 } branch."
::= { dhcpv4Server 3 }
serverMIBCompliancesOBJECT IDENTIFIER dhcpv4ServerCompliances OBJECT IDENTIFIER
::= { serverMIBConformance 1 } ::= { dhcpv4ServerConformance 1 }
serverMIBGroupsOBJECT IDENTIFIER dhcpv4ServerGroups OBJECT IDENTIFIER
::= { serverMIBConformance 2 } ::= { dhcpv4ServerConformance 2 }
-- Compliance groups -- Compliance groups
serverMIBCompliance MODULE-COMPLIANCE dhcpv4ServerCompliance MODULE-COMPLIANCE
STATUS current
DESCRIPTION
"This group describes the requirements for conformance to the
DHCP Server MIB. A DHCPv4 server implementation is only
required to support IPv4 addresses. In particular, this
comment applies to the following objects with MAX-ACCESS not-
accessible:
dhcpv4ServerSubnet
dhcpv4ServerRangeStart
dhcpv4ServerRangeEnd
dhcpv4ServerAddress
dhcpv4ServerClientAddress."
MODULE -- this module MODULE -- this module
MANDATORY-GROUPS { MANDATORY-GROUPS {
serverSystemGroup, dhcpv4ServerSystemObjects,
bootpCountersGroup, bootpCounterObjects,
dhcpCountersGroup, dhcpv4RecvdPacketCounterObjects,
serverConfigurationGroup, dhcpv4SentPacketCounterObjects,
serverClientsGroup dhcpv4ErrorPacketCounterObjects,
} dhcpv4ServerSharedNetObjects,
OPTIONAL-GROUPS { dhcpv4ServerSubnetObjects,
bootpOptionalStatisticsGroup, dhcpv4ServerRangeObjects,
dhcpOptionalStatisticsGroup dhcpv4ServerAddressObjects,
dhcpv4ServerClientObjects,
dhcpv4ServerNotifyObjectsGroup,
dhcpv4ServerNotificationsGroup
} }
STATUS current GROUP bootpOptionalStatisticObjects
DESCRIPTION DESCRIPTION
"Describes the requirements for conformance to the DCHP Server "Mandatory only for servers that capture the optional BOOTP
MIB" statistics."
::= { serverMIBCompliances 1 }
GROUP dhcpv4OptionalStatisticObjects
DESCRIPTION
"Mandatory only for servers that capture the optional DHCPv4
statistics."
::= { dhcpv4ServerCompliances 1 }
-- Object groups -- Object groups
serverSystemGroup OBJECT-GROUP dhcpv4ServerSystemObjects OBJECT-GROUP
OBJECTS { OBJECTS {
serverSystemDescr, dhcpv4ServerSystemDescr,
serverSystemObjectID dhcpv4ServerSystemObjectID
} }
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"Objects belonging to the serverSystemGroup." "Objects belonging to the dhcpv4ServerSystemObjects group."
::= { serverMIBGroups 1 } ::= { dhcpv4ServerGroups 1 }
bootpCountersGroup OBJECT-GROUP bootpCounterObjects OBJECT-GROUP
OBJECTS { OBJECTS {
bootpCountRequests, bootpCountRequests,
bootpCountInvalids, bootpCountInvalids,
bootpCountReplies, bootpCountReplies,
bootpCountDroppedUnknownClients, bootpCountDroppedUnknownClients,
bootpCountDroppedNotServingSubnet bootpCountDroppedNotServingSubnet
} }
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"Objects belonging to the bootpBountersGroup." "Objects belonging to the bootpBounterObjects group."
::= { serverMIBGroups 2 } ::= { dhcpv4ServerGroups 2 }
dhcpCountersGroup OBJECT-GROUP dhcpv4RecvdPacketCounterObjects OBJECT-GROUP
OBJECTS { OBJECTS {
dhcpCountDiscovers, dhcpv4CountDiscovers,
dhcpCountRequests, dhcpv4CountRequests,
dhcpCountReleases, dhcpv4CountReleases,
dhcpCountDeclines, dhcpv4CountDeclines,
dhcpCountInforms, dhcpv4CountInforms,
dhcpCountLeaseQueries dhcpv4CountLeaseQueries
dhcpCountPlaceHolder1
dhcpCountPlaceHolder2
dhcpCountOffers,
dhcpCountAcks,
dhcpCountNacks,
dhcpCountForcedRenews
dhcpCountKnowns
dhcpCountUnknowns
dhcpCountActives
dhcpCountUnimplementeds
dhcpCountPlaceHolder3
dhcpCountPlaceHolder4
dhcpCountInvalids,
dhcpCountDroppedUnknownClient,
dhcpCountDroppedNotServingSubnet
} }
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"Objects belonging to the dhcpCountersGroup." "Objects belonging to the dhcpv4RecvdPacketCounterObjects
::= { serverMIBGroups 3 } group."
::= { dhcpv4ServerGroups 3 }
bootpOptionalStatisticsGroup OBJECT-GROUP dhcpv4SentPacketCounterObjects OBJECT-GROUP
OBJECTS {
dhcpv4CountOffers,
dhcpv4CountAcks,
dhcpv4CountNacks,
dhcpv4CountForcedRenews,
dhcpv4CountKnowns,
dhcpv4CountUnknowns,
dhcpv4CountActives,
dhcpv4CountUnimplementeds
}
STATUS current
DESCRIPTION
"Objects belonging to the dhcpv4SentPacketCounterObjects
group."
::= { dhcpv4ServerGroups 4 }
dhcpv4ErrorPacketCounterObjects OBJECT-GROUP
OBJECTS {
dhcpv4CountInvalids,
dhcpv4CountDroppedUnknownClient,
dhcpv4CountDroppedNotServingSubnet
}
STATUS current
DESCRIPTION
"Objects belonging to the dhcpv4ErrorPacketCounterObjects
group."
::= { dhcpv4ServerGroups 5 }
bootpOptionalStatisticObjects OBJECT-GROUP
OBJECTS { OBJECTS {
bootpStatMinArrivalInterval, bootpStatMinArrivalInterval,
bootpStatMaxArrivalInterval, bootpStatMaxArrivalInterval,
bootpStatLastArrivalTime, bootpStatLastArrivalTime,
bootpStatSumSquaresArrivalTime, bootpStatSumSquaresArrivalTime,
bootpStatMinResponseTime, bootpStatMinResponseTime,
bootpStatMaxResponseTime, bootpStatMaxResponseTime,
bootpStatSumReponseTime, bootpStatSumResponseTime,
bootpStatSumSquaresResponseTime bootpStatSumSquaresResponseTime
} }
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"Objects belonging to the bootpOptionalStatisticsGroup." "Objects belonging to the bootpOptionalStatisticObjects group."
::= { serverMIBGroups 4 } ::= { dhcpv4ServerGroups 6 }
dhcpOptionalStatisticsGroup OBJECT-GROUP dhcpv4OptionalStatisticObjects OBJECT-GROUP
OBJECTS { OBJECTS {
dhcpStatMinArrivalInterval, dhcpv4StatMinArrivalInterval,
dhcpStatMaxArrivalInterval, dhcpv4StatMaxArrivalInterval,
dhcpStatLastArrivalTime, dhcpv4StatLastArrivalTime,
dhcpStatSumSquaresArrivalTime, dhcpv4StatSumSquaresArrivalTime,
dhcpStatMinResponseTime, dhcpv4StatMinResponseTime,
dhcpStatMaxResponseTime, dhcpv4StatMaxResponseTime,
dhcpStatSumResponseTime, dhcpv4StatSumResponseTime,
dhcpStatSumSquaresResponseTime dhcpv4StatSumSquaresResponseTime
} }
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"Objects belonging to the dhcpOptionalStatisticsGroup." "Objects belonging to the dhcpv4OptionalStatisticObjects
::= { serverMIBGroups 5 } group."
::= { dhcpv4ServerGroups 7 }
serverConfigurationGroup OBJECT-GROUP dhcpv4ServerSharedNetObjects OBJECT-GROUP
OBJECTS { OBJECTS {
serverSubnet, dhcpv4ServerSharedNetFreeAddrLowThreshold,
serverSubnetMask, dhcpv4ServerSharedNetFreeAddrHighThreshold,
serverSubnetSharedNetwork, dhcpv4ServerSharedNetFreeAddresses,
serverRangeStart, dhcpv4ServerSharedNetReservedAddresses,
serverRangeEnd, dhcpv4ServerSharedNetTotalAddresses
serverRangeSubnetMask,
serverRangeInUse,
serverRangeOutstandingOffers,
serverAddress,
serverAddressSubnetMask,
serverAddressRange,
serverAddressType,
serverAddressTimeRemaining,
serverAddressAllowedProtocol,
serverAddressServedProtocol,
serverAddressHardwareAddress,
serverAddressClientId,
serverAddressHostName,
serverAddressDomainName
} }
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"Objects belonging to the serverConfigurationGroup." "Objects belonging to the dhcpv4ServerSharedNetObjects group."
::= { serverMIBGroups 6 } ::= { dhcpv4ServerGroups 8 }
serverClientsGroup OBJECT-GROUP dhcpv4ServerSubnetObjects OBJECT-GROUP
OBJECTS { OBJECTS {
serverClientHardwareAddress, dhcpv4ServerSubnetMask,
serverClientSubnetMask, dhcpv4ServerSubnetSharedNetworkName,
serverClientAddress, dhcpv4ServerSubnetFreeAddrLowThreshold,
serverClientLastRequestTime, dhcpv4ServerSubnetFreeAddrHighThreshold,
serverClientLastRequestType, dhcpv4ServerSubnetFreeAddresses
serverClientLastResponseType
} }
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"Objects belonging to the serverClientsGroup." "Objects belonging to the dhcpv4ServerSubnetObjects group."
::= { serverMIBGroups 7 } ::= { dhcpv4ServerGroups 9 }
serverSharedNetworkObjectsGroup OBJECT-GROUP dhcpv4ServerRangeObjects OBJECT-GROUP
OBJECTS { OBJECTS {
serverSharedNetworkFreeAddressLowThreshold, dhcpv4ServerRangeSubnetMask,
serverSharedNetworkFreeAddressHighThreshold, dhcpv4ServerRangeInUse,
serverSharedNetworkFreeAddressValue dhcpv4ServerRangeOutstandingOffers
} }
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"DHCP Server MIB objects used in shared networks." "Objects belonging to the dhcpv4ServerRangeObjects group."
::= { serverMIBGroups 8 } ::= { dhcpv4ServerGroups 10 }
serverNotifyObjectsGroup OBJECT-GROUP dhcpv4ServerAddressObjects OBJECT-GROUP
OBJECTS { OBJECTS {
serverNotifyDuplicateIpAddress, dhcpv4ServerAddressSubnetMask,
serverNotifyDuplicateMAC, dhcpv4ServerAddressRange,
serverNotifyClientDuplicateMAC, dhcpv4ServerAddressLeaseType,
serverNotifyClientDuplicateIP, dhcpv4ServerAddressTimeRemaining,
serverNotifyContestedIpAddress dhcpv4ServerAddressAllowedProtocol,
dhcpv4ServerAddressServedProtocol,
dhcpv4ServerAddressPhysicalAddress,
dhcpv4ServerAddressClientId,
dhcpv4ServerAddressHostName,
dhcpv4ServerAddressDomainName
} }
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"DHCP Server MIB objects used in notifications." "Objects belonging to the dhcpv4ServerAddressObjects group."
::= { serverMIBGroups 9 } ::= { dhcpv4ServerGroups 11 }
serverNotificationsGroup NOTIFICATION-GROUP dhcpv4ServerClientObjects OBJECT-GROUP
OBJECTS {
dhcpv4ServerClientSubnetMask,
dhcpv4ServerClientLastRequestTime,
dhcpv4ServerClientLastRequestType,
dhcpv4ServerClientLastResponseType
}
STATUS current
DESCRIPTION
"Objects belonging to the dhcpv4ServerClientObjects group."
::= { dhcpv4ServerGroups 12 }
dhcpv4ServerNotifyObjectsGroup OBJECT-GROUP
OBJECTS {
dhcpv4ServerNotifyDuplicateIpAddr,
dhcpv4ServerNotifyDuplicateMac,
dhcpv4ServerNotifyClientOrServerDetected,
dhcpv4ServerNotifyServerStart,
dhcpv4ServerNotifyServerStop
}
STATUS current
DESCRIPTION
"Objects belonging to the dhcpv4ServerNotifyObjects group."
::= { dhcpv4ServerGroups 13 }
dhcpv4ServerNotificationsGroup NOTIFICATION-GROUP
NOTIFICATIONS { NOTIFICATIONS {
serverFreeAddressLow, dhcpv4ServerFreeAddressLow,
serverFreeAddressHigh, dhcpv4ServerFreeAddressHigh,
serverServerStart, dhcpv4ServerStartTime,
serverServerStop, dhcpv4ServerStopTime,
serverDNSQueueTooBig, dhcpv4ServerDuplicateAddress
serverOtherServerNotResponding,
serverDuplicateAddress,
serverAddressConflict,
serverOtherServerResponding,
serverFailoverConfigMismatch
} }
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"Notifications that are implemented by the DHCP Server agent." "Notifications belonging to the dhcpv4ServerNotifications
::= { serverMIBGroups 10 } group."
::= { dhcpv4ServerGroups 14 }
END END
5. Intellectual Property 5. Intellectual Property
The IETF takes no position regarding the validity or scope of any The IETF takes no position regarding the validity or scope of any
intellectual property or other rights that might be claimed to intellectual property or other rights that might be claimed to
pertain to the implementation or use of the technology described in pertain to the implementation or use of the technology described in
this document or the extent to which any license under such rights this document or the extent to which any license under such rights
might or might not be available; neither does it represent that it might or might not be available; neither does it represent that it
has made any effort to identify any such rights. Information on the has made any effort to identify any such rights. Information on the
IETF's procedures with respect to rights in standards-track and IETF's procedures with respect to rights in standards-track and
standards-related documentation can be found in BCP-11. standards-related documentation can be found in BCP-11.
skipping to change at page 43, line 7 skipping to change at page 44, line 34
this standard. Please address the information to the IETF Executive this standard. Please address the information to the IETF Executive
Director. Director.
6. Notes 6. Notes
This section will be removed when this memo goes to Working Group This section will be removed when this memo goes to Working Group
Last Call. Last Call.
6.1. Issues 6.1. Issues
Not all of these issues have been resolved, even in the latest (-07) Not all of these issues have been resolved, even in the latest (-08)
draft. Some may become items for future study, while some will draft. Some may become items for future study, while some will
probably be dropped. probably be dropped.
o Are placeholders for expected DHCP option values a good or bad
idea?
o Ryan Troll proposed four or five traps that Nathan Lane o Ryan Troll proposed four or five traps that Nathan Lane
enthusiastically supported, but it has been difficult to achieve enthusiastically supported, but it has been difficult to achieve
any consensus (or, for that matter, much interest) in them. any consensus (or, for that matter, much interest) in them.
o What is the best way to reset counters and statistics? Is it o What is the best way to reset counters and statistics? Is it
necessary to reset them at all? The -07 draft does not declare necessary to reset them at all? The -08 draft does not declare any
any counters as read-write or read-create, primarily to avoid counters as read-write or read-create, primarily to avoid these
these questions, as well as to provide fundamental security over questions, as well as to provide fundamental security over objects.
objects.
-- Do we need to reset them individually, as groups, or as a
whole?
-- Do we need a timestamp of when they were reset? o -- Do we need to reset them individually, as groups, or as a whole?
o -- Do we need a timestamp of when they were reset?
o Should all invalid packets received be collapsed into a single o Should all invalid packets received be collapsed into a single
counter for each protocol type (BOOTP and DHCP), or broken out by counter for each protocol type (BOOTP and DHCPv4), or broken out by
type of error? type of error?
o If counted by error type, what is the set of errors that we should o If counted by error type, what is the set of errors that we should
use? use?
o Perhaps we should develop a common vocabulary (and glossary) for o Perhaps we should develop a common vocabulary (and glossary) for
terms such as "abandoned" so that the objects defined and their terms such as "abandoned" so that the objects defined and
descriptions aren't misinterpreted by implementers. implementers don't misinterpret their descriptions.
o Do we need to be concerned about the potential size of some of the o Do we need to be concerned about the potential size of some of the
configuration data tables? Wouldn't it be better to maintain configuration data tables? Wouldn't it be better to maintain
counters for things like number of leases assigned than to expect counters for things like number of leases assigned than to expect
the management station to calculate the values by reading very the management station to calculate the values by reading very
large tables to count the number of leases in that state? large tables to count the number of leases in that state?
o The dhcpv4ServerSystemObjects, dhcpv4OptionalStatistics,
dhcpv4ServerClientObjects, dhcpv4ServerNotifyObjects, and
dhcpv4ServerNotifications groups may be sufficiently generic that
they could be renamed, re-specified, and moved from the
dhcpv4Server subtree to the dhcp subtree. This warrants some
discussion, especially if there is interest in client and relay
agent MIBs, or in adding extensions to support DHCPv6.
6.2. Changes from Prior Drafts 6.2. Changes from Prior Drafts
The "-01" revision removed the Server Identity section from the The "-01" revision removed the Server Identity section from the
proposed MIB, relying on the Application MIB to accomplish the same proposed MIB, relying on the Application MIB to accomplish the same
result. result.
The min/max (inter-arrival and response times) were changed to The "-02" revision changed the min/max (inter-arrival and response
Unsigned32 so that they could be reset. Sums of inter-arrival and times) to Unsigned32 so that they could be reset. Sums of inter-
response times were deleted since the management station can easily arrival and response times were deleted since the management station
calculate them. The last arrival time objects were added. can easily calculate them. The last arrival time objects were added.
The "-03" version incorporated the proposed configuration tables The "-03" version incorporated the proposed configuration tables
suggested by Ryan Troll of CMU. The "01" revision of this version suggested by Ryan Troll of CMU. The "01" revision of this version
added three elements to the server subnet table, number of added three elements to the server subnet table, number of
outstanding offers, number of addresses in use, and number of free outstanding offers, number of addresses in use, and number of free
addresses, as well as changing subnet address to subnet mask in the addresses, as well as changing subnet address to subnet mask in the
server address, server range, and client address tables. The client server address, server range, and client address tables. The client
MAC address element of the client address table was separated into a MAC address element of the client address table was separated into a
1-octet hardware type and a 16-octet client hardware address, causing 1-octet hardware type and a 16-octet client hardware address, causing
a renumbering of the elements in this table. Clarifying text was a renumbering of the elements in this table. Clarifying text was
added to several element descriptions, and limitations on values, and added to several element descriptions, and limitations on values, and
the reported value when the server did not support the data element the reported value when the server did not support the data element
were also specified. This version also incorporated an address were also specified. This version also incorporated an address
change for one of the authors, revisions to standard text required by change for one of the authors, revisions to standard text required by
the IETF, and some editorial clarifications. the IETF, and some editorial clarifications.
The "-04" version changed the maximum size of the object The "-04" version changed the maximum size of the object
serverAddressHostName from 64 to 255 octets, and added clarifying dhcpv4ServerAddressHostName from 64 to 255 octets, and added
text to both that object and to serverAddressDomainName regarding the clarifying text to both that object and to
practical values for the length of both objects. dhcpv4ServerAddressDomainName regarding the practical values for the
length of both objects.
The "-05" version added a number of traps suggested by Kim Kinnear, The "-05" version added a number of traps suggested by Kim Kinnear,
made a number of small renaming and renumbering changes (annotated in made a number of small renaming and renumbering changes (annotated in
the MIB itself) and added the Shared Network concept to describe the MIB itself) and added the Shared Network concept to describe
shared network segments: several subnetworks that coexist on one shared network segments: several subnetworks that coexist on one
medium. This was done partly because the Address Range concept did medium. This was done partly because the Address Range concept did
not adequately describe the "scoping" of address pools as is common not adequately describe the "scoping" of address pools as is common
with many current server implementations. Also updated the authorĂs with many current server implementations. Also updated the author's
address and contact information, and incorporated a number of address and contact information, and incorporated a number of
corrections and amplifications suggested by various readers of the "- corrections and amplifications suggested by various readers of the "-
04" draft, including a missing OID for serverNotifyObjects and a 04" draft, including a missing OID for dhcpv4ServerNotifyObjects and
syntax error for PhysicalAddress. a syntax error for DhcpPhysicalAddress.
The "-06" version corrects a number of flaws reported by Rick Geesen The "-06" version corrects a number of flaws reported by Rick Geesen
and Jin Tao, mostly caused by typographical errors in the "-05" and Jin Tao, mostly caused by typographical errors in the "-05"
version as well as some unintentionally omitted text for version as well as some unintentionally omitted text for
serverNotifyObjects. The "-06" version also changes BOOTP and DHCP dhcpv4ServerNotifyObjects. The "-06" version also changes BOOTP and
statistics from mandatory to optional, renaming object identifiers as DHCP statistics from mandatory to optional, renaming object
required to match. All objects, tables, and groups in previous identifiers as required to match. All objects, tables, and groups in
drafts for Dynamic DNS updating and Failover have been removed. All previous drafts for Dynamic DNS updating and Failover have been
tables were carefully examined to be certain that they really could removed. All tables were carefully examined to be certain that they
be simply implemented. Many items were renamed or renumbered. really could be simply implemented. Many items were renamed or
Placeholder definitions of message types (both requests and renumbered. Placeholder definitions of message types (both requests
responses) were added to support DHCPFORCERENEW, DHCPQUERY, and responses) were added to support DHCPFORCERENEW, DHCPQUERY,
DHCPKNOWN, and DHCPUNKNOWN. A few [more] typographical errors were DHCPKNOWN, and DHCPUNKNOWN. A few [more] typographical errors were
found and fixed. Finally, some of the boilerplate text was brought found and fixed. Finally, some of the boilerplate text was brought
in line with standard requirements for Internet-Drafts. in line with standard requirements for Internet-Drafts.
The "-07" version fixes a few typographical errors (wrong The "-07" version includes a number of small fixes, but is mostly to
correct a version numbering error.
The "-08" version fixes a few typographical errors (wrong
capitalization of object identifiers and table entry values, spacing capitalization of object identifiers and table entry values, spacing
of comments, and misspelled words) in preparation for Working Group of comments, and misspelled words) in preparation for Working Group
Last Call. Many thanks to Rich Woundy for his detailed and extremely Last Call. Many thanks to Rich Woundy for his detailed and extremely
helpful suggestions on the prior draft. The standard boilerplate helpful suggestions on the prior draft. The standard boilerplate
(˘The SNMP Management Framework÷) for all new MIBs was added as ("The SNMP Management Framework") for all new MIBs was added as
section 2 and the standard references not previously included in section 2 and the standard references not previously included in
section 9 were added. DisplayString objects were recast as section 9 were added. DisplayString objects were recast as
SnmpAdminString types to be consistent with current practice. The SnmpAdminString types to be consistent with current practice. The
IpAddress type was replaced by IpAddressIPv4 and DhcpLabel textual convention was dropped entirely. InetAddressIPv4,
IpAddressPrefixLength as appropriate for true addresses and subnet and InetAddressPrefixLength replaced the IpAddress type as
masks throughout the MIB. Numbering of OIDs was made consistent, and appropriate for Internetaddresses and subnet masks throughout the
place holders for anticipated new DHCP message type codes were MIB. Numbering of OIDs was made consistent, and dhcpv4Counters was
explicitly added, eliminating gaps in the OID numbering scheme. subdivided into dhcpv4RecvdPacketCounters, dhcpv4SentPacketCounters,
and dhcpv4ErrorPacketCounters to eliminate the need for placeholders
for anticipated new DHCP message type codes, eliminating gaps in the
OID numbering scheme. Two notification types,
dhcpv4ServerNotifyServerStart and dhcpv4ServerNotifyServerStop, were
added. Compliance and object groups were extensively reworked to
match other changes to the MIB. The proposed MIB itself was verified
by using smilint as required before submittal. Object names were
revised to uniformly begin with "dhcpv4" or "bootp" to provide a
clear visual indication of their purpose. A few objects were renamed
slightly to reflect their use, for example, serverServerStart and
serverServerStop were renamed dhcpv4ServerStartTime and
dhcpv4ServerStopTime. All object groups were reorganized to better
reflect the structure of the MIB. A few very long names were
shortened for improved readability.
7. Acknowledgements 7. Acknowledgements
This document is the result of work undertaken the by DHCP working This document is the result of work undertaken the by DHCP working
group. The editors would like to particularly acknowledge the group. The editors would like to particularly acknowledge the
development team from Carnegie-Mellon University whose work creating development team from Carnegie-Mellon University whose work creating
a private MIB for their DHCP server inspired the development of this a private MIB for their DHCP server inspired the development of this
proposal. In particular, many thanks to Ryan Troll who provided a proposal. In particular, many thanks to Ryan Troll who provided a
great deal of useful feedback during the development of this MIB. great deal of useful feedback during the initial development of this
MIB.
Thanks to Nathan Lane, Kim Kinnear, Yannick Koehler, Nathan Lane, Thanks to Nathan Lane, Kim Kinnear, Yannick Koehler, Rick Geesen, Jin
Rick Geesen, Jin Tao, James Brister, Alan Hackert, and Patrick Cosmo Tao, James Brister, Alan Hackert, Patrick Cosmo, Taeko Saito, and
for their review, comments, and contributions. Special thanks to Devrapratap Baul for their review, comments, and contributions.
Rich Woundy for his excellent suggestions that contributed to the ű07 Special thanks to Rich Woundy for his excellent suggestions that
draft: any lingering errors are to be blamed solely on me. contributed to the --08 draft: any lingering errors are to be blamed
solely on the editors.
8. Security Considerations 8. IANA Considerations
Several specific values for MIB objects require completion before
this memo can advance to RFC status. These are:
o OID value for "dhcp" ű see MODULE-IDENTITY
o Value of DHCPLEASEQUERY for "dhcpv4CountLeaseQueries" and
"dhcpv4ServerClientLastRequestType" objects
o Value of DHCPLEASEKNOWN for "dhcpv4CountKnowns" and
"dhcpv4ServerClientLastResponseType" objects
o Value of DHCPLEASEUNKNOWN for "dhcpv4CountUnknowns" and
"dhcpv4ServerClientLastResponseType" objects
o Value of DHCPLEASEACTIVE for "dhcpv4CountActives" and
"dhcpv4ServerClientLastResponseType" objects
o Value of DHCPUNIMPLEMENTED for "dhcpv4CountUnimplementeds" and
"dhcpv4ServerClientLastResponseType" objects
9. Security Considerations
There are no management objects defined in this MIB that have a MAX- There are no management objects defined in this MIB that have a MAX-
ACCESS clause of read-write or read-create. Such objects may be ACCESS clause of read-write or read-create. Such objects may be
considered sensitive or vulnerable in some environments. The support considered sensitive or vulnerable in some environments. The support
for SET operations in a non-secure environment without proper for SET operations in a non-secure environment without proper
protection can have a negative effect on network operations. Many protection can have a negative effect on network operations.
network administrators object to settable management objects because Therefore, if this MIB is implemented correctly, there is no risk
of the limited security features of SNMPv1 and SNMPv2. We have that an intruder can alter or create any management objects of this
chosen not to fight that battle in constructing this MIB. So, if MIB via direct SNMP SET operations.
this MIB is implemented correctly, then there is no risk that an
intruder can alter or create any management objects of this MIB via
direct SNMP SET operations.
-- for all MIBs you must evaluate
There are a number of managed objects in this MIB that may contain Some of the readable objects in this MIB module (i.e., objects with a
sensitive information. These are: MAX-ACCESS other than not-accessible) may be considered sensitive or
vulnerable in some network environments. It is thus important to
control even GET and/or NOTIFY access to these objects and possibly
to even encrypt the values of these objects when sending them over
the network via SNMP. These are the tables and objects and their
sensitivity/vulnerability:
o serverRangeTable o dhcpv4ServerRangeTable
o serverAddressTable o dhcpv4ServerAddressTable
These two objects, in conjunction, provide an observer with a current These two objects, in conjunction, provide an observer with a current
view of the available and assigned addresses allocated by this view of the available and assigned addresses allocated by this
server. Such knowledge can be used to manually configure a host server. Such knowledge can be used to manually configure a host
computer with a valid IP address for the network managed by the DHCP computer with a valid IP address for the network managed by the DHCP
server. This could be part of either a Theft of Service scheme or a server. This could be part of either a Theft of Service scheme or a
Denial of Service attack wherein rogue (pseudo-)hosts simply claim Denial of Service attack wherein rogue (pseudo-)hosts simply claim
and defend IP addresses either to subvert accounting for their use or and defend IP addresses either to subvert accounting for their use or
to disrupt the network for legitimate hosts. to disrupt the network for legitimate hosts.
It is thus important to control even GET access to these objects and It is thus important to control even GET access to these objects and
possibly to even encrypt the values of these objects when sending possibly to even encrypt the values of these objects when sending
them over the network via SNMP. Not all versions of SNMP provide them over the network via SNMP. Not all versions of SNMP provide
features for such a secure environment. features for such a secure environment.
SNMPv1 by itself is not a secure environment. Even if the network SNMP versions prior to SNMPv3 did not include adequate security.
itself is secure (for example by using IPSec), even then, there is no Even if the network itself is secure (for example by using IPSec),
control as to who on the secure network is allowed to access and even then, there is no control as to who on the secure network is
GET/SET (read/change/create/delete) the objects in this MIB. allowed to access and GET/SET (read/change/create/delete) the objects
in this MIB.
It is recommended that the implementers consider the security It is recommended that the implementers consider the security
features as provided by the SNMPv3 framework. Specifically, the use features as provided by the SNMPv3 framework (see [RFC3410], section
of the User-based Security Model RFC 2574 [RFC2574] and the View- 8), including full support for the SNMPv3 cryptographic mechanisms
based Access Control Model RFC 2575 [RFC2575] is recommended. (for authentication and privacy).
It is then a customer/user responsibility to ensure that the SNMP Further, deployment of SNMP versions prior to SNMPv3 is NOT
entity giving access to an instance of this MIB, is properly RECOMMENDED. Instead, it is RECOMMENDED to deploy SNMPv3 and to
configured to give access to the objects only to those principals enable cryptographic security. It is then a customer/operator
(users) that have legitimate rights to indeed GET or SET responsibility to ensure that the SNMP entity giving access to an
(change/create/delete) them. instance of this MIB module is properly configured to give access to
the objects only to those principals (users) that have legitimate
rights to indeed GET or SET (change/create/delete) them.
Denial of Service attacks on a DHCP server are conceivable by Denial of Service attacks on a DHCP server are conceivable by
flooding the SNMP (sub-)agent with requests, tying up host system and flooding the SNMP (sub-)agent with requests, tying up host system and
server resources processing SNMP messages. The authors know of no server resources processing SNMP messages. The authors know of no
way to wholly prevent such attacks, but have attempted to construct way to wholly prevent such attacks, but have attempted to construct
relatively simple tables to minimize the work required to respond to relatively simple tables to minimize the work required to respond to
messages. messages.
9. References 10. References
[DEN] Directory Enabled Networks Working Group,
http://www.universe.digex.net/~murchiso/den.
[RFC1123] R. Braden, "Requirements for Internet Hosts -- Application
and Support," RFC 1123, October 1989.
[RFC1155] Rose, M., and K. McCloghrie, "Structure and Identification
of Management Information for TCP/IP-based Internets", STD 16, RFC
1155, May 1990.
[RFC1157] Case, J., Fedor, M., Schoffstall, M., and J. Davin, "Simple
Network Management Protocol", STD 15, RFC 1157, May 1990.
[RFC1212] Rose, M., and K. McCloghrie, "Concise MIB Definitions", STD
16, RFC 1212, March 1991.
[RFC1215] M. Rose, "A Convention for Defining Traps for use with the
SNMP", RFC 1215, March 1991.
[RFC1901] Case, J., McCloghrie, K., Rose, M., and S. Waldbusser,
"Introduction to Community-based SNMPv2", RFC 1901, January 1996.
[RFC1905] Case, J., McCloghrie, K., Rose, M., and S. Waldbusser,
"Protocol Operations for Version 2 of the Simple Network Management
Protocol (SNMPv2)", RFC 1905, January 1996.
[RFC1906] Case, J., McCloghrie, K., Rose, M., and S. Waldbusser, One normative reference is currently an Internet-Draft, nearly ready
"Transport Mappings for Version 2 of the Simple Network Management for Working Group Last Call. This reference MUST be updated when the
Protocol (SNMPv2)", RFC 1906, January 1996. draft advances to RFC status.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 10.1. Normative References
Requirement Levels," RFC 2119, BCP 14, March 1997.
[RFC2131] Droms, R., "Dynamic Host Configuration Protocol," RFC 2131, [RFC2131] Droms, R., "Dynamic Host Configuration Protocol," RFC 2131,
March 1997. March 1997.
[RFC2132] Alexander, S. and Droms, R., "DHCP Options and BOOTP Vendor [RFC2132] Alexander, S. and Droms, R., "DHCP Options and BOOTP Vendor
Extensions," RFC 2132, March 1997. Extensions," RFC 2132, March 1997.
[RFC2287] Krupczak, C. and Saperia, J., "Definitions of System-Level
Managed Objects for Applications," RFC 2287, February 1998.
[RFC2570] Case, J., Mundy, R., Partain, D., and B. Stewart,
"Introduction to Version 3 of the Internet-standard Network
Management Framework", RFC 2570, April 1999.
[RFC2571] Harrington, D., Presuhn, R., and B. Wijnen, "An
Architecture for Describing SNMP Management Frameworks", RFC 2571,
April 1999.
[RFC2572] Case, J., Harrington D., Presuhn R., and B. Wijnen,
"Message Processing and Dispatching for the Simple Network
Management Protocol (SNMP)", RFC 2572, April 1999.
[RFC2573] Levi, D., Meyer, P., and B. Stewart, "SNMPv3 Applications",
RFC 2573, April 1999.
[RFC2574] Blumenthal, U., and B. Wijnen, "User-based Security Model
(USM) for version 3 of the Simple Network Management Protocol
(SNMPv3)", RFC 2574, April 1999.
[RFC2575] Wijnen, B., Presuhn, R., and K. McCloghrie, "View-based
Access Control Model (VACM) for the Simple Network Management
Protocol (SNMP)", RFC 2575, April 1999.
[RFC2578] Case, J., McCloghrie, K., Perkins, D., Rose, M., [RFC2578] Case, J., McCloghrie, K., Perkins, D., Rose, M.,
Schoenwaelder, J., and S. Waldbusser, "Structure of Management Schoenwaelder, J., and S. Waldbusser, "Structure of Management
Information for Version 2 of the Simple Network Management Protocol Information for Version 2 of the Simple Network Management Protocol
(SNMPv2)," RFC 2578, April 1999. (SNMPv2)," RFC 2578, April 1999.
[RFC2579] Case, J., McCloghrie, K., Rose, M., Schoenwaelder, J., and [RFC2579] Case, J., McCloghrie, K., Rose, M., Schoenwaelder, J., and
S. Waldbusser, "Textual Conventions for Version 2 of the Simple S. Waldbusser, "Textual Conventions for Version 2 of the Simple
Network Management Protocol (SNMPv2)," RFC 2579, April 1999. Network Management Protocol (SNMPv2)," RFC 2579, April 1999.
[RFC2580] Case, J., McCloghrie, K., Rose, M., Schoenwaelder, J., and [RFC2580] Case, J., McCloghrie, K., Rose, M., Schoenwaelder, J., and
S. Waldbusser, "Conformance Statements for Version 2 of the Simple S. Waldbusser, "Conformance Statements for Version 2 of the Simple
Network Management Protocol (SNMPv2)," RFC 2580, April 1999. Network Management Protocol (SNMPv2)," RFC 2580, April 1999.
[RFC3203 , Yves T'Joens and Christian Hublet, Peter De Schrijver, [RFC3203], Yves T'Joens and Christian Hublet, Peter De Schrijver,
"The DHCP Reconfigure Extension," July 2001 "The DHCP Reconfigure Extension," July 2001
<draft-ietf-dhc-leasequery-03.txt> Rich Woundy and Kim Kinnear, "DHCP <draft-ietf-dhc-leasequery-04.txt> Rich Woundy and Kim Kinnear, "DHCP
Lease Query," March 2002 Lease Query," November 2003.
10. Editors' Addresses 10.2. Informative References
[DEN] Directory Enabled Networks Working Group,
http://www.universe.digex.net/~murchiso/den.
[RFC1123] R. Braden, "Requirements for Internet Hosts -- Application
and Support," RFC 1123, October 1989.
[RFC3410] Case, J., Mundy, R., Partain, D. and B. Stewart,
"Introduction and Applicability Statements for Internet-Standard
Management Framework", RFC 3410, December 2002.
11. Editors' Addresses
Richard Barr Hibbs Richard Barr Hibbs
952 Sanchez Street 952 Sanchez Street
San Francisco, California 94114-3362 San Francisco, California 94114-3362
USA USA
Phone: +1-(415)-648-3920 Phone: +1-(415)-648-3920
Fax: +1-(415)-648-9017 Fax: +1-(415)-648-9017
Email: rbhibbs@pacbell.net Email: rbhibbs@pacbell.net
Glenn Waters Glenn Waters
Nortel Networks Nortel Networks
310-875 Carling Avenue, 310-875 Carling Avenue,
Ottawa, Ontario K1S 5P1 Ottawa, Ontario K1S 5P1
Canada Canada
Phone: +1-(613)-798-4925 Phone: +1-(613)-798-4925
Email: gww@NortelNetworks.com Email: gww@NortelNetworks.com
11. Full Copyright Statement
Copyright (C) The Internet Society, 2002. All Rights Reserved. 12. Full Copyright Statement
Copyright (C), 2003, The Internet Society. All Rights Reserved.
This document and translations of it may be copied and furnished to This document and translations of it may be copied and furnished to
others, and derivative works that comment on or otherwise explain it others, and derivative works that comment on or otherwise explain it
or assist in its implementation may be prepared, copied, published or assist in its implementation may be prepared, copied, published
and distributed, in whole or in part, without restriction of any and distributed, in whole or in part, without restriction of any
kind, provided that the above copyright notice and this paragraph are kind, provided that the above copyright notice and this paragraph are
included on all such copies and derivative works.However, this included on all such copies and derivative works.However, this
document itself may not be modified in any way, such as by removing document itself may not be modified in any way, such as by removing
the copyright notice or references to the Internet Society or other the copyright notice or references to the Internet Society or other
Internet organizations, except as needed for the purpose of Internet organizations, except as needed for the purpose of
skipping to change at line 2339 skipping to change at page 51, line 28
The limited permissions granted above are perpetual and will not be The limited permissions granted above are perpetual and will not be
revoked by the Internet Society or its successors or assigns. revoked by the Internet Society or its successors or assigns.
This document and the information contained herein is provided on an This document and the information contained herein is provided on an
"AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
Acknowledgement
Funding for the RFC Editor function is currently provided by the
Internet Society.
 End of changes. 

This html diff was produced by rfcdiff 1.23, available from http://www.levkowetz.com/ietf/tools/rfcdiff/