draft-ietf-dhc-server-mib-02.txt   draft-ietf-dhc-server-mib-03.txt 
Network Working Group R. B. Hibbs Network Working Group R. B. Hibbs
INTERNET-DRAFT Pacific Bell INTERNET-DRAFT Pacific Bell
G. Waters G. Waters
Bay Networks, Inc. Nortel Networks
April 1998 February 1999
Dynamic Host Configuration Protocol (DHCP) Server MIB Dynamic Host Configuration Protocol (DHCP) Server MIB
<draft-ietf-dhc-server-mib-02.txt> <draft-ietf-dhc-server-mib-03.txt>
Wednesday, December 16, 1998, 9:55 AM Friday, February 19, 1999, 3:39 PM
Status of this Memo Status of this Memo
This document is an Internet-Draft. Internet-Drafts are working This document is an Internet-Draft and is in full conformance with all
documents of the Internet Engineering Task Force (IETF), its areas, provisions of Section 10 of RFC2026.
and its working groups. Note that other groups may also distribute
working documents as Internet-Drafts. Internet-Drafts are draft Internet-Drafts are working documents of the Internet Engineering Task
documents valid for a maximum of six months and may be updated, Force (IETF), its areas, and its working groups. Note that other
replaced, or made obsolete by other documents at any time. It is groups may also distribute working documents as Internet-Drafts.
inappropriate to use Internet- Drafts as reference material or to cite
them other than as "works in progress." To learn the current status Internet-Drafts are draft documents valid for a maximum of six months
of any Internet-Draft, please check the "1id-abstracts.txt" listing and may be updated, replaced, or obsoleted by other documents at any
contained in the Internet-Drafts Shadow Directories on ftp.is.co.za time. It is inappropriate to use Internet-Drafts as reference
(Africa), nic.nordu.net (Europe), munnari.oz.au (Pacific Rim), material or to cite them other than as "work in progress."
ds.internic.net (US East Coast), or ftp.isi.edu (US West Coast).
To learn the current status of any Internet-Draft, please check the
"1id-abstracts.txt" listing contained in the Internet-Drafts Shadow
Directories on ds.internic.net (US East Coast), nic.nordu.net
(Europe), ftp.isi.edu (US West Coast), or munnari.oz.au (Pacific Rim).
Copyright Notice Copyright Notice
Copyright (C) The Internet Society (1998). All Rights Reserved. Copyright (C) The Internet Society (1999). 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 (DHCP) and
Bootstrap Protocol (BOOTP) servers. Bootstrap Protocol (BOOTP) servers.
Table of Contents Table of Contents
1. Introduction......................................................2 1. Introduction......................................................2
2. Overview..........................................................2 2. Overview..........................................................2
2.1. BOOTP and DHCP Counter Groups................................3 2.1. BOOTP and DHCP Counter Groups................................3
2.2. BOOTP and DHCP Statistics Group..............................3 2.2. BOOTP and DHCP Statistics Group..............................3
2.3. Server Configuration Group...................................4 2.3. Server Configuration Group...................................4
2.4. Response Times and ICMP Echo.................................5 2.4. Response Times and ICMP Echo.................................5
3. Definitions.......................................................5 3. Definitions.......................................................5
4. Intellectual Property............................................25 4. Intellectual Property............................................25
5. Notes............................................................25 5. Notes............................................................26
5.1. Issues......................................................25 5.1. Issues......................................................26
5.2. Changes from Prior Drafts...................................26 5.2. Changes from Prior Drafts...................................26
6. Acknowledgements.................................................26 6. Acknowledgements.................................................27
7. Security Considerations..........................................26 7. Security Considerations..........................................27
8. References.......................................................26 8. References.......................................................28
9. Editors' Addresses...............................................27 9. Editors' Addresses...............................................28
10. Full Copyright Statement........................................27 10. Full Copyright Statement........................................29
1. Introduction 1. Introduction
This memo was produced by the DHCP Working Group and defines a portion This memo was produced by the DHCP Working Group and defines a portion
of the Management Information Base (MIB) for use with network 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 (BOOTP) describes a set of extensions that DHCP and Bootstrap Protocol (BOOTP)
servers implement. Many implementations support both DHCP and BOOTP servers implement. Many implementations support both DHCP and BOOTP
within a single server and hence this memo describes the MIB for both within a single server and hence this memo describes the MIB for both
DHCP and BOOTP servers. DHCP and BOOTP servers.
This memo does not cover DHCP/BOOTP client nor relay agent MIB This memo is applicable only to IPv4 addresses.
extensions: these are possibly the subjects of future investigation.
This memo does not cover DHCP/BOOTP client nor relay agent extensions:
these are possibly the subjects of future investigation.
This memo is based on the Internet-standard Network Management This memo is based on the Internet-standard Network Management
Framework as defined by [RFC1902, RFC1903, RFC1904]. Framework as defined by [RFC1902, RFC1903, RFC1904].
Objects defined in this MIB allow access to and control of DHCP Server Objects defined in this MIB allow access to and control of DHCP Server
Software. Servers MAY also provide additional management capabilities Software. Servers MAY also provide additional management capabilities
through the use of the Applications MIB [RFC2287]. through the use of 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
skipping to change at page 4, line 47 skipping to change at page 4, line 51
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 at least o Dynamic, in which case the server has served the addresses at least
once. Leases which have expired MAY appear in the address list; once. Leases which have expired MAY appear in the address list;
o Configuration-reserved, in which case the address is not available o Configuration-reserved, in which case the address is not available
for the server to allocate to a client. Examples of configuration- for the server to allocate to a client. A configuration-reserved
reserved addresses are those which are known by an administrator to address is one that has been reserved by the administrator. An
be in use by a client; and, example of a configuration-reserved address is an address that is
assigned to a client, not through DHCP (e.g.: statically assigned),
and the address is within a DHCP range; and,
o Server-reserved, in which case the server has taken the address out o Server-reserved, in which case the server has taken the address out
of use. Examples of server-reserved addresses are those which have of use. Examples of server-reserved addresses are those which have
been declined (i.e.: through a DHCPDECLINE) by a client or those been declined (i.e.: through a DHCPDECLINE) by a client or those
which have responded to an ICMP echo before they were assigned. which have responded to an ICMP echo before they 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 the serverAddressServedProtocol object. This object indicates whether the
address has never been served (value of none(1)), or, whether BOOTP or address has never been served (value of none(1)), or, whether BOOTP or
DHCP was used to allocate the address. DHCP was used to allocate the address.
skipping to change at page 5, line 31 skipping to change at page 5, line 35
3. Definitions 3. Definitions
DHCP-SERVER-MIB DEFINITIONS ::= BEGIN DHCP-SERVER-MIB DEFINITIONS ::= BEGIN
IMPORTS IMPORTS
Counter64, Counter32, Gauge32, Unsigned32, mib-2, Counter64, Counter32, Gauge32, Unsigned32, mib-2,
MODULE-IDENTITY, OBJECT-TYPE, OBJECT-IDENTITY, IpAddress MODULE-IDENTITY, OBJECT-TYPE, OBJECT-IDENTITY, IpAddress
FROM SNMPv2-SMI FROM SNMPv2-SMI
TEXTUAL-CONVENTION, RowStatus, DisplayString, TruthValue TEXTUAL-CONVENTION, RowStatus, DisplayString, TruthValue,
DateAndTime
FROM SNMPv2-TC FROM SNMPv2-TC
MODULE-COMPLIANCE, OBJECT-GROUP MODULE-COMPLIANCE, OBJECT-GROUP
FROM SNMPv2-CONF FROM SNMPv2-CONF;
sysUpTime
FROM SNMPv2-MIB;
dhcp OBJECT-IDENTITY dhcp OBJECT-IDENTITY
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The dhcp branch in the standard network management framework." "The dhcp branch in the standard network management framework."
::= { mib-2 ?? } -- IANA will make official assignment ::= { mib-2 ?? } -- IANA will make official assignment
dhcpServerMib MODULE-IDENTITY dhcpServerMib MODULE-IDENTITY
LAST-UPDATED " 9809010000Z" LAST-UPDATED "9902190000Z"
ORGANIZATION "IETF DHCP Working Group" ORGANIZATION "IETF DHCP Working Group"
CONTACT-INFO CONTACT-INFO
" Richard Barr Hibbs " Richard Barr Hibbs
Postal: Pacific Bell Postal: Pacific Bell
666 Folsom Street, Room 1225 666 Folsom Street, Room 1225
San Francisco, CA 94107-1384 San Francisco, CA 94107-1384
USA USA
Tel: +1 415-545-1576 Tel: +1 415-545-1576
Fax: +1 415-543-3539 Fax: +1 415-543-3539
Email: rbhibbs@pacbell.com Email: rbhibbs@pacbell.com
Glenn Waters Glenn Waters
Postal: Bay Networks, Inc. Postal: Nortel Networks, Inc.
200-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
Email: gwaters@baynetworks.com " Email: 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 4 Configuration protocol (DHCP) for Internet Protocol version 4
(IPv4)." (IPv4)."
::= { dhcp 1 } ::= { dhcp 1 }
dhcpServerMibObjects OBJECT-IDENTITY dhcpServerMibObjects OBJECT-IDENTITY
STATUS current STATUS current
DESCRIPTION DESCRIPTION
skipping to change at page 11, line 49 skipping to change at page 11, line 53
DESCRIPTION DESCRIPTION
"The maximum amount of time between receiving two BOOTP "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."
::= { bootpStatistics 2 } ::= { bootpStatistics 2 }
bootpStatLastArrivalTime OBJECT-TYPE bootpStatLastArrivalTime OBJECT-TYPE
SYNTAX TimeTicks SYNTAX DateAndTime
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The value of sysUpTime at the time the last valid BOOTP "The date and time that the last valid BOOTP message was
message was received by the server. Invalid messages do not received by the server. Invalid messages do not cause this
cause this value to change. If valid no messages have been value to change. If valid no messages have been received, then
received, then this object contains a zero value." this object contains a date and time that is all zero."
::= { bootpStatistics 3 } ::= { bootpStatistics 3 }
bootpStatSumSquaresArrivalTime 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 BOOTP packet inter-arrival times in "The sum of the squared BOOTP packet inter-arrival times in
micro-seconds. This value may be used to compute the variance micro-seconds. 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 BOOTP arrival times. Note that a
skipping to change at page 14, line 15 skipping to change at page 14, line 20
DESCRIPTION DESCRIPTION
"The maximum amount of time between receiving two DHCP "The maximum amount of time between receiving two DHCP
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."
::= { dhcpStatistics 2 } ::= { dhcpStatistics 2 }
dhcpStatLastArrivalTime OBJECT-TYPE dhcpStatLastArrivalTime OBJECT-TYPE
SYNTAX TimeTicks SYNTAX DateAndTime
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The value of sysUpTime at the time the last valid DHCP message "The date and time that the last valid DHCP message was
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 no valid messages have been received, then
this object contains a zero value." this object contains a date and time that is all zero."
::= { dhcpStatistics 3 } ::= { dhcpStatistics 3 }
dhcpStatSumSquaresArrivalTime OBJECT-TYPE dhcpStatSumSquaresArrivalTime 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 DHCP packet inter-arrival times in
micro-seconds. This value may be used to compute the variance micro-seconds. 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 DHCP arrival times. Note that a
skipping to change at page 16, line 40 skipping to change at page 16, line 46
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The IP address of the subnet." "The IP address of the subnet."
::= { serverSubnetEntry 1 } ::= { serverSubnetEntry 1 }
serverSubnetMask OBJECT-TYPE serverSubnetMask OBJECT-TYPE
SYNTAX IpAddress SYNTAX IpAddress
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The subnet mask of the subnet." "The subnet mask of the subnet. This MUST be the same as the
value of DHCP option 1 offered to clients on this subnet."
::= { serverSubnetEntry 2 } ::= { serverSubnetEntry 2 }
serverSubnetSharedNet OBJECT-TYPE serverSubnetSharedNet OBJECT-TYPE
SYNTAX IpAddress SYNTAX IpAddress
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The IP address of another subnet that is on the same shared "The IP address of another subnet that is on the same shared
media as this subnet. The address of the shared subnet MUST media as this subnet. The address of the shared subnet MUST
also be configured on this server. The address 0.0.0.0 should also be configured on this server. The address 0.0.0.0 should
skipping to change at page 17, line 23 skipping to change at page 17, line 30
MAX-ACCESS not-accessible MAX-ACCESS not-accessible
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"A logical row in the serverRangeTable." "A logical row in the serverRangeTable."
INDEX { serverRangeStart } INDEX { serverRangeStart }
::= { serverRangeTable 1 } ::= { serverRangeTable 1 }
ServerRangeEntry ::= SEQUENCE { ServerRangeEntry ::= SEQUENCE {
serverRangeStart IpAddress, serverRangeStart IpAddress,
serverRangeEnd IpAddress, serverRangeEnd IpAddress,
serverRangeSubnet IpAddress, serverRangeSubnetMask IpAddress,
serverRangeInUse Gauge32 serverRangeInUse Gauge32,
serverRangeOutstandingOffers Gauge32
} }
serverRangeStart OBJECT-TYPE serverRangeStart OBJECT-TYPE
SYNTAX IpAddress SYNTAX IpAddress
MAX-ACCESS not-accessible MAX-ACCESS not-accessible
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The IP address of the first address in the range." "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
end."
::= { serverRangeEntry 1 } ::= { serverRangeEntry 1 }
serverRangeEnd OBJECT-TYPE serverRangeEnd OBJECT-TYPE
SYNTAX IpAddress SYNTAX IpAddress
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The IP address of the last address in the range." "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
start."
::= { serverRangeEntry 2 } ::= { serverRangeEntry 2 }
serverRangeSubnet OBJECT-TYPE serverRangeSubnetMask OBJECT-TYPE
SYNTAX IpAddress SYNTAX IpAddress
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The IP address of the subnet which includes this range." "The subnet mask (DHCP option 1) provided to any client offered
an address from this range."
::= { serverRangeEntry 3 } ::= { serverRangeEntry 3 }
serverRangeInUse OBJECT-TYPE serverRangeInUse 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 } ::= { serverRangeEntry 4 }
serverRangeOutstandingOffers OBJECT-TYPE
SYNTAX Guage32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of outstanding DHCPOFFER messages for this range is
reported with this value. An offer is outstanding if the
server has sent a DHCPOFFER message to a client, but has not
yet received a DHCPREQUEST message from the client nor has the
server-specific timeout (limiting the time in which a client
can respond to the offer message) for the offer message
expired."
::= { serverRangeEntry 5 }
serverAddressTable OBJECT-TYPE serverAddressTable OBJECT-TYPE
SYNTAX SEQUENCE OF ServerAddressEntry SYNTAX SEQUENCE OF ServerAddressEntry
MAX-ACCESS not-accessible MAX-ACCESS not-accessible
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"A list of addresses that are known by this server. The list "A list of addresses that are known by this server. The list
MUST contain addresses that have not expired. The list MUST MUST contain addresses that have not expired. The list MUST
NOT contain addresses that have never been assigned by the NOT contain addresses that have never been assigned by the
server UNLESS the lease is pre-configured in the server (e.g.: server UNLESS the lease is pre-configured in the server (e.g.:
a static lease on a subnet)." a static lease on a subnet)."
skipping to change at page 18, line 33 skipping to change at page 19, line 9
SYNTAX ServerAddressEntry SYNTAX ServerAddressEntry
MAX-ACCESS not-accessible MAX-ACCESS not-accessible
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"A logical row in the serverAddressTable." "A logical row in the serverAddressTable."
INDEX { serverAddress } INDEX { serverAddress }
::= { serverAddressTable 1 } ::= { serverAddressTable 1 }
ServerAddressEntry ::= SEQUENCE { ServerAddressEntry ::= SEQUENCE {
serverAddress IpAddress, serverAddress IpAddress,
serverAddressSubnet IpAddress, serverAddressSubnetMask IpAddress,
serverAddressRange IpAddress, serverAddressRange IpAddress,
serverAddressType INTEGER, serverAddressType INTEGER,
serverAddressTimeReminaing Unsigned32, serverAddressTimeReminaing Unsigned32,
serverAddressAllowedProtocol INTEGER, serverAddressAllowedProtocol INTEGER,
serverAddressServedProtocol INTEGER, serverAddressServedProtocol INTEGER,
serverAddressMacAddress OCTET STRING, serverAddressMacAddress OCTET STRING,
serverAddressClientId OCTET STRING, serverAddressClientId OCTET STRING,
serverAddressHostName DisplayString, serverAddressHostName DisplayString,
serverAddressDomainName DisplayString serverAddressDomainName DisplayString
} }
serverAddress OBJECT-TYPE serverAddress OBJECT-TYPE
SYNTAX IpAddress SYNTAX IpAddress
MAX-ACCESS not-accessible MAX-ACCESS not-accessible
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The IP address of the entry." "The IP address of the entry."
::= { serverAddressEntry 1 } ::= { serverAddressEntry 1 }
serverAddressSubnet OBJECT-TYPE serverAddressSubnetMask OBJECT-TYPE
SYNTAX IpAddress SYNTAX IpAddress
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The IP address of the subnet to which this address belongs. "The subnet mask (DHCP option 1) provided to the client offered
The subnet must be configured on this server and appear as a this address. The subnet, resulting from logically ANDing the
row in the dhcpSubnetTable." subnet mask with the entry's IP address, must be configured on
this server and appear as a row in the dhcpSubnetTable."
::= { serverAddressEntry 2 } ::= { serverAddressEntry 2 }
serverAddressRange OBJECT-TYPE serverAddressRange OBJECT-TYPE
SYNTAX IpAddress SYNTAX IpAddress
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The IP address of the range to which this address belongs. If "The starting IP address (serverRangeStart object) of the range
the address does not fall into one of the configured ranges to which this address belongs. If the address does not fall
(e.g.: a statically configured address on a subnet) the range into one of the configured ranges (e.g.: a statically
may be 0.0.0.0." configured address on a subnet) the range may be 0.0.0.0."
::= { serverAddressEntry 3 } ::= { serverAddressEntry 3 }
serverAddressType OBJECT-TYPE serverAddressType OBJECT-TYPE
SYNTAX INTEGER { SYNTAX INTEGER {
static(1), static(1),
dynamic(2), dynamic(2),
configuration-reserved(3), configuration-reserved(3),
server-reserved(4) server-reserved(4)
} }
MAX-ACCESS read-only MAX-ACCESS read-only
skipping to change at page 20, line 24 skipping to change at page 20, line 52
} }
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 } ::= { serverAddressEntry 7 }
serverAddressMacAddress OBJECT-TYPE serverAddressMacAddress OBJECT-TYPE
SYNTAX OCTET STRING (SIZE (1..255)) SYNTAX OCTET STRING (SIZE (0 | 2..17))
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 } ::= { serverAddressEntry 8 }
skipping to change at page 20, line 53 skipping to change at page 21, line 29
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 } ::= { serverAddressEntry 9 }
serverAddressHostName OBJECT-TYPE serverAddressHostName OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..64)) SYNTAX DisplayString (SIZE (0..64))
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The host name the client is configured with or if no host name "The host name (DHCP option 12) the client is configured with
was configured then the host name that the client supplied when or if no host name was configured then the host name that the
requesting an address." client supplied when requesting an address."
::= { serverAddressEntry 10 } ::= { serverAddressEntry 10 }
serverAddressDomainName OBJECT-TYPE serverAddressDomainName OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..255)) SYNTAX DisplayString (SIZE (0..255))
-- need correct maximum length -- need correct maximum length
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The domain name assigned to the client." "The domain name (DHCP option 15) assigned to the client."
::= { serverAddressEntry 11 } ::= { serverAddressEntry 11 }
bootpClientTable OBJECT-TYPE serverClientTable OBJECT-TYPE
SYNTAX SEQUENCE OF BootpClientEntry SYNTAX SEQUENCE OF ServerClientEntry
MAX-ACCESS not-accessible MAX-ACCESS not-accessible
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"A list of bootp clients that are known by this server. Details "A list of clients that are known by this server. Details about
about the clients may be found by indexing into the the clients may be found by indexing into the
serverAddressTable using the bootpClientAddress object. This serverAddressTable using the serverClientAddress object. This
table is indexed first by the MAC address of the client and table is indexed first by the MAC address of the client and
then by the subnet address on which the client resides. The then by the subnet address on which the client resides. The
subnet is included as an index since a MAC address is only subnet is included as an index since a MAC address is only
guaranteed to be unique within a subnet (i.e.: a MAC address is guaranteed to be unique within a subnet (i.e.: a MAC address is
not globally unique)." not globally unique)."
::= { bootpClients 1 } ::= { bootpClients 1 }
bootpClientEntry OBJECT-TYPE serverClientEntry OBJECT-TYPE
SYNTAX BootpClientEntry SYNTAX ServerClientEntry
MAX-ACCESS not-accessible MAX-ACCESS not-accessible
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"A logical row in the bootpClientTable." "A logical row in the serverClientTable. An entry in this table
INDEX { bootpClientMacAddress, bootpClientSubnet } may be a client that requested an address but was refused
(e.g.: not authorized). Servers MAY track these types of
clients if desired and may choose to remove such client entries
using a server defined algorithm. As an example, a server may
choose to keep client request that does not map to an address
for a one hour time period before removing that entry from this
table."
INDEX { serverClientMacAddress, serverClientSubnet }
::= { bootpClientTable 1 } ::= { bootpClientTable 1 }
BootpClientEntry ::= SEQUENCE { ServerClientEntry ::= SEQUENCE {
bootpClientMacAddress OCTET STRING, serverClientTypeAndMacAddress OCTET STRING,
bootpClientSubnet IpAddress, serverClientSubnetMask IpAddress,
bootpClientAddress IpAddress serverClientAddress IpAddress,
serverClientLastRequestTime DateAndTime,
serverClientLastRequestType INTEGER,
serverClientLastResponseType INTEGER
} }
bootpClientMacAddress OBJECT-TYPE serverClientTypeAndMacAddress OBJECT-TYPE
SYNTAX OCTET STRING (SIZE (1..255)) SYNTAX OCTET STRING (SIZE (2..17))
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. 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." from the 'chaddr' field of the BOOTP packet."
::= { bootpClientEntry 1 } ::= { serverClientEntry 1 }
bootpClientSubnet OBJECT-TYPE serverClientSubnetMask OBJECT-TYPE
SYNTAX IpAddress SYNTAX IpAddress
MAX-ACCESS not-accessible MAX-ACCESS not-accessible
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The IP address of the subnet to which this address belongs. "The subnet mask (DHCP option 1) applied to the client IP."
The subnet must be configured on this server and appear as a ::= { serverClientEntry 2 }
row in the dhcpSubnetTable."
::= { bootpClientEntry 2 }
bootpClientAddress OBJECT-TYPE serverClientAddress OBJECT-TYPE
SYNTAX IpAddress SYNTAX IpAddress
MAX-ACCESS read-only MAX-ACCESS read-only
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. May be used to index into the
serverAddressTable." serverAddressTable. May be 0.0.0.0 if an address is not
::= { bootpClientEntry 3 } associated with this client."
::= { serverClientEntry 3 }
dhcpClientTable OBJECT-TYPE
SYNTAX SEQUENCE OF dhcpClientEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A list of DHCP clients that are known by this server."
::= { dhcpClients 1 }
dhcpClientEntry OBJECT-TYPE serverClientLastRequestTime OBJECT-TYPE
SYNTAX dhcpClientEntry SYNTAX DateAndTime
MAX-ACCESS not-accessible MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"A logical row in the dhcpClientTable." "The time when the last request was received."
INDEX { dhcpClientClientId } ::= { serverClientEntry 4 }
::= { dhcpClientTable 1 }
dhcpClientEntry ::= SEQUENCE { serverClientLastRequestType OBJECT-TYPE
dhcpClientClientId OCTET STRING, SYNTAX INTEGER {
dhcpClientAddress IpAddress dhcpdiscover(1),
bootp(2),
dhcprequest(3),
dhcpdecline(4),
unknown(5),
dhcprelease(7),
dhcpinform(8)
} }
dhcpClientClientId OBJECT-TYPE
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 type of the last request that was received for this
The client-id is the value specified in option 61 (client-id client."
option) when the lease was assigned. The client-id is globally ::= { serverClientEntry 5 }
unique."
::= { dhcpClientEntry 1 }
dhcpClientAddress OBJECT-TYPE serverClientLastResponseType OBJECT-TYPE
SYNTAX IpAddress SYNTAX INTEGER {
bootp(1),
dhcpoffer(2),
unknown(3),
dhcpack(5),
dhcpnak(6)
}
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The IP address of the entry. May be used to index into the "The type of the last response that was sent to this client."
serverAddressTable." ::= { serverClientEntry 6 }
::= { dhcpClientEntry 2 }
-- Compliance groups -- Compliance groups
dhcpServerMIBCompliances OBJECT IDENTIFIER ::= { dhcpServerMIBCompliances OBJECT IDENTIFIER ::= {
dhcpServerConformance 1 } dhcpServerConformance 1 }
dhcpServerMIBGroups OBJECT IDENTIFIER ::= { dhcpServerMIBGroups OBJECT IDENTIFIER ::= {
dhcpServerConformance 2 } dhcpServerConformance 2 }
dhcpServerMIBCompliance MODULE-COMPLIANCE dhcpServerMIBCompliance MODULE-COMPLIANCE
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"Describes the requirements for conformance to the System "Describes the requirements for conformance to the System
Application MIB" Application MIB"
MODULE -- this module MODULE -- this module
MANDATORY-GROUPS MANDATORY-GROUPS
{ serverSystemGroup, bootpCountersGroup, dhcpCountersGroup, { serverSystemGroup, bootpCountersGroup, dhcpCountersGroup,
bootpStatisticsGroup, dhcpStatisticsGroup, bootpStatisticsGroup, dhcpStatisticsGroup,
serverConfigurationGroup, bootpClientsGroup, dhcpClientsGroup } serverConfigurationGroup, serverClientsGroup }
::= { dhcpServerMIBCompliances 1 } ::= { dhcpServerMIBCompliances 1 }
serverSystemGroup OBJECT-GROUP serverSystemGroup OBJECT-GROUP
OBJECTS { serverSystemDescr, serverSystemObjectID } OBJECTS { serverSystemDescr, serverSystemObjectID }
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"" ""
::= { dhcpServerMIBGroups 1 } ::= { dhcpServerMIBGroups 1 }
bootpCountersGroup OBJECT-GROUP bootpCountersGroup OBJECT-GROUP
OBJECTS OBJECTS
{ bootpCountRequests, bootpCountInvalids, bootpCountReplies, { bootpCountRequests, bootpCountInvalids, bootpCountReplies,
bootpCountDroppedUnknownClients, bootpCountDroppedUnknownClients,
bootpCountDroppedNotServingSubnet } bootpCountDroppedNotServingSubnet }
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"" ""
::= { dhcpServerMIBGroups 1 } ::= { dhcpServerMIBGroups 2 }
dhcpCountersGroup OBJECT-GROUP dhcpCountersGroup OBJECT-GROUP
OBJECTS OBJECTS
{ dhcpCountDiscovers, dhcpCountRequests, dhcpCountReleases, { dhcpCountDiscovers, dhcpCountRequests, dhcpCountReleases,
dhcpCountDeclines, dhcpCountInforms, dhcpCountInvalids, dhcpCountDeclines, dhcpCountInforms, dhcpCountInvalids,
dhcpCountOffers, dhcpCountAcks, dhcpCountNacks, dhcpCountOffers, dhcpCountAcks, dhcpCountNacks,
dhcpCountDroppedUnknownClint, dhcpCountDroppedNotServingSubnet dhcpCountDroppedUnknownClint, dhcpCountDroppedNotServingSubnet
} }
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"" ""
::= { dhcpServerMIBGroups 1 } ::= { dhcpServerMIBGroups 3 }
bootpStatisticsGroup OBJECT-GROUP bootpStatisticsGroup OBJECT-GROUP
OBJECTS OBJECTS
{ bootpStatMinArrivalInterval, bootpStatMaxArrivalInterval, { bootpStatMinArrivalInterval, bootpStatMaxArrivalInterval,
bootpStatLastArrivalTime, bootpStatSunSquaresArrivalTime, bootpStatLastArrivalTime, bootpStatSunSquaresArrivalTime,
bootpStatMinResponseTime, bootpStatMaxResponseTime, bootpStatMinResponseTime, bootpStatMaxResponseTime,
bootpStatSumReponseTime, bootpStatSumSquaresResponseTime } bootpStatSumReponseTime, bootpStatSumSquaresResponseTime }
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"" ""
::= { dhcpServerMIBGroups 1 } ::= { dhcpServerMIBGroups 4 }
dhcpStatisticsGroup OBJECT-GROUP dhcpStatisticsGroup OBJECT-GROUP
OBJECTS OBJECTS
{ dhcpStatMinArrivalInterval, dhcpStatMaxArrivalInterval, { dhcpStatMinArrivalInterval, dhcpStatMaxArrivalInterval,
dhcpStatLastArrivalTime, dhcpStatSumSquaresArrivalTime, dhcpStatLastArrivalTime, dhcpStatSumSquaresArrivalTime,
dhcpStatMinResponseTime, dhcpStatMaxResponseTime, dhcpStatMinResponseTime, dhcpStatMaxResponseTime,
dhcpStatSumResponseTime, dhcpStatSumSquaresResponseTime } dhcpStatSumResponseTime, dhcpStatSumSquaresResponseTime }
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"" ""
::= { dhcpServerMIBGroups 1 } ::= { dhcpServerMIBGroups 5 }
serverConfigurationGroup OBJECT-GROUP serverConfigurationGroup OBJECT-GROUP
OBJECTS OBJECTS
{ serverSubnet, serverSubnetMask, serverSubnetSharedNet, { serverSubnet, serverSubnetMask, serverSubnetSharedNet,
serverRangeStart, serverRangeEnd, serverRangeSubnet, serverRangeStart, serverRangeEnd, serverRangeSubnet,
serverRangeInUse, serverAddress, serverAddressSubnet, serverRangeInUse, serverRangeOutstandingOffers, serverAddress,
serverAddressRange, serverAddressRange, serverAddressType, serverAddressSubnet, serverAddressRange, serverAddressRange,
serverAddressTimeRemaining, serverAddressAllowedProtocol, serverAddressType, serverAddressTimeRemaining,
serverAddressServedProtocol, serverAddressMacAddress, serverAddressAllowedProtocol, serverAddressServedProtocol,
serverAddressClientId, serverAddressHostName, serverAddressTypeAndMacAddress, serverAddressClientId,
serverAddressDomainName } serverAddressHostName, serverAddressDomainName }
STATUS current
DESCRIPTION
""
::= { dhcpServerMIBGroups 1 }
bootpClientsGroup OBJECT-GROUP
OBJECTS
{ bootpClientMacAddress, bootpClientSubnet, bootpClientAddress
}
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"" ""
::= { dhcpServerMIBGroups 1 } ::= { dhcpServerMIBGroups 6 }
dhcpClientsGroup OBJECT-GROUP serverClientsGroup OBJECT-GROUP
OBJECTS OBJECTS
{ dhcpClientClientId, dhcpClientAddress } { serverClientMacAddress, serverClientSubnet,
serverClientAddress, serverClientLastRequestTime,
serverClientLastRequestType, serverClientLastResponseType }
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"" ""
::= { dhcpServerMIBGroups 1 } ::= { dhcpServerMIBGroups 7 }
END END
4. Intellectual Property 4. 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 pertain intellectual property or other rights that might be claimed to pertain
to the implementation or use of the technology described in this to the implementation or use of the technology described in this
document or the extent to which any license under such rights might or document or the extent to which any license under such rights might or
might not be available; neither does it represent that it has made any might not be available; neither does it represent that it has made any
effort to identify any such rights. Information on the IETF's effort to identify any such rights. Information on the IETF's
procedures with respect to rights in standards-track and standards- procedures with respect to rights in standards-track and standards-
related documentation can be found in BCP-11. Copies of claims of related documentation can be found in BCP-11.
rights made available for publication and any assurances of licenses
to be made available, or the result of an attempt made to obtain a Copies of claims of rights made available for publication and any
general license or permission for the use of such proprietary rights assurances of licenses to be made available, or the result of an
by implementers or users of this specification can be obtained from attempt made to obtain a general license or permission for the use of
the IETF Secretariat. such proprietary rights by implementers or users of this specification
can be obtained from the IETF Secretariat.
The IETF invites any interested party to bring to its attention any The IETF invites any interested party to bring to its attention any
copyrights, patents or patent applications, or other proprietary copyrights, patents or patent applications, or other proprietary
rights which may cover technology that may be required to practice rights which may cover technology that may be required to practice
this standard. Please address the information to the IETF Executive this standard. Please address the information to the IETF Executive
Director. Director.
5. Notes 5. Notes
This section will be removed when this memo is published as an RFC. This section will be removed when this memo is published as an RFC.
skipping to change at page 26, line 28 skipping to change at page 27, line 5
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 min/max (inter-arrival and response times) were changed to
Unsigned32 so that they could be reset. Sum of inter-arrival and Unsigned32 so that they could be reset. Sum of inter-arrival and
response times was deleted since the management station can easily response times was deleted since the management station can easily
calculate them. The last arrival time objects were added. calculate them. The last arrival time objects were added.
The "-03" version incorporated the proposed configuration tables
suggested by Ryan Troll of CMU. The "01" revision of this version
added three elements to the server subnet table, number of outstanding
offers, number of addresses in use, and number of free addresses, as
well as changing subnet address to subnet mask in the server address,
server range, and client address tables. The client MAC address
element of the client address table was separated into a 1-octet
hardware type and a 16-octet client hardware address, causing a
renumbering of the elements in this table. Clarifying text was added
to several element descriptions, and limitations on values, and the
reported value when the server did not support the data element were
also specified.
6. Acknowledgements 6. 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 authors would like to particularly acknowledge the group. The authors would like to particularly acknowledge the
development team from Carnegie-Mellon University whose work creating a development team from Carnegie-Mellon University whose work creating a
private MIB for their DHCP server inspired the development of this private MIB for their DHCP server inspired the development of this
proposal. proposal. In particular, many thanks to Ryan Troll who provided a
great deal of useful feedback during the development of this MIB.
7. Security Considerations 7. Security Considerations
Security considerations are to be determined. There are a number of management objects defined in this MIB that have
a MAX-ACCESS clause of read-write and/or read-create. Such objects may
be considered sensitive or vulnerable in some environments. The
support for SET operations in a non-secure environment without proper
protection can have a negative effect on network operations.
SNMPv1 by itself is not a secure environment. Even if the network
itself is secure (for example by using IPSec), even then, there is no
control as to who on the secure network is allowed to access and
GET/SET (read/change/create/delete) the objects in this MIB.
It is recommended that the implementers consider the security features
as provided by the SNMPv3 framework. Specifically, the use of the
User-based Security Model RFC 2274 [RFC2274] and the View-based Access
Control Model RFC 2275 [RFC2275] is recommended.
It is then a customer/user responsibility to ensure that the SNMP
entity giving access to an instance of this MIB, 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.
8. References 8. References
[DEN] Directory Enabled Networks Working Group, [DEN] Directory Enabled Networks Working Group,
http://www.universe.digex.net/~murchiso/den. http://www.universe.digex.net/~murchiso/den.
[RFC1902] Case, J., McCloghrie, K., Rose, M., and S. Waldbusser, [RFC1902] Case, J., McCloghrie, K., Rose, M., and S. Waldbusser,
"Structure of Management Information for Version 2 of the Simple "Structure of Management Information for Version 2 of the Simple
Network Management Protocol (SNMPv2)", RFC 1902, January 1996. Network Management Protocol (SNMPv2)", RFC 1902, January 1996.
[RFC1903] Case, J., McCloghrie, K., Rose, M., and S. Waldbusser, [RFC1903] Case, J., McCloghrie, K., Rose, M., and S. Waldbusser,
"Textual Conventions for Version 2 of the Simple Network "Textual Conventions for Version 2 of the Simple Network Management
Management Protocol (SNMPv2)", RFC 1903, January 1996. Protocol (SNMPv2)", RFC 1903, January 1996.
[RFC1904] Case, J., McCloghrie, K., Rose, M., and S. Waldbusser, [RFC1904] Case, J., McCloghrie, K., Rose, M., and S. Waldbusser,
"Conformance Statements for Version 2 of the Simple Network "Conformance Statements for Version 2 of the Simple Network
Management Protocol (SNMPv2)", RFC 1904, January 1996. Management Protocol (SNMPv2)", RFC 1904, January 1996.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", RFC 2119, BCP 14, March 1997. 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.
[RFC2274] Blumenthal, U., and B. Wijnen, "User-based Security Model
(USM) for version 3 of the Simple Network Management Protocol
(SNMPv3)", RFC 2274, January 1998.
[RFC2275] Wijnen, B., Presuhn, R., and K. McCloghrie, "View-based
Access Control Model for the Simple Network Management Protocol
(SNMP)", RFC 2275, January 1998.
[RFC2287] Krupczak, C. and Saperia, J., "Definitions of System-Level [RFC2287] Krupczak, C. and Saperia, J., "Definitions of System-Level
Managed Objects for Applications", RFC 2287, February 1998. Managed Objects for Applications", RFC 2287, February 1998.
9. Editors' Addresses 9. Editors' Addresses
Richard Barr Hibbs Richard Barr Hibbs
Pacific Bell Pacific Bell
666 Folsom Street, Room 1225 666 Folsom Street, Room 1225
San Francisco, CA 94107-1384 San Francisco, CA 94107-1384
USA USA
Phone: +1 415-545-1576 Phone: +1 415-545-1576
Fax: +1 415-543-3539 Fax: +1 415-543-3539
Email: rbhibbs@pacbell.com Email: rbhibbs@pacbell.com
Glenn Waters Glenn Waters
Bay Networks Nortel Networks
300-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: gwaters@baynetworks.com Email: gww@nortelnetworks.com
10. Full Copyright Statement 10. Full Copyright Statement
Copyright (C) The Internet Society (1998). All Rights Reserved. Copyright (C) The Internet Society (1999). 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 and or assist in its implementation may be prepared, copied, published and
distributed, in whole or in part, without restriction of any kind, distributed, in whole or in part, without restriction of any kind,
provided that the above copyright notice and this paragraph are 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 developing Internet organizations, except as needed for the purpose of developing
 End of changes. 

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