diff --git a/doc/guide/admin.xml b/doc/guide/admin.xml
index ca47ff0d69..cae0250f0a 100644
--- a/doc/guide/admin.xml
+++ b/doc/guide/admin.xml
@@ -16,17 +16,19 @@
the several supported databases. As future versions of Kea
are released, the structure of those databases will change.
For example, Kea currently only stores lease information
- and host reservations: in the future, additional
- data - such as subnet definitions - will also be stored.
+ and host reservations. Future versions of Kea will store
+ additional data such as subnet definitions: the database
+ structure will need to be updated to accomdate the extra
+ information.
A given version of Kea expects a particular structure in
- the database. It ensures this by checking the version of the
+ the database and checks for this by examining the version of
database it is using. Separate version numbers are maintained for
backend databases, independent of the version of Kea itself. It
is possible that the backend database version will stay the same
- through several Kea revisions. Likewise, it is possible that the
+ through several Kea revisions: similarly, it is possible that the
version of backend database may go up several revisions during a
Kea upgrade. Versions for each database are independent, so an
increment in the MySQL database version does not imply an increment
@@ -70,9 +72,10 @@
lease-init —
- Initializes a new lease database. Useful during first
+ Initializes a new lease database. This is useful during a new
Kea installation. The database is initialized to the
- latest version supported by the version of the software.
+ latest version supported by the version of the software being
+ installed.
@@ -97,9 +100,10 @@
lease-dump —
Dumps the contents of the lease database (for MySQL, PostgreSQL or
- CQL backends) to CSV text file. The first line of the file contains
- the column names. This is meant to be used as a diagnostic tool
- that provides a portable, human-readable form of lease data.
+ CQL backends) to a CSV (comma separated values) text file. The first
+ line of the file contains the column names. This is meant to be
+ used as a diagnostic tool, so provides a portable, human-readable
+ form of the lease data.
@@ -118,16 +122,14 @@
mysql —
- Lease information is stored in a MySQL relational
- database.
+ Lease information is stored in a MySQL relational database.
pgsql —
- Lease information is stored in a PostgreSQL relational
- database.
+ Lease information is stored in a PostgreSQL relational database.
@@ -142,7 +144,7 @@
Additional parameters may be needed, depending on your setup
and specific operation: username, password and database name or
- the directory where specific files are located. See appropriate
+ the directory where specific files are located. See the appropriate
manual page for details (man 8 kea-admin).
@@ -185,7 +187,7 @@
Data format
- coma separated file
+ CSV file
SQL RMDB
SQL RMDB
NoSQL database (CQL)
@@ -224,14 +226,14 @@
memfile
- Memfile backend is able to store lease information, but is not able to
- store host reservation details. There are no plans to add the
- reservations storage capability to memfile. Host reservations can be
- defined in the configuration file.
+ The memfile backend is able to store lease information, but is not able to
+ store host reservation details: these must be stored in the configuration
+ file. (There are no plans to add a host reservations storage capability to
+ this backend.)
- There are no special initialization steps necessary
+ No special initialization steps are necessary
for the memfile backend. During the first run, both
kea-dhcp4 and kea-dhcp6
will create an empty lease file if one is not
@@ -267,17 +269,12 @@
MySQL is able to store leases, host reservations and options defined on
- a per host basis.
-
-
-
- The MySQL database must be properly set up if you want Kea to
- store information in MySQL. This section can be safely ignored
+ a per host basis. This section can be safely ignored
if you chose to store the data in other backends.
- First Time Creation of Kea Database
+ First Time Creation of the MySQL Database
If you are setting the MySQL database for the first time,
@@ -418,7 +415,7 @@ $ kea-admin lease-upgrade mysql -u database-user
- Manually Create the PostgreSQL Database and the Kea User
+ First Time Creation of the PostgreSQL Database
The first task is to create both the lease database and the
@@ -458,7 +455,6 @@ postgres=#
postgres=# CREATE USER user-name WITH PASSWORD 'password';
CREATE ROLE
-postgres=#
postgres=# GRANT ALL PRIVILEGES ON DATABASE database-name TO user-name;
GRANT
postgres=#
@@ -594,8 +590,8 @@ $ kea-admin lease-upgrade pgsql -u database-user
Cassandra, or Cassandra Query Language (CQL), is the newest backend
added to Kea. Since it was added recently and has not undergone as much
- testing as other backends, it is considered experimental. Please use
- with caution. CQL backend is currently able to store leases only. The
+ testing as other backends, it is considered experimental: please use
+ with caution. The CQL backend is currently able to store leases only. The
ability to store host reservations will likely be added some time in the
future.
@@ -607,7 +603,7 @@ $ kea-admin lease-upgrade pgsql -u database-user
- First Time Creation of Kea Database
+ First Time Creation of the Cassandra Database
If you are setting up the CQL database for the first time, you need to
@@ -713,19 +709,19 @@ $ kea-admin lease-upgrade cql -n database-name
- Using read only databases with host reservations
- If read only database is used for storing host reservations,
+ Using Read-Only Databases with Host Reservations
+ If a read-only database is used for storing host reservations,
Kea must be explicitly configured to operate on the database in
- the read only mode.
+ read-only mode.
Sections and
describe when
such configuration may be reqired and how to configure Kea to
- operate using read only host database.
+ operate using a read-only host database.
- Limitations related to the use of the SQL databases
+ Limitations Related to the use of SQL Databases
The lease expiration time is stored in the SQL database for each lease
@@ -738,6 +734,8 @@ $ kea-admin lease-upgrade cql -n database-name
diff --git a/doc/guide/config.xml b/doc/guide/config.xml
index 3d12cad747..0c0806b267 100644
--- a/doc/guide/config.xml
+++ b/doc/guide/config.xml
@@ -4,7 +4,7 @@
]>
- Kea configuration
+ Kea Configuration
Kea is designed to allow different methods by which it can be
configured, each method being implemented by a component known as a
@@ -12,7 +12,7 @@
available, that allowing configuration by means of a JSON file.
- JSON configuration backend
+ JSON Configuration Backend
JSON is the default configuration backend.
It assumes that the servers are started from the command line
(either directly or using a script, e.g. keactrl).
@@ -20,11 +20,11 @@
configuration file is specified upon startup using the -c parameter.
- For example, a very simple configuration for both DHCPv4 and DHCPv6
- could look like this:
+ A very simple configuration for both DHCPv4 and
+ DHCPv6 could look like this:
# The whole configuration starts here.
{
@@ -56,8 +56,7 @@
"subnet4": [{
"pools": [ { "pool": "192.0.2.1-192.0.2.200" } ],
"subnet": "192.0.2.0/24"
- }],
- ...
+ }]
},
# DHCPv4 specific configuration ends here.
@@ -73,8 +72,7 @@
"subnet6": [{
"pools": [ { "pool": "2001:db8::/80" } ],
"subnet": "2001:db8::/64"
- }],
- ...
+ }]
},
# DHCPv6 specific configuration ends here.
@@ -84,8 +82,7 @@
"loggers": [{
"name": "*",
"severity": "DEBUG"
- }],
- ...
+ }]
}
# Logger parameters end here.
@@ -103,7 +100,7 @@
DHCPv6, only subnet6 parameters will be mentioned. It is implied that
the remaining elements (the global map that holds Dhcp6, Logging and possibly
DhcpDdns) are present, but they are omitted for clarity. Usually, locations
- where extra parameters may appear are denoted with an ellipsis.
+ where extra parameters may appear are denoted by an ellipsis.
diff --git a/doc/guide/dhcp4-srv.xml b/doc/guide/dhcp4-srv.xml
index 050a55d381..cb5dd77bc0 100644
--- a/doc/guide/dhcp4-srv.xml
+++ b/doc/guide/dhcp4-srv.xml
@@ -38,42 +38,33 @@
-p port -
specifies UDP port the server will listen on. This is only
- useful during testing, as the DHCPv4 server listening on
- ports other than default DHCPv4 ports will not be able to
+ useful during testing, as a DHCPv4 server listening on
+ ports other than the standard ones will not be able to
handle regular DHCPv4 queries.
- -v - prints out Kea version and exits.
+ -v - prints out the Kea version and exits.
- -V - prints out Kea extended version with
- additional parameters and exits.
+ -V - prints out the Kea extended version with
+ additional parameters and exits. The listing includes the versions
+ of the libraries dynamically linked to kea.
- -W - prints out Kea configuration report
- and exits.
+ -W - prints out the Kea configuration report
+ and exits. The report is a copy of the
+ config.report file produced by
+ ./configure: it is embedded in the
+ executable binary.
-
- The -V command returns the versions of the
- external libraries dynamically linked.
-
-
-
- The -W command describes the environment used
- to build Kea. This command displays a copy of the
- config.report file produced by
- ./configure that is embedded in the
- executable binary.
-
-
The config.report may also be accessed more
directly. The following command may be used to extract this
@@ -87,33 +78,24 @@ strings path/kea-dhcp4 | sed -n 's/;;;; //p'
-
- When running in a console, the server can be shut down by
- pressing ctrl-c. It detects the key combination and shuts
- down gracefully.
-
-
On start-up, the server will detect available network interfaces
and will attempt to open UDP sockets on all interfaces
mentioned in the configuration file.
-
-
-
Since the DHCPv4 server opens privileged ports, it requires root
access. Make sure you run this daemon as root.
During startup the server will attempt to create a PID file of the
- form: [localstatedir]/[conf name].kea-dhcp4.pid
+ form: localstatedir/conf name.kea-dhcp4.pid
where:
localstatedir: The value as passed into the
- build configure script. It defaults to "/usr/local/var". Note
+ build configure script. It defaults to "/usr/local/var". (Note
that this value may be overridden at run time by setting the environment
- variable KEA_PIDFILE_DIR. This is intended primarily for testing purposes.
+ variable KEA_PIDFILE_DIR. This is intended primarily for testing purposes.)
@@ -131,6 +113,13 @@ strings path/kea-dhcp4 | sed -n 's/;;;; //p'
case it would be necessary to manually delete the PID file.
+
+ The server can be stopped using the kill command.
+ When running in a console, the server can also be shut down by
+ pressing ctrl-c. It detects the key combination and shuts
+ down gracefully.
+
+
@@ -182,7 +171,7 @@ strings path/kea-dhcp4 | sed -n 's/;;;; //p'
The following paragraphs provide a brief overview of the parameters in
-the above example and
+the above example together with
their format. Subsequent sections of this chapter go into much greater detail
for these and other parameters.
@@ -193,7 +182,7 @@ operation in any way.
The configuration starts in the first line with the initial
opening curly bracket (or brace). Each configuration consists of
one or more objects. In this specific example, we have only one
-object called Dhcp4. This is a simplified configuration, as usually
+object, called Dhcp4. This is a simplified configuration, as usually
there will be additional objects, like Logging or
DhcpDns, but we omit them now for clarity. The Dhcp4
configuration starts with the "Dhcp4": { line
@@ -215,12 +204,12 @@ ignored. This is unlikely to cause any confusion as there are no real life
reasons to keep multiple copies of the same parameter in your configuration
file.
-Moving onto the DHCPv4 configuration elements, the very first few elements
+Moving onto the DHCPv4 configuration elements, the first few elements
define some global parameters. valid-lifetime defines for how long the addresses (leases) given out by the
server are valid. If nothing changes, a client that got an address is allowed to
use it for 4000 seconds. (Note that integer numbers are specified as is,
without any quotes around them.) renew-timer and
-rebind-timer are values that
+rebind-timer are values (also in seconds) that
define T1 and T2 timers that govern when the client will begin the renewal and
rebind procedures. Note that renew-timer and
rebind-timer are optional. If they are not specified the
@@ -249,10 +238,10 @@ file. This is a very simple configuration. Usually, lease database configuration
is more extensive and contains additional parameters. Note that
lease-database
is an object and opens up a new scope, using an opening brace.
-Its parameters (just one in this example -- type)
+Its parameters (just one in this example - type)
follow. Had there been more than one, they would be separated by commas. This
-scope is closed with a closing brace. As more parameters follow, a trailing
-comma is present.
+scope is closed with a closing brace. As more parameters for the Dhcp4 definition
+follow, a trailing comma is present.
Finally, we need to define a list of IPv4 subnets. This is the
most important DHCPv4 configuration structure as the server uses that
@@ -289,7 +278,7 @@ syntax would be used:
-After all parameters are specified, we have two contexts open:
+After all the parameters have been specified, we have two contexts open:
global and Dhcp4, hence we need two closing curly brackets to close them.
In a real life configuration file there most likely would be additional
components defined such as Logging or DhcpDdns, so the closing brace would
@@ -302,13 +291,13 @@ be followed by a comma and another object definition.
Currently there are four database backends available: memfile (which is the
default backend), MySQL, PostgreSQL and CQL.
- Memfile, Basic Storage for Leases
+ Memfile - Basic Storage for Leases
The server is able to store lease data in different repositories. Larger
deployments may elect to store leases in a database. describes this option. In typical
- smaller deployments though, the server will use a CSV file rather than a database to
- store lease information. As well as requiring less administration, an
+ smaller deployments though, the server will store lease information in a CSV file rather
+ than a database. As well as requiring less administration, an
advantage of using a file for storage is that it
eliminates a dependency on third-party database software.
@@ -316,8 +305,8 @@ be followed by a comma and another object definition.
the Dhcp4/lease-database parameters. The type parameter
is mandatory and it specifies which storage for leases the server should use.
The value of "memfile" indicates that the file should
- be used as the storage. The following list presents the remaining, not mandatory
- parameters, which can be used to configure the Memfile backend.
+ be used as the storage. The following list gives additional, optional,
+ parameters that can be used to configure the Memfile backend.
@@ -345,8 +334,8 @@ be followed by a comma and another object definition.
lfc-interval: specifies the interval in seconds, at
- which the server (Memfile backend) will perform a lease file cleanup (LFC),
- which removes the redundant (historical) information from the lease file
+ which the server will perform a lease file cleanup (LFC). This
+ removes redundant (historical) information from the lease file
and effectively reduces the lease file size. The cleanup process is described
in more detailed fashion further in this section. The default value of the
lfc-interval is 0, which disables
@@ -356,7 +345,7 @@ be followed by a comma and another object definition.
- The example configuration of the Memfile backend is presented below:
+ An example configuration of the Memfile backend is presented below:
"Dhcp4": {
@@ -376,43 +365,43 @@ be followed by a comma and another object definition.
It is important to know how the lease file contents are organized
- to understand why the periodic lease file cleanup is needed. Every time when
+ to understand why the periodic lease file cleanup is needed. Every time
the server updates a lease or creates a new lease for the client, the new
lease information must be recorded in the lease file. For performance reasons,
- the server does not supersede the existing client's lease, as it would require
- the lookup of the specific lease entry, but simply appends the new lease
- information at the end of the lease file. The previous lease entries for the
+ the server does not update the existing client's lease in the file, as it would
+ potentially require rewriting the entire file. Instead, it simply appends the new lease
+ information to the end of the file: the previous lease entries for the
client are not removed. When the server loads leases from the lease file, e.g.
at the server startup, it assumes that the latest lease entry for the client
is the valid one. The previous entries are discarded. This means that the
server can re-construct the accurate information about the leases even though
there may be many lease entries for each client. However, storing many entries
for each client results in bloated lease file and impairs the performance of
- the server's startup and reconfiguration, as it needs to process larger number
+ the server's startup and reconfiguration as it needs to process a larger number
of lease entries.
- The lease file cleanup removes all previous entries for each client and
+ Lease file cleanup (LFC) removes all previous entries for each client and
leaves only the latest ones. The interval at which the cleanup is performed
is configurable, and it should be selected according to the frequency of lease
- renewals initiated by the clients. The more frequent renewals are, the lesser
- value of the lfc-interval should be. Note however, that the
+ renewals initiated by the clients. The more frequent the renewals, the smaller
+ the value of lfc-interval should be. Note however, that the
LFC takes time and thus it is possible (although unlikely) that new cleanup
is started while the previous cleanup instance is still running, if the
lfc-interval is too short. The server would recover from
this by skipping the new cleanup when it detects that the previous cleanup
- is still in progress. But, this implies that the actual cleanups will be
+ is still in progress. But it implies that the actual cleanups will be
triggered more rarely than configured. Moreover, triggering a new cleanup
- adds an overhead to the server, which will not be able to respond to new
+ adds an overhead to the server which will not be able to respond to new
requests for a short period of time when the new cleanup process is spawned.
Therefore, it is recommended that the lfc-interval value
- is selected in a way that would allow for completing the cleanup before the
+ is selected in a way that would allow for the LFC to complete the cleanup before a
new cleanup is triggered.
- The LFC is performed by a separate process (in background) to avoid
- performance impact on the server process. In order to avoid the conflicts
- between the two processes both using the same lease files, the LFC process
+ Lease file cleanup is performed by a separate process (in background) to avoid
+ a performance impact on the server process. In order to avoid the conflicts
+ between two processes both using the same lease files, the LFC process
operates on the copy of the original lease file, rather than on the lease
file used by the server to record lease updates. There are also other files
being created as a side effect of the lease file cleanup. The detailed
@@ -433,8 +422,8 @@ be followed by a comma and another object definition.
Lease database configuration is controlled through the Dhcp4/lease-database
- parameters. The type of the database must be set to "memfile", "mysql" or "postgresql",
- e.g.
+ parameters. The type of the database must be set to "memfile", "mysql", "postgresql" or
+ "cql", e.g.
"Dhcp4": { "lease-database": { "type": "mysql", ... }, ... }
@@ -447,8 +436,8 @@ be followed by a comma and another object definition.
"Dhcp4": { "lease-database": { "name": "database-name" , ... }, ... }
If the database is located on a different system to the DHCPv4 server, the
- database host name must also be specified (although it should be noted that this
- configuration may have a severe impact on server performance):
+ database host name must also be specified. (It should be noted that this
+ configuration may have a severe impact on server performance.):
"Dhcp4": { "lease-database": { "host": remote-host-name, ... }, ... }
@@ -487,7 +476,7 @@ If a timeout is given though, it should be an integer greater than zero.
purpose, be it lease or hosts information. This arrangement gives the most
flexibility. Kea can be used to keep leases and host reservations
separately, but can also point to the same database. Currently the
- supported hosts database types are MySQL and PostgreSQL. Cassandra
+ supported hosts database types are MySQL and PostgreSQL. The Cassandra
backend does not support host reservations yet.
Please note that usage of hosts storage is optional. A user can define
@@ -504,19 +493,19 @@ If a timeout is given though, it should be an integer greater than zero.
Hosts database configuration is controlled through the Dhcp4/hosts-database
parameters. If enabled, the type of the database must be set to "mysql" or
- "postgresql". Other hosts backends may be added in later Kea versions.
+ "postgresql". Other hosts backends may be added in later versions of Kea.
"Dhcp4": { "hosts-database": { "type": "mysql", ... }, ... }
Next, the name of the database to hold the reservations must be set: this is the
name used when the lease database was created (see
- for instructions how to setup desired database type).
+ for instructions how to setup the desired database type).
"Dhcp4": { "hosts-database": { "name": "database-name" , ... }, ... }
If the database is located on a different system than the DHCPv4 server, the
- database host name must also be specified (although it should be noted that this
- configuration may have a severe impact on server performance):
+ database host name must also be specified. (Again it should be noted that this
+ configuration may have a severe impact on server performance.):
"Dhcp4": { "hosts-database": { "host": remote-host-name, ... }, ... }
@@ -572,7 +561,7 @@ for MySQL and PostgreSQL databases.
- Interface configuration
+ Interface Configuration
The DHCPv4 server has to be configured to listen on specific network
interfaces. The simplest network interface configuration tells the server to
listen on all available interfaces:
@@ -605,7 +594,7 @@ for MySQL and PostgreSQL databases.
...
}
-It is anticipated that this form of usage will only be used when it is desired to
+... although is anticipated that this form of usage will only be used when it is desired to
temporarily override a list of interface names and listen on all interfaces.
Some deployments of the DHCP servers require that the servers listen
@@ -639,7 +628,7 @@ temporarily override a list of interface names and listen on all interfaces.
interface, an interface name without any address should be specified.
Kea supports responding to directly connected clients which don't have
- an address configured on the interface yet. This requires that the server
+ an address configured. This requires that the server
injects the hardware address of the destination into the data link layer
of the packet being sent to the client. The DHCPv4 server utilizes the
raw sockets to achieve this, and builds the entire IP/UDP stack for the
@@ -652,8 +641,8 @@ temporarily override a list of interface names and listen on all interfaces.
rather than capturing whole traffic reaching the interface to which the raw
socket is bound. Therefore, in the deployments where the server doesn't
have to provision the directly connected clients and only receives the
- unicast packets from the relay agents, it is desired to configure the
- DHCP server to utilize the IP/UDP datagram sockets, instead of raw sockets.
+ unicast packets from the relay agents, the
+ DHCP server should be configured to utilize IP/UDP datagram sockets instead of raw sockets.
The following configuration demonstrates how this can be achieved:
@@ -693,27 +682,27 @@ temporarily override a list of interface names and listen on all interfaces.
to handle the traffic from the directly connected clients is currently
supported on Linux and BSD systems only. If the raw sockets are not
supported on the particular OS, the server will issue a warning and
- fall back to use the IP/UDP sockets.
+ fall back to use IP/UDP sockets.
@@ -3537,8 +3530,8 @@ src/lib/dhcpsrv/cfg_host_operations.cc -->
pkt4-receive-drop
integer
- Number of incoming packets that were dropped.
- Exact reason for dropping packets is logged, but the most common
+ Number of incoming packets that were dropped. The
+ exact reason for dropping packets is logged, but the most common
reasons may be: an unacceptable packet type, direct responses are
forbidden, or the server-id sent by the client does not match
the server's server-id.
@@ -3548,7 +3541,7 @@ src/lib/dhcpsrv/cfg_host_operations.cc -->
subnet[id].total-addresses
integer
- The total number of addresses available for the DHCPv4
+ The total number of addresses available for DHCPv4
management. In other words, this is the sum of all addresses in
all configured pools. This statistic changes only during
configuration changes. Note it does not take into account any
@@ -3561,11 +3554,11 @@ src/lib/dhcpsrv/cfg_host_operations.cc -->
subnet[id].assigned-addresses
integer
This statistic shows the number of assigned addresses in a
- given subnet. This statistic increases every time a new lease is
+ given subnet. It increases every time a new lease is
allocated (as a result of receiving a DHCPREQUEST message) and is
decreased every time a lease is released (a DHCPRELEASE message is
received) or expires. The id is the subnet-id
- of a given subnet. This statistic is exposed for each subnet
+ of the subnet. This statistic is exposed for each subnet
separately. This statistic is reset during reconfiguration event.
@@ -3575,7 +3568,7 @@ src/lib/dhcpsrv/cfg_host_operations.cc -->
integer
This statistic shows the number of IPv4 addresses that are
- currently declined. This statistic counts the number of leases
+ currently declined, so counting the number of leases
currently unavailable. Once a lease is recovered, this
statistic will be decreased. Ideally, this statistic should be
zero. If this statistic is non-zero (or worse increasing),
@@ -3590,7 +3583,7 @@ src/lib/dhcpsrv/cfg_host_operations.cc -->
integer
This statistic shows the number of IPv4 addresses that are
- currently declined in a given subnet. This statistic counts the
+ currently declined in a given subnet, so is a count of the
number of leases currently unavailable. Once a lease is
recovered, this statistic will be decreased. Ideally, this
statistic should be zero. If this statistic is
@@ -3634,10 +3627,10 @@ src/lib/dhcpsrv/cfg_host_operations.cc -->
- Management API for the DHCPv4 server
+ Management API for the DHCPv4 Server
- Management API has been introduced in Kea 0.9.2-beta. It allows issuing specific
- management commands, like statistics retrieval, reconfiguration or shutdown.
+ The management API allows the issuing of specific
+ management commands, such as statistics retrieval, reconfiguration or shutdown.
For more details, see . Currently the only
supported communication channel type is UNIX stream socket. By default there
are no sockets open. To instruct Kea to open a socket, the following entry
@@ -3663,7 +3656,7 @@ src/lib/dhcpsrv/cfg_host_operations.cc -->
on your operating system, i.e. the size of the sun_path
field in the sockaddr_un structure, decreased by 1.
This value varies on different operating systems between 91 and 107
- characters. The typical values are 107 on Linux and 103 on FreeBSD.
+ characters. Typical values are 107 on Linux and 103 on FreeBSD.
@@ -3734,7 +3727,7 @@ src/lib/dhcpsrv/cfg_host_operations.cc -->
BOOTP (RFC 951)
- is not supported. This is a design choice. BOOTP support is not planned.
+ is not supported. This is a design choice: BOOTP support is not planned.
diff --git a/doc/guide/install.xml b/doc/guide/install.xml
index faca3822a7..96fc40c54e 100644
--- a/doc/guide/install.xml
+++ b/doc/guide/install.xml
@@ -13,22 +13,30 @@
Some operating systems or software package vendors may provide
ready-to-use, pre-built software packages for Kea. Installing a
- pre-built package means you do not need to install build-only
- prerequisites and do not need to make the software.
+ pre-built package means you do not need to install the software
+ required only to build Kea and do not need to make
+ the software.
- FreeBSD ports, NetBSD pkgsrc, and Debian testing
- package collections provide all the prerequisite packages.
+ FreeBSD ports, NetBSD pkgsrc, and Debian
+ testing package collections provide all the
+ prerequisite packages.
- Install Hierarchy
+ Installation Hierarchy
- The following is the directory layout of the complete Kea installation
- (all directories paths are relative to the installation directory):
+ The following is the directory layout of the complete Kea installation.
+ (All directory paths are relative to the installation directory):
+
+
+ bin/ —
+ utility programs.
+
+
etc/kea/ —
@@ -142,7 +150,7 @@ Debian and Ubuntu:
- The development tools: automake, libtool, pkg-config.
+ The development tools automake, libtool, pkg-config.
@@ -151,8 +159,8 @@ Debian and Ubuntu:
The MySQL client and the client development libraries, when using
the --with-dhcp-mysql configuration flag to build the Kea MySQL
database backend. In this case an instance of the MySQL server
- running locally or on some other machine, reachable over the
- network from the machine running Kea, is required. Note that
+ running locally or on a machine reachable over a network
+ is required. Note that
running the unit tests requires a local MySQL server.
@@ -171,23 +179,24 @@ Debian and Ubuntu:
- googletest (version 1.6 or later), when using --with-gtest configuration option.
+ googletest (version 1.6 or later), when using the --with-gtest configuration
+ option to build the unit tests.
- Documentation generating tools: elinks, docbook-xsl, libxslt and Doxygen,
- when generating documentation using the --enable-generate-docs
- configuration option.
+ The documentation generation tools elinks, docbook-xsl, libxslt and Doxygen,
+ if using the --enable-generate-docs configuration option
+ to create the documentation.
- Visit the user-contributed wiki at
+ Visit the user-contributed wiki at
+
for system-specific installation tips.
@@ -196,11 +205,11 @@ Debian and Ubuntu:
Installation from Source
- Kea is open source software written in C++.
- It is freely available in source code form from ISC as a
- downloadable tar file or via Kea Git code revision control
- service. (It may also be available in pre-compiled ready-to-use
- packages from operating system vendors.)
+ Kea is open source software written in C++. It is freely available in
+ source code form from ISC as a downloadable tar file. A copy of the Kea
+ source code repository is accessible from Github (). Kea may also be available
+ in pre-compiled ready-to-use packages from operating system vendors.
@@ -224,15 +233,15 @@ Debian and Ubuntu:
When building from source code retrieved via Git, additional
software will be required: automake (v1.11 or later),
- libtoolize, and autoconf (2.59 or later).
+ libtoolize, and autoconf (v2.59 or later).
These may need to be installed.
The latest development code is available on Github (see
- ). The Kea development
- is public and the leading development is done in the master
+ ). The Kea source
+ is public and development is done in the master
branch.
@@ -243,7 +252,7 @@ Debian and Ubuntu:
- The code checked out from the git repository doesn't include the
+ The code checked out from the git repository does not include the
generated configure script, Makefile.in files, nor their
related build files.
They can be created by running autoreconf
@@ -257,24 +266,22 @@ Debian and Ubuntu:
- The write access to Kea repository is only granted to ISC staff. If you
+ Write access to the Kea repository is only granted to ISC staff. If you
are a developer planning to contribute to Kea, please fork our Github
repository and use the "pull request" mechanism to request integration of
- your code into our repository. Please consult
- for help
+ your code. Please consult
+ for help on
how to fork a Github repository.
-
- Kea Developer's Guide contains information and guidelines for
- the contributors about the process of integrating the code via
- pull requests. It also contains the requirements for the contributed
- code to be accepted by ISC.
+ The Kea
+ Developer's Guide contains more information about the process, as
+ well as describing the requirements for contributed code to be accepted by ISC.
@@ -424,9 +423,8 @@ Debian and Ubuntu:
Build
- After the configure step is complete, build the executables
- from the C++ code and prepare the Python scripts by running the command:
-
+ After the configure step is complete, build the executables
+ from the C++ code and prepare the Python scripts by running the command:
$ make
@@ -448,7 +446,7 @@ Debian and Ubuntu:
If required, run ldconfig as root with
- /usr/local/lib (or with ${prefix}/lib if
+ /usr/local/lib (or with prefix/lib if
configured with --prefix) in
/etc/ld.so.conf (or the relevant linker
cache configuration file for your OS):
@@ -472,7 +470,7 @@ Debian and Ubuntu:
Selecting the Configuration Backend
- Kea 0.9 has introduced configuration backends that are
+ Kea 0.9 introduced configuration backends that are
switchable during the compilation phase. Only one backend, JSON,
is currently supported.
@@ -483,10 +481,10 @@ Debian and Ubuntu:
JSON
JSON is the new default configuration backend
- that causes Kea to read JSON configuration files from
+ that allows Kea to read JSON configuration files from
disk. It does not require any framework and thus is
considered more lightweight. It will allow dynamic
- on-line reconfiguration, but will lack remote capabilities
+ on-line reconfiguration, but lacks remote capabilities
(i.e. no RESTful API).
@@ -497,19 +495,20 @@ Debian and Ubuntu: