INTERNET-DRAFT                                    T. Miller
Informational Draft                               A.Patel
Expires 1 December 1998                           P. Rao
                                      Novell, Inc.
                                      June 1, 1998

       Lightweight Directory Access Protocol (v3):
  Schema for Dynamic Host Configuration Protocol (DHCP)
 <draft-miller-dhcp-ldap-schema-00.txt>


Status of this Memo

This document is an Internet-Draft.  Internet-Drafts are
working documents of the Internet Engineering Task Force
(IETF), its areas, and its working groups.  Note that other
groups may also distribute working documents as Internet-
Drafts.

Internet-Drafts are draft documents valid for a maximum of six
months and may be updated, replaced, or obsoleted  by other
documents at any time.  It is inappropriate to use Internet-
Drafts as reference material or to cite them other than as
"work in progress".

To view the entire list of current Internet-Drafts, please check
the "1id-abstracts.txt" listing contained in the Internet-Drafts
Shadow Directories on ftp.is.co.za (Africa), ftp.nordu.net
(Northern Europe), ftp.nis.garr.it (Southern Europe), munnari.oz.au
(Pacific Rim), ftp.ietf.org (US East Coast), or ftp.isi.edu
(US West Coast).

This distribution of this memo is unlimited.  It is filed as
<draft-miller-dhcp-ldap-schema-00-txt>, and expires on
December 1, 1998.

Abstract

This document defines a schema for Dynamic Host Configuration
Protocol (DHCP).  This schema makes it possible to integrate
DHCP servers with an LDAP-based directory service, allowing an
organization to maintain a single store of IP addresses and
other configuration data provided to clients using the DHCP
protocol. Integration of DHCP into LDAP directories is
desirable since it reduces administrative overhead and
eliminates the need to maintain multiple server centric
configuration databases.

It is anticipated that this schema will be useful for
providing a standardized format for the representation of
attributes needed by DHCP implementations within LDAP-based
directory services.




Miller, Patel, Rao                                       [Page 1]


INTERNET-DRAFT         LDAP V3: Schema for DHCP      June 1, 1998


1.  Introduction

DHCP [RFC2131] is a protocol which allows IP addresses to be
assigned to devices from a server,  usually at boot time.
DHCP servers typically allow an administrator to assign an
address to a device dynamically from a pool of addresses or,
if necessary, a specific address can be assigned to a device
based upon an identifier such as a MAC address.

In addition to assigning IP addresses to clients, DHCP can be
used to provide other configuration information to devices,
such as the IP address of DNS servers, the address of a
default router, and many other configuration parameters.
[RFC2132], [RFC2241], and [RFC2242] describe DHCP options and
vendor extensions that represent this configuration
information.

Organizations need to manage addresses and device
configuration for widely dispersed (often, global) networks.
While many DHCP servers may be needed within an organization’s
network, it is highly desirable to be able to manage addresses
and configuration from a single point.   Integrating DHCP into
an LDAP directory allows for a single point of administration
for a distributed set of DHCP servers.

In order to support DHCP, new object classes are defined for
Locator, Subnet, Subnet Address Range, IP Address, Subnet
Pool, and DHCP Server. These object classes are described in
the next section, “Object Descriptions” with the detailed
class attribute definitions following each description.
[RFC2252] describes the syntaxes used in these definitions.



2. DHCP Object Descriptions

OIDs have been assigned for these schema extensions (as well
as DNS extensions described in [DNSSCHEMA]) as follows:

 joint-iso-ccitt(2).country(16).us(840)
.organization(1).novell(113719).applications(1).DNIP(25)
.DNIPAttributeType(4)

 joint-iso-ccitt(2).country(16).us(840)
.organization(1).novell(113719).applications(1).DNIP(25)
.DNIPAttributeSyntax(5)

 joint-iso-ccitt(2).country(16).us(840)
.organization(1).novell(113719).applications(1).DNIP(25)
.DNIPObjectClass(6)






Miller, Patel, Rao                                       [Page 2]


INTERNET-DRAFT         LDAP V3: Schema for DHCP      June 1, 1998


2.1 DNS/DHCP Locator


The DNS/DHCP Locator object is an object used to store global
information relevant for both DNS and DHCP.  [DNSSCHEMA]
describes a LDAP schema for DNS.  These two services interact
in some cases, such as for Dynamic DNS updates.  Also, the
administration of the two services is often linked.

The Locator object has two purposes.  First, it contains DNs
(Distinguished Names) of other objects of interest for DNS and
DHCP.  For DHCP these include subnets, subnet pools,  and DHCP
servers. By having DNs of all these objects, an application
such as a GUI, is able to present a list of all these objects
without needing to search the entire tree for the objects.
Instead, the application just needs to find the locator, and
then read the DNs of the other objects. This can offer a
significant performance advantage.

The second DHCP usage of the locator object is to store
configuration information that is to apply to the entire tree.
This global configuration, such as DHCP option values, is to
apply to the entire tree unless it is overridden at a lower
level of the tree.  In the case of DHCP options, the global
values in the locator object could be overridden at the Subnet
object or IP address object levels.

Object Class Definition:

(2.16.840.1.113719.1.25.6.1.1
   NAME ‘DNS/DHCP Locator’
   SUP top
   PARENT (country $ organization $ organizationalUnit $
locality)
   STRUCTURAL
   MUST (cn
   )
   MAY (DNIPSubnetAttr $ DNIPDNSServers $ DNIPDHCPServers $
   DNIPDNSZones $ DNIPSubnetPoolList $ DNIPConfigOptions $
   DNIPCfgPreferences $ DNIPExcludedMac $ DNIPGroupReference
   )
)

Attribute Definitions:

(2.16.840.1.113719.1.25.4.1.1
   NAME ‘DNIPSubnetAttr’
   DESC(‘The distinguished names of Subnets.
        ’)
   SYNTAX ‘DN’
   MULTI-VALUED
)

(2.16.840.1.113719.1.25.4.1.2


Miller, Patel, Rao                                       [Page 3]


INTERNET-DRAFT         LDAP V3: Schema for DHCP      June 1, 1998


   NAME ‘DNIPDNSServers’
   DESC(‘The distinguished names of DNS servers.
        ’)
   SYNTAX ‘DN’
   MULTI-VALUED
)

(2.16.840.1.113719.1.25.4.1.3
   NAME ‘DNIPDHCPServers’
   DESC(‘The distinguished names of DHCP servers.
        ’)
   SYNTAX ‘DN’
   MULTI-VALUED
)

(2.16.840.1.113719.1.25.4.1.4
   NAME ‘DNIPDNSZones’
   DESC(‘The distinguished names of DNS Zones.
        ’)
   SYNTAX ‘DN’
   MULTI-VALUED
)

(2.16.840.1.113719.1.25.4.1.5
   NAME ‘DNIPSubnetPoolList’
   DESC(‘The distinguished names of Subnet Pools.
        ’)
   SYNTAX ‘DN’
   MULTI-VALUED
)

(2.16.840.1.113719.1.25.4.1.6
   NAME ‘DNIPConfigOptions’
   DESC(‘DHCP options are included in this string.  The
first four octets are reserved.  The rest of the string
contains encoded DHCP options.
        ’)
   SYNTAX ‘OCTETSTRING’
   SINGLE-VALUE
)

(2.16.840.1.113719.1.25.4.1.8
   NAME ‘DNIPCfgPReferences’
   DESC(‘Configuration preferences for the administrative
utility.
        ’)
   SYNTAX ‘OCTETSTRING’
   MULTI-VALUED
)

(2.16.840.1.113719.1.25.4.1.9
   NAME ‘DNIPExcludedMac’
   DESC(‘A list of MAC addresses which the administrator
wishes to exclude from receiving addresses by DHCP. Each


Miller, Patel, Rao                                       [Page 4]


INTERNET-DRAFT         LDAP V3: Schema for DHCP      June 1, 1998


address is described as in [RFC2131] with the first octet as
hlen, second octet a htype, and the remaining octets are the
actual hardware address.  A wildcard format is also supported.
If the length is greater than 17 octets this indicates a
wildcard.  A wildcard MAC address has an “*” to indicate the
portion of the address that is a wildcard.  For example,
“00:02:*” would indicate that all addresses starting with
00:02 should be excluded.
        ’)
   SYNTAX ‘OCTETSTRING’
   MULTI-VALUED
)


(2.16.840.1.113719.1.25.4.1.11
   NAME ‘DNIPGroupReference’
   DESC(‘The distinguished name of the group object through
which servers gain their rights to the tree.
        ’)
   SYNTAX ‘DN’
   SINGLE-VALUED
)


2.2 Subnet

The Subnet object represents an IP subnet.  As would be
expected, it has an address and mask to define the subnet.
The Subnet object is designed to be placed in the part of the
tree representing the location it is serving; it is contained
by an O, OU, C, or L(Organization, Organizational Unit,
Locality, or Country).

The Subnet object also has attributes for configuration that
apply to the entire Subnet.  For example, there is an
attribute to specify the lease time for addresses assigned
dynamically from the Subnet.  A very important attribute in
the Subnet is DHCPConfigOptions.  These are the values that
are to be passed to the client when it requests DHCP options.
DHCP options that are not specified at the Subnet level can be
inherited from the DNS/DHCP Locator object.  This allows an
administrator to configure options for an entire enterprise
once, and then specify exceptions at the Subnet level.

Object Class Definition:

(2.16.840.1.113719.1.25.6.1.2
   NAME ‘DHCP Subnet’
   SUP top
   PARENT (country $ organization $ organizationalUnit $
locality)
   STRUCTURAL
   MUST (cn $ DNIPSubnetAddress $ DNIPSubnetMask
   )


Miller, Patel, Rao                                       [Page 5]


INTERNET-DRAFT         LDAP V3: Schema for DHCP      June 1, 1998


   MAY ( DNIPLeaseTime $ DNIPConfigOptions $
   DNIPZoneReference $ DNIPDomainName      $
   DNIPBootParameter $ DNIPSubnetPoolReference $
   DNIPSubnetType $  DNIPComment
   )
)

Attribute Definitions:

(2.16.840.1.113719.1.25.4.1.32
   NAME ‘DNIPSubnetAddress’
   DESC(‘The starting address of a subnet which, along with
the subnet’s mask, defines the subnet’)
   SYNTAX ‘INTEGER’
   SINGLE-VALUE
)

(2.16.840.1.113719.1.25.4.1.33
   NAME ‘DNIPSubnetMask’
   DESC(‘The mask for the subnet which, along with the
subnet address, defines the subnet’)
   SYNTAX ‘INTEGER’
   SINGLE-VALUE
)

(2.16.840.1.113719.1.25.4.1.6
   NAME ‘DNIPConfigOptions’
   DESC(‘DHCP Options are included in this string.  The
first four octets are reserved.  The rest of the string
contains encoded DHCP options’)
   SYNTAX ‘OCTETSTRING’
   SINGLE-VALUE
)

(2.16.840.1.113719.1.25.4.1.34
   NAME ‘DNIPZoneReference’
   DESC(‘A Distinguished Name of a zone that should be
updated when Dynamic DNS (DDNS) updates are made’)
   SYNTAX ‘DN’
   SINGLE-VALUE
)


(2.16.840.1.113719.1.25.4.1.36
   NAME ‘DNIPDomainName’
   DESC(‘The domain name that should be provided to the DHCP
client.’)
   SYNTAX ‘IA5STRING’
   SINGLE-VALUE
)


(2.16.840.1.113719.1.25.4.1.7
   NAME ‘DNIPBOOTParameter’


Miller, Patel, Rao                                       [Page 6]


INTERNET-DRAFT         LDAP V3: Schema for DHCP      June 1, 1998


   DESC(‘This parameter contains the siaddr, sname, and file
parameters of a DHCP message as described in [RFC2131].  The
maximum length of the parameter is 198 octets.  The syntax is
a 4 octet siaddr in network order, a null terminated sname
character string, followed by another null terminated file
character sting.’)
   SYNTAX ‘OCTET_STRING’
   SINGLE-VALUE
)


(2.16.840.1.113719.1.25.4.1.35
   NAME ‘DNIPSubnetPoolReference’
   DESC(‘This Distinguished Name identifies the subnet pool
by name that the Subnet is a part of.’)
   SYNTAX ‘DN’
   SINGLE-VALUE
)


(2.16.840.1.113719.1.25.4.1.31
   NAME ‘DNIPSubnetType’
   DESC(‘This identifies the type of subnet.  The defined
values are 1 = Subnet for LAN clients. 2 = Subnet for Remote
Access Clients.’)
   SYNTAX ‘INTEGER’
   SINGLE-VALUE
)

(2.16.840.1.113719.1.25.4.1.79
   NAME ‘DNIPComment’
   DESC(‘This is for the administrator to provide a comment
about the object.’)
   SYNTAX ‘IA5STRING’
   SINGLE-VALUE
)

2.3 Subnet Address Range

The Subnet Address Range object identifies a range of
   addresses within a Subnet.  It is a leaf object that is
   contained under the Subnet.  The Subnet Address Range has
   a type attribute to identify it as one of several type of
   ranges available for dynamic address assignment (types
   are available to support both Dynamic DHCP and Dynamic
   BOOTP, as well as automatic host name generation) or as a
   set of addresses that an administrator wishes to exclude
   from address assignment.

Class Definition:

(2.16.840.1.113719.1.25.6.1.5
   NAME ‘DHCP Subnet Address Range’
   SUP top


Miller, Patel, Rao                                       [Page 7]


INTERNET-DRAFT         LDAP V3: Schema for DHCP      June 1, 1998


   PARENT (Subnet)
   STRUCTURAL
   MUST (cn $ DNIPStartAddressNumber $ DNIPEndAddressNumber
   )
   MAY ( DNIPDHCPServerReference $ DNIPDNSUpdateOption $
   DNIPRangeType  $ DNIPAutoHostNameStart $  DNIPComment
   )
)

Attribute Definitions:

(2.16.840.1.113719.1.25.4.1.38
   NAME ‘DNIPStartAddressNumber’
   DESC(‘This is the starting address in an IP Address
Range.’)
   SYNTAX ‘INTEGER’
   SINGLE-VALUE
)

(2.16.840.1.113719.1.25.4.1.39
   NAME ‘DNIPEndAddressNumber’
   DESC(‘This is the ending address in an IP Address
Range.’)
   SYNTAX ‘INTEGER’
   SINGLE-VALUE
)

(2.16.840.1.113719.1.25.4.1.12
   NAME ‘DNIPServerReference’
   DESC(‘This is the DN of the server object representing
the server that has been assigned the Subnet Address Range.’)
   SYNTAX ‘INTEGER’
   SINGLE-VALUE
)

(2.16.840.1.113719.1.25.4.1.40
   NAME ‘DNIPDNSUpdateOption’
   DESC(‘Specifies whether DNS should be updated as
addresses are assigned:
        1 =  Don’t Update
        2 = Always Update
        ’)
   SYNTAX ‘INTEGER’
   SINGLE-VALUE
)


(2.16.840.1.113719.1.25.4.1.41
   NAME ‘DNIPRangeType’
   DESC(‘The type of Subnet Address Range
        1 = Dynamic BOOTP
        2 = Dynamic DHCP
        3 = Dynamic BOOTP and DHCP
        4 = Remote Access


Miller, Patel, Rao                                       [Page 8]


INTERNET-DRAFT         LDAP V3: Schema for DHCP      June 1, 1998


        5 = Dynamic DHCP with Automatic Name Generation
        255 = Exclusion
        ’)
   SYNTAX ‘INTEGER’
   SINGLE-VALUE
)


(2.16.840.1.113719.1.25.4.1.37
   NAME ‘DNIPAutoHostNameStart’
   DESC(‘This string is used to automatically generate host
names.  It is used when the DNIPRangeType attribute is set to
5 for Dynamic DHCP with Automatic Name Generation. The use of
this attribute implies the use of the DNIPDomainName attribute
in the corresponding subnet object.’)
   SYNTAX ‘IA5STRING’
   SINGLE-VALUE
)

(2.16.840.1.113719.1.25.4.1.79
   NAME ‘DNIPComment’
   DESC(‘This is for the administrator to provide a comment
about the object.’)
   SYNTAX ‘IA5STRING’
   SINGLE-VALUE
)



2.4 IP Address

The IP Address object represents a single IP address.  It is a
leaf object that is contained under a subnet.  The IP Address
object is created by an administrator when a specific address
needs to be assigned to a device.  The IP Address object has
as attributes a MAC address and Client ID.  When a request is
received from a client for an address the MAC address or
Client ID is compared to these attributes to determine what
address to provide the client.

The IP Address object has attributes similar to the Subnet
object, that apply to the specific address instead of the
entire subnet.  One part of this are DHCP options.  When a
client requests DHCP options they first come from the IP
address object if an individual option is specified.  For
those options that aren’t specified at the IP address object
level, the DHCP server will first check the Subnet object and
then the DNS/DHCP locator object.

In addition to being created by administrators, IP Address
objects can be created by a DHCP server to represent IP
address assignments in the directory. The IP Address object
has attributes to identify when the lease will expire and when
it was last renewed.


Miller, Patel, Rao                                       [Page 9]


INTERNET-DRAFT         LDAP V3: Schema for DHCP      June 1, 1998


The IP Address object has a type attribute to indicate whether
it was created to represent a static address assignment or
created to represent a dynamic address assignment.  This
attribute can also indicate that the IP Address object
represents an address that is currently not assigned.  This
allows a DHCP server to mark an attribute, rather than delete
an object, when an address lease expires.

Object Class Definition:

(2.16.840.1.113719.1.25.6.1.6
   NAME ‘DHCP IP Address Configuration’
   SUP top
   PARENT (Subnet)
   STRUCTURAL
   MUST (cn $ DNIPAddressNumber $ DNIPAssignmentType
   )
   MAY ( DNIPLeaseTime $ DNIPConfigOptions $ DNIPHostName $
   DNIPLastUsed $  DNIPLeaseExpiration $ DNIPObjectReference
   $ DNIPMACAddress $ DNIPClientIdentifier $
   DNIPBootParameters $ DNIPFQDomainName $DNIPComment
   )
)

Attribute Definitions:

(2.16.840.1.113719.1.25.4.1.44
   NAME ‘DNIPAddressNumber’
   DESC(‘An IP Address
        ’)
   SYNTAX ‘INTEGER’
   SINGLE-VALUE
)

(2.16.840.1.113719.1.25.4.1.42
   NAME ‘DNIPAssignmentType’
   DESC(‘Indicates what this address represents
        1 =  BOOTP Assignment
        2 =  Dynamic DHCP Assignment
        4 = IPCP (Remote Access) Assignment
        8 = Manual Address Assignment
        16 = MAC address exclusion
        32 = Unauthorized IP Address Usage
        64 = Dynamic DHCP Assignment with Host Name
Generation
        128 = IP Address Exclusion
        ’)
   SYNTAX ‘INTEGER’
   SINGLE-VALUE
)

(2.16.840.1.113719.1.25.4.1.19
   NAME ‘DNIPLeaseTime’



Miller, Patel, Rao                                      [Page 10]


INTERNET-DRAFT         LDAP V3: Schema for DHCP      June 1, 1998


   DESC(‘The configured time for the address lease, in
seconds.  –1 implies a permanent lease.
        ’)
   SYNTAX ‘INTEGER’
   SINGLE-VALUE
)

(2.16.840.1.113719.1.25.4.1.6
   NAME ‘DNIPConfigOptions’
   DESC(‘DHCP Options are included in this string.  The
first four octets are reserved.  The rest of the string
contains encoded DHCP options’)
   SYNTAX ‘OCTETSTRING’
   SINGLE-VALUE
)

(2.16.840.1.113719.1.25.4.1.47
   NAME ‘DNIPHostName’
   DESC(‘The name of the host.
        ’)
   SYNTAX ‘IA5STRING’
   SINGLE-VALUE
)


(2.16.840.1.113719.1.25.4.1.48
   NAME ‘DNIPLastUsed’
   DESC(‘The time that the address lease was last extended,
or initially given if it has never been extended.
        ’)
   SYNTAX ‘TIME’
   SINGLE-VALUE
)

(2.16.840.1.113719.1.25.4.1.49
   NAME ‘DNIPLeaseExpiration’
   DESC(‘The time when the lease will expire.
        ’)
   SYNTAX ‘TIME’
   SINGLE-VALUE
)

(2.16.840.1.113719.1.25.4.1.46
   NAME ‘DNIPObjectReference’
   DESC(‘The DN of another object in the tree that may
represent the usage of the address object with this attribute.
For example, this could be a DN of a computer or user object.
This is for informational purposes and may be provided
dynamically by system software or manually by an
administrator.
        ’)
   SYNTAX ‘DN’
   SINGLE-VALUE
)


Miller, Patel, Rao                                      [Page 11]


INTERNET-DRAFT         LDAP V3: Schema for DHCP      June 1, 1998



(2.16.840.1.113719.1.25.4.1.51
   NAME ‘DNIPMACAddress’
   DESC(‘MAC address, with a format of the first octet being
hlen, second octet htype, and the remaining data is the actual
hardware address.
        ’)
   SYNTAX ‘OCTETSTRING’
   SINGLE-VALUE
)

(2.16.840.1.113719.1.25.4.1.43
   NAME ‘DNIPClientIdentifier’
   DESC(‘The DHCP client identifier.
        ’)
   SYNTAX ‘OCTETSTRING’
   SINGLE-VALUE
)

(2.16.840.1.113719.1.25.4.1.50
   NAME ‘DNIPFQDomainName’
   DESC(‘The fully qualified domain name of the client
        ’)
   SYNTAX ‘IA5STRING’
   SINGLE-VALUE
)

(2.16.840.1.113719.1.25.4.1.79
   NAME ‘DNIPComment’
   DESC(‘This is for the administrator to provide a comment
about the object.’)
   SYNTAX ‘IA5STRING’
   SINGLE-VALUE
)



2.5 Subnet Pool

The Subnet Pool object is used to group together a set of
Subnets. It is a leaf object that is contained in any O, OU,
L, or C.  The subnet pool has a multi valued attribute with
distinguished names of Subnet objects.

The primary purpose of the Subnet pool object is to group
together subnets when multiple subnets are being forwarded to
a DHCP server by a DHCP relay agent.  Since only the address
of the DHCP relay agent is received by the DHCP server, it is
impossible for it to assign addresses from multiple subnets,
without having a way to group them together.

Object Class Definition:

(2.16.840.1.113719.1.25.6.1.3


Miller, Patel, Rao                                      [Page 12]


INTERNET-DRAFT         LDAP V3: Schema for DHCP      June 1, 1998


   NAME ‘DHCP Subnet Pool’
   SUP top
   PARENT (country $ organization $ organizationalUnit $
locality)
   STRUCTURAL
   MUST (cn $ DNIPSubnetType
   )
   MAY ( DNIPSubnetAttr $DNIPComment
   )
)
Attribute Definitions:

(2.16.840.1.113719.1.25.4.1.31
   NAME ‘DNIPSubnetType’
   DESC(‘This identifies the type of subnet.  The defined
values are 1 = Subnet for LAN clients. 2 = Subnet for Remote
Access Clients. All subnets in the subnet pool must be the
same type as this attribute in the subnet pool.’)
   SYNTAX ‘INTEGER’
   SINGLE-VALUE
)

 (2.16.840.1.113719.1.25.4.1.1
   NAME ‘DNIPSubnetAttr’
   DESC(‘A list of Subnet references.
        ’)
   SYNTAX ‘DN’
   MULTI-VALUED
)
(2.16.840.1.113719.1.25.4.1.79
   NAME ‘DNIPComment’
   DESC(‘This is for the administrator to provide a comment
about the object.’)
   SYNTAX ‘IA5STRING’
   SINGLE-VALUE
)

2.6 DHCP Server

The DHCP Server object has attributes for server oriented
configuration.  This includes distinguished names of Subnet
Address ranges assigned to the server for dynamic address
assignment.

Attributes have also been defined to provide for a fail-over
capability.  The DHCP server object has attributes with syntax
of distinguished name to identify a primary and a secondary
DHCP server that will provide the DHCP service represented by
this object.

Object Class Definition:

(2.16.840.1.113719.1.25.6.1.4
   NAME ‘DHCP Server’


Miller, Patel, Rao                                      [Page 13]


   SUP top
   PARENT (country $ organization $ organizationalUnit $
locality)
   STRUCTURAL
   MUST (cn
   )
   MAY ( DNIPIPAssignmentPolicy $ DNIPSubnetAddressRangeAttr
   $ DNIPPrimaryServerRefererence $
   DNIPSecondaryServerReference $ DNIPServerIPAddress $
   DNIPSecondaryServerIPAddress $ DNIPAuditLevel $
   DNIPFaultToleranceUpdateInterval
   $DNIPFaultToleranceAutomatic $
   DNIPFaultToleranceSyncronizationDelay $DNIPPingEnabled $
   DNIPComment
   )
)

Attribute Definitions:

(2.16.840.1.113719.1.25.4.1.45
   NAME ‘DNIPAssignmentPolicy’
   DESC(‘Policy information for mobile clients. Indicates
whether the server should provide an IP address for a client
it is already aware of:
        1 = Allow Duplicate—instructs the server to allow
the same client to get multiple IP addresses in more than one
subnet.
        2 = Delete Duplicate—instructs the server to only
allow the client to get a single IP address. If the client had
an existing address assignment on one subnet and moved to
another subnet, the first address would be deleted as the new
one was assigned.
        3 = No Duplicate—instructs the server to only
provide a client with a single IP address.  If the client
already has an address assigned and requests another one, the
request for a new address assignment is ignored.
        ’)
   SYNTAX ‘INTEGER’
   SINGLE-VALUED
)

(2.16.840.1.113719.1.25.4.1.23
   NAME ‘DNIPSubnetAddressRangeAttr’
   DESC(‘The Subnet Address Ranges assigned to a server
        ’)
   SYNTAX ‘DN’
   MULTI-VALUED
)




Miller, Patel, Rao                                      [Page 14]


(2.16.840.1.113719.1.25.4.1.21
   NAME ‘DNIPPrimaryServerReference’
   DESC(‘Reference to actual server that will be the primary
DHCP server
        ’)
   SYNTAX ‘DN’
   SINGLE-VALUED
)


(2.16.840.1.113719.1.25.4.1.22
   NAME ‘DNIPSecondaryServerReference’
   DESC(‘Reference to the server that will act as the fail-
over server in case the primary fails.
        ’)
   SYNTAX ‘DN’
   SINGLE-VALUED
)


(2.16.840.1.113719.1.25.4.1.29
   NAME ‘DNIPServerIPAddress’
   DESC(‘IP address of the primary DHCP server
        ’)
   SYNTAX ‘OCTET_STRING’
   SINGLE-VALUED
)

(2.16.840.1.113719.1.25.4.1.16
   NAME ‘DNIPSecondaryServerIPAddress’
   DESC(‘IP address of the Secondary DHCP server
        ’)
   SYNTAX ‘OCTET_STRING’
   SINGLE-VALUED
)

(2.16.840.1.113719.1.25.4.1.27
   NAME ‘DNIPAuditLevel’
   DESC(‘Level of auditing that the DHCP server is to
perform:
        1 = No auditing
        2 = Log major events
        3 = Log leases and major events
        4 = Log all events
        ’)
   SYNTAX ‘INTEGER’




Miller, Patel, Rao                                      [Page 15]


   SINGLE-VALUED
)

(2.16.840.1.113719.1.25.4.1.17
   NAME ‘DNIP FT UpdateInterval’
        DESC(‘Denotes how often a primary will keep a
   secondary informed about its health.  The value is in
   seconds.  –1 implies that as soon as an update is made to
   the directory, the secondary should be informed.
        ’)
   SYNTAX ‘INTEGER’
   SINGLE-VALUED
)

(2.16.840.1.113719.1.25.4.1.24
   NAME ‘DNIP FT Automatic’
        DESC(‘If set to true, in the event of a failure by
   the primary server, automatic switch over will be
   executed without operator intervention.
        ’)
   SYNTAX ‘BOOLEAN’
   SINGLE-VALUED
)

(2.16.840.1.113719.1.25.4.1.18
   NAME ‘DNIPFaultSynronizationDelay’
        DESC(‘A positive value in seconds.  If undefined, a
   value of zero is assumed. This attribute defines the
   amount of time a secondary is willing to wait for
   synchronization with DS during a take over from the
   primary during fail-over.
        ’)
   SYNTAX ‘INTEGER’
   SINGLE-VALUED
)

(2.16.840.1.113719.1.25.4.1.15
   NAME ‘DNIPPingEnable’
        DESC(‘Indicates the DHCP server’s policy regarding
   whether to ping addresses before making assignments:
        1 = No Ping
        2 = Ping Addresses
        ’)
   SYNTAX ‘INTEGER’
   SINGLE-VALUED
)

(2.16.840.1.113719.1.25.4.1.79




Miller, Patel, Rao                                      [Page 16]


   NAME ‘DNIPComment’
   DESC(‘This is for the administrator to provide a comment
about the object.’)
   SYNTAX ‘IA5STRING’
   SINGLE-VALUE
)














































Miller, Patel, Rao                                      [Page 17]


3. Acknowledgements

Thanks to Kester Fong for his work at Novell in defining the
DHCP schema and implementing a DHCP service tied into it.

Thanks to Winston Bumpus, Steve Bostock, Marc Lavine, Ed Reed,
and others at Novell who provided review input.


4. References

[DNSSCHEMA]
   T. Miller, “Lightweight Directory Access Protocol (v3):
   Schema for Domain Name System”, INTERNET-DRAFT <id-
   miller-dns-ldap-schema.txt>, (work in progress)

[RFC2131]
   R. Droms, “Dynamic Host Configuration Protocol”, RFC
   2131, March 1997.

[RFC2132]
   S. Alexander, R. Droms, "DHCP Options and BOOTP Vendor
   Extensions”, RFC 2131, March 1997.

[RFC2241]
   D. Provan, “DHCP Options for Novell Directory Services”,
   RFC 2241, November 1997.

[RFC2242]
   R. Droms, K. Fong, "NetWare/IP Domain Name and
   Information, RFC 2242, November 1997.

[RFC2252]
   M. Wahl, A. Coulbeck, T. Howles, S. Kille, "Lightweight
   Directory Access Protocol (v3): Attribute Syntax
   Definitions, RFC 2252, December 1997.














Miller, Patel, Rao                                      [Page 18]


5. Authors’ Addresses

   Tom Miller
   Novell, Inc.
   2180 Fortune Dr.
   San Jose, CA   95131

   Phone: 408-577-8781
   Fax:   408-577-5560
   e-mail: tom_miller@novell.com

   Alpesh Patel
   Novell, Inc.
   2180 Fortune Dr.
   San Jose, CA 95131

   Phone 408-577-8538
   Fax: 408-577-5560
   Email: apatel@novell.com

   Patnala Rao
   Novell, Inc.
   2180 Fortune Dr.
   San Jose, CA 95131

   Phone 408-577-7752
   Fax: 408-577-5560
   Email: pdrao@novell.com




















Miller, Patel, Rao                                      [Page 19]