evaluation. If such a subclass exists, the client is considered a member of both the
subclass and the class. If no such subclass exists, one is created and recorded in the
lease database, and the client is considered a member of the new subclass as well as
the class. The matching data for the subclass is the result of evaluating
data-expres-
sion. If a class declaration contains both a match if statement and a spawn with
statement, the match if statement must match before the spawn with statement is
considered.
The lease limit Statement
lease limit limit;
The lease limit statement causes the DHCP server to limit the number of members
of a class that can hold a lease at any one time to
limit. This limit applies to all
addresses the DHCP server allocates, not just addresses on a particular network
segment. If a client is a member of more than one class with lease limits, the server
assigns the client an address based on either class. If a client is a member of one or
more classes with limits and one or more classes without limits, the classes without
limits are not considered.
NOTE
At the time of this writing, the lease limit statement interacts badly with the DHCP failover
protocol. If you are using failover, you might find that the failover peers give out as many as
twice the number of leases that are specified in the lease limit statement. Unfortunately,
there is no guarantee that this will be consistent; the number of leases that are allowed in the
class can be anywhere from the specified limit to twice the specified limit. It is possible that
this problem might be corrected in a future version of the ISC DHCP server, but this would
not be a simple bug fix, and at the time of this writing, it is impossible to know whether that
will happen.
The subclass Declaration
subclass “class-name” class-data;
subclass “class-name” class-data {
[ statements ]
}
The subclass declaration declares a subclass of the class named by class-name.
class-data should be either a text string enclosed in quotes or a list of bytes
expressed in hexadecimal, separated by colons. Clients match subclasses based on
the results of evaluating the
match or spawn with statements in the class declaration
for
class-name. If the result of the evaluation matches class-data, the client is a
The subclass Declaration 469
032 3273 App B 10/3/02 5:04 PM Page 469