Commit d552aa37 authored by Andrei Pavel's avatar Andrei Pavel

Merge branch 'cassandra-host-data-source' into cassandra-host-data-source-stress-test

parents 695ec30e e37a6c29
...@@ -4,6 +4,7 @@ ...@@ -4,6 +4,7 @@
*.la *.la
*.lo *.lo
*.o *.o
*~
.deps/ .deps/
.libs/ .libs/
__pycache__/ __pycache__/
...@@ -43,3 +44,5 @@ config.h.in~ ...@@ -43,3 +44,5 @@ config.h.in~
/local.zone.sqlite3 /local.zone.sqlite3
/logger_lockfile /logger_lockfile
/report.info /report.info
/ext/gtest/
...@@ -5,14 +5,16 @@ ...@@ -5,14 +5,16 @@
Primary developers: Primary developers:
- Tomek Mrugalski (lead developer: DHCPv4, DHCPv6 components, prefix - Tomek Mrugalski (lead developer: DHCPv4, DHCPv6 components, prefix
delegation, memfile, database interface, core libdhcp++, delegation, memfile, database interface, core libdhcp++,
host reservation, MAC extraction in DHCPv6, statistics manager) host reservation, MAC extraction in DHCPv6, statistics manager,
kea-shell)
- Stephen Morris (Hooks, MySQL) - Stephen Morris (Hooks, MySQL)
- Marcin Siodelski (DHCPv4, DHCPv6 components, options handling, perfdhcp, - Marcin Siodelski (DHCPv4, DHCPv6 components, options handling, perfdhcp,
host reservation, lease file cleanup, lease expiration) host reservation, lease file cleanup, lease expiration,
control agent)
- Thomas Markwalder (DDNS, user_chk) - Thomas Markwalder (DDNS, user_chk)
- Jeremy C. Reed (documentation, build system, testing, release engineering) - Jeremy C. Reed (documentation, build system, testing, release engineering)
- Wlodek Wencel (testing, release engineering) - Wlodek Wencel (testing, release engineering)
- Francis Dupont (crypto, perfdhcp) - Francis Dupont (crypto, perfdhcp, control agent)
- Shawn Routhier (lease file cleanup) - Shawn Routhier (lease file cleanup)
Primary area of work mentioned in parentheses. The list is in a roughly Primary area of work mentioned in parentheses. The list is in a roughly
...@@ -123,11 +125,29 @@ We have received the following contributions: ...@@ -123,11 +125,29 @@ We have received the following contributions:
- Andrei Pavel, Qualitance - Andrei Pavel, Qualitance
2016-10: Support for DHCPv6 options defined in RFC6603 and RFC7598 2016-10: Support for DHCPv6 options defined in RFC6603 and RFC7598
2017-01: Cassandra Host Data Source 2017-02: Doxygen support updated to 1.8.11
2017-02: Improved PgSQL backend version handling
2017-02: Numerous spelling mistakes
- Vincent Legout - Vincent Legout
2016-11: Fixed serveral spelling mistakes 2016-11: Fixed serveral spelling mistakes
- Sebasian Schrader
2017-01: Fix build dir in doc/guide/Makefile.am
- Marvin Frick (MrMarvin)
2017-04: -h and --host parameters added to kea-admin
- Olivier Clavel (zeitounator)
2017-04: Improvements in valgrind test script
- Josh Soref (jsoref)
2017-07: Many spelling corrections.
- Walt Steverson (waltsteverson)
2017-07: Compilation fixed for Alpine Linux
2017-07: option6_pdexclude.h now installed properly
Kea uses log4cplus (http://sourceforge.net/projects/log4cplus/) for logging, Kea uses log4cplus (http://sourceforge.net/projects/log4cplus/) for logging,
Boost (http://www.boost.org/) library for almost everything, and can use Botan Boost (http://www.boost.org/) library for almost everything, and can use Botan
(http://botan.randombit.net/) or OpenSSL (https://www.openssl.org/) for (http://botan.randombit.net/) or OpenSSL (https://www.openssl.org/) for
...@@ -135,6 +155,6 @@ cryptographic operations. It can also optionally use PostgreSQL ...@@ -135,6 +155,6 @@ cryptographic operations. It can also optionally use PostgreSQL
(http://www.postgresql.org/) and/or MySQL (http://www.mysql.com/) and/or (http://www.postgresql.org/) and/or MySQL (http://www.mysql.com/) and/or
Cassandra (http://cassandra.apache.org/) as a database. Cassandra (http://cassandra.apache.org/) as a database.
Kea can use googletest for unit-tests (http://code.google.com/p/googletest/). Kea can use googletest for unit-tests (https://github.com/google/googletest).
Kea uses ISC Forge (http://kea.isc.org/wiki/IscForge) for conformance testing. Kea uses ISC Forge (https://github.com/isc-projects/forge/) for conformance testing.
Copyright (C) 2009-2016 Internet Systems Consortium, Inc. ("ISC") Copyright (C) 2009-2017 Internet Systems Consortium, Inc. ("ISC")
This Source Code Form is subject to the terms of the Mozilla Public This Source Code Form is subject to the terms of the Mozilla Public
License, v. 2.0. If a copy of the MPL was not distributed with this License, v. 2.0. If a copy of the MPL was not distributed with this
......
This diff is collapsed.
Kea provides DHCPv4 and DHCPv6 servers, a dynamic DNS update module, Kea provides DHCPv4 and DHCPv6 servers, a dynamic DNS update module,
a portable DHCP library, libdhcp++, and a DHCP benchmarking tool, a portable DHCP library, libdhcp++, control agent that provides management
perfdhcp. REST interface, and a DHCP benchmarking tool, perfdhcp.
Kea is developed by Internet Systems Consortium. Kea is developed by Internet Systems Consortium.
......
This directory is a collection of compatibility checker programs. This directory is a collection of compatibility checker programs.
They will be run before any other installation attempts on 'make install' They will be run before any other installation attempts on 'make install'
to see if the installation causes any substantial compatibility problems to see if the installation causes any substantial compatibility problems
with existing configuratons. If any checker program finds an issue, with existing configurations. If any checker program finds an issue,
'make install' will stop at that point. 'make install' will stop at that point.
This diff is collapsed.
This diff is collapsed.
SUBDIRS = guide design SUBDIRS = guide design
EXTRA_DIST = version.ent.in Doxyfile Doxyfile-xml EXTRA_DIST = version.ent.in Doxyfile Doxyfile-xml
EXTRA_DIST += devel/bison.dox
EXTRA_DIST += devel/config-backend.dox EXTRA_DIST += devel/config-backend.dox
EXTRA_DIST += devel/contribute.dox EXTRA_DIST += devel/contribute.dox
EXTRA_DIST += devel/mainpage.dox EXTRA_DIST += devel/mainpage.dox
EXTRA_DIST += devel/terminology.dox
EXTRA_DIST += devel/unit-tests.dox EXTRA_DIST += devel/unit-tests.dox
nobase_dist_doc_DATA = examples/ddns/sample1.json nobase_dist_doc_DATA = examples/agent/simple.json
nobase_dist_doc_DATA += examples/ddns/sample1.json
nobase_dist_doc_DATA += examples/ddns/template.json nobase_dist_doc_DATA += examples/ddns/template.json
nobase_dist_doc_DATA += examples/https/httpd2/kea-httpd2.conf
nobase_dist_doc_DATA += examples/https/nginx/kea-nginx.conf
nobase_dist_doc_DATA += examples/kea4/advanced.json
nobase_dist_doc_DATA += examples/kea4/backends.json nobase_dist_doc_DATA += examples/kea4/backends.json
nobase_dist_doc_DATA += examples/kea4/cassandra.json
nobase_dist_doc_DATA += examples/kea4/classify.json nobase_dist_doc_DATA += examples/kea4/classify.json
nobase_dist_doc_DATA += examples/kea4/dhcpv4-over-dhcpv6.json
nobase_dist_doc_DATA += examples/kea4/hooks.json nobase_dist_doc_DATA += examples/kea4/hooks.json
nobase_dist_doc_DATA += examples/kea4/leases-expiration.json nobase_dist_doc_DATA += examples/kea4/leases-expiration.json
nobase_dist_doc_DATA += examples/kea4/multiple-options.json nobase_dist_doc_DATA += examples/kea4/multiple-options.json
...@@ -18,9 +26,13 @@ nobase_dist_doc_DATA += examples/kea4/pgsql-reservations.json ...@@ -18,9 +26,13 @@ nobase_dist_doc_DATA += examples/kea4/pgsql-reservations.json
nobase_dist_doc_DATA += examples/kea4/reservations.json nobase_dist_doc_DATA += examples/kea4/reservations.json
nobase_dist_doc_DATA += examples/kea4/several-subnets.json nobase_dist_doc_DATA += examples/kea4/several-subnets.json
nobase_dist_doc_DATA += examples/kea4/single-subnet.json nobase_dist_doc_DATA += examples/kea4/single-subnet.json
nobase_dist_doc_DATA += examples/kea4/with-ddns.json
nobase_dist_doc_DATA += examples/kea6/advanced.json nobase_dist_doc_DATA += examples/kea6/advanced.json
nobase_dist_doc_DATA += examples/kea6/backends.json nobase_dist_doc_DATA += examples/kea6/backends.json
nobase_dist_doc_DATA += examples/kea6/cassandra.json
nobase_dist_doc_DATA += examples/kea6/classify.json nobase_dist_doc_DATA += examples/kea6/classify.json
nobase_dist_doc_DATA += examples/kea6/dhcpv4-over-dhcpv6.json
nobase_dist_doc_DATA += examples/kea6/duid.json
nobase_dist_doc_DATA += examples/kea6/hooks.json nobase_dist_doc_DATA += examples/kea6/hooks.json
nobase_dist_doc_DATA += examples/kea6/leases-expiration.json nobase_dist_doc_DATA += examples/kea6/leases-expiration.json
nobase_dist_doc_DATA += examples/kea6/multiple-options.json nobase_dist_doc_DATA += examples/kea6/multiple-options.json
...@@ -31,6 +43,7 @@ nobase_dist_doc_DATA += examples/kea6/several-subnets.json ...@@ -31,6 +43,7 @@ nobase_dist_doc_DATA += examples/kea6/several-subnets.json
nobase_dist_doc_DATA += examples/kea6/simple.json nobase_dist_doc_DATA += examples/kea6/simple.json
nobase_dist_doc_DATA += examples/kea6/softwire46.json nobase_dist_doc_DATA += examples/kea6/softwire46.json
nobase_dist_doc_DATA += examples/kea6/stateless.json nobase_dist_doc_DATA += examples/kea6/stateless.json
nobase_dist_doc_DATA += examples/kea6/with-ddns.json
devel: devel:
mkdir -p html mkdir -p html
......
...@@ -310,7 +310,7 @@ image::memmgr-mapped-init.png[] ...@@ -310,7 +310,7 @@ image::memmgr-mapped-init.png[]
4. The memmgr module then calls 4. The memmgr module then calls
`ConfigurableClientList::getZoneTableAccessor()`, and calls the `ConfigurableClientList::getZoneTableAccessor()`, and calls the
`getItertor()` method on it to get a list of zones for which `getIterator()` method on it to get a list of zones for which
zone data are to be loaded into the memory segment. zone data are to be loaded into the memory segment.
5. The memmgr module loads the zone data for each such zone. This 5. The memmgr module loads the zone data for each such zone. This
......
...@@ -372,7 +372,7 @@ It is meant mostly as signalling protocol. Sending millions of ...@@ -372,7 +372,7 @@ It is meant mostly as signalling protocol. Sending millions of
messages or messages of several tens of megabytes is probably a bad messages or messages of several tens of megabytes is probably a bad
idea. While there's no architectural limitation with regards of the idea. While there's no architectural limitation with regards of the
number of transferred messages and the maximum size of message is 4GB, number of transferred messages and the maximum size of message is 4GB,
the code is not optimised and it would probably be very slow. the code is not optimized and it would probably be very slow.
We currently expect the system not to be at heavy load. Therefore, we We currently expect the system not to be at heavy load. Therefore, we
expect the system to keep up with users sending messages. The expect the system to keep up with users sending messages. The
......
...@@ -66,9 +66,9 @@ Legend ...@@ -66,9 +66,9 @@ Legend
Goals Goals
----- -----
* Run the CPU intensive tasks in multiple threads to allow concurrency. * Run the CPU intensive tasks in multiple threads to allow concurrency.
* Minimise waiting for locks. * Minimize waiting for locks.
* Don't require too much memory. * Don't require too much memory.
* Minimise the number of upstream queries (both because they are slow and * Minimize the number of upstream queries (both because they are slow and
expensive and also because we don't want to eat too much bandwidth and spam expensive and also because we don't want to eat too much bandwidth and spam
the authoritative servers). the authoritative servers).
* Design simple enough so it can be implemented. * Design simple enough so it can be implemented.
......
This diff is collapsed.
...@@ -13,7 +13,7 @@ ...@@ -13,7 +13,7 @@
Kea started as a sub-project in BIND10 that used a program (called Kea started as a sub-project in BIND10 that used a program (called
bindctl) to deliver configuration information to its modules. This bindctl) to deliver configuration information to its modules. This
potentially allowed for modules to get their configuration information potentially allowed for modules to get their configuration information
in a variaty of ways using what were known as configuration backends. in a variety of ways using what were known as configuration backends.
After BIND10 was cancelled, the Kea project briefly tried to maintain After BIND10 was cancelled, the Kea project briefly tried to maintain
backward compatibility with the BIND10 framework, but the effort backward compatibility with the BIND10 framework, but the effort
was discontinued due to lack of interest. was discontinued due to lack of interest.
......
// Copyright (C) 2013-2016 Internet Systems Consortium, Inc. ("ISC") // Copyright (C) 2013-2017 Internet Systems Consortium, Inc. ("ISC")
// //
// This Source Code Form is subject to the terms of the Mozilla Public // This Source Code Form is subject to the terms of the Mozilla Public
// License, v. 2.0. If a copy of the MPL was not distributed with this // License, v. 2.0. If a copy of the MPL was not distributed with this
...@@ -37,7 +37,7 @@ that your code compiles. This may seem obvious, but there's more to ...@@ -37,7 +37,7 @@ that your code compiles. This may seem obvious, but there's more to
it. You have surely checked that it compiles on your system, but Kea it. You have surely checked that it compiles on your system, but Kea