As a result of review.
<section id="classification-pools">
<title>Configuring Pools With Class Information</title>
<para>
- Similar to subnets in certain cases access to certain address or
- prefix pools must be restricted to only clients that belong to a
- given class, using the "client-class" when defining the pool.
+ Similar to the subnets, it is possible to restrict access to the certain address
+ or prefix pools to the clients belonging to a specific class, using
+ the "client-class" parameter when defining the pool.
</para>
<para>
- Let's assume that the server is connected to a network segment that uses
+ Let's assume that the server is connected to a network segment using
the 192.0.2.0/24 prefix. The Administrator of that network has decided
- that addresses from range 192.0.2.10 to 192.0.2.20 are going to be
- managed by the DHCP4 server. Only clients belonging to client class
- Client_foo are allowed to use this pool. Such a
- configuration can be achieved in the following way:
+ that addresses from the range of 192.0.2.10 to 192.0.2.20 are going to be
+ managed by the DHCP4 server. Only the clients belonging to the client class
+ Client_foo are allowed to use this pool. Such a configuration can be
+ achieved in the following way:
<screen>
"Dhcp4": {
"client-classes": [
]
},
...
- ],<userinput>
+ ],
"subnet4": [
{
"subnet": "192.0.2.0/24",
+ <userinput>
"pools": [
{
"pool": "192.0.2.10 - 192.0.2.20",
"client-class": "Client_foo"
}
- ]
+ ]</userinput>
},
...
- ],</userinput>,
+ ],
...
}</screen>
</para>
discussion of the classification process see <xref linkend="classify"/>.
</para>
- <para>
- In certain cases it is useful to differentiate between different types of
- clients and treat them accordingly. It is envisaged that client
- classification will be used for changing the behavior of almost any part of
- the DHCP message processing, including the assignment of leases from different
- pools, the assignment of different options (or different values of the same
- options) etc. In the current release of the software however, there are
- only three mechanisms that take advantage of client classification:
- subnet selection, assignment of different options, and, for cable modems, there
- are specific options for use with the TFTP server address and the boot file field.
+ <para>In certain cases it is useful to configure the server to differentiate between
+ DHCP clients types and treat them accordingly. It is envisaged that client
+ classification will be used for modifying the behavior of almost any part of
+ the DHCP message processing. In the current release of Kea, there are four
+ mechanisms that take advantage of the client classification in DHCPv4: subnet
+ selection, address pool selection, DHCP options assignment, and, for cable modems,
+ there are specific options for use with the TFTP server address and boot file field.
</para>
<para>
discussion of the classification process see <xref linkend="classify"/>.
</para>
+ <para>In certain cases it is useful to configure the server to differentiate between
+ DHCP clients types and treat them accordingly. It is envisaged that client
+ classification will be used for modifying the behavior of almost any part of
+ the DHCP message processing. In the current release of Kea, there are three
+ mechanisms that take advantage of the client classification in DHCPv6: subnet
+ selection, address pool selection and DHCP options assignment.
+ </para>
+
<para>
In certain cases it is useful to differentiate between different types
of clients and treat them accordingly. It is envisaged that client
user_context_ = ctx;
}
- /// @Checks whether this pool supports client that belongs to
+ /// @brief Checks whether this pool supports client that belongs to
/// specified classes.
///
- /// @todo: currently doing the same than network which
- /// is known to be improved.
+ /// @todo: Implements similar logic as @ref Network::clientSupported. It
+ /// is going to be improved.
///
/// @param client_classes list of all classes the client belongs to
/// @param known_client true if the client is known, i.e. has a
/// @brief checks if the specified address is in allowed pools
///
- /// This takes also into account client classes and known client
+ /// This takes also into account client classes and whether the client is
+ /// known, i.e. has a host reservation.
///
/// @param type type of pools to iterate over
/// @param addr this address will be checked if it belongs to any pools in
/// @throw BadValue if invalid value is used
virtual void checkType(Lease::Type type) const = 0;
- /// @brief returns a sum of possible leases in all pools
+ /// @brief Returns a sum of possible leases in all pools
+ ///
/// @param pools list of pools
/// @return sum of possible leases
uint64_t sumPoolCapacity(const PoolCollection& pools) const;
- /// @brief returns a sum of possible leases in all pools allowing classes
+ /// @brief Returns a sum of possible leases in all pools allowing specified
+ /// classes.
+ ///
/// @param pools list of pools
/// @param client_classes list of classes
/// @param known_client true if the client is known, i.e. has a reservation