Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
ISC Open Source Projects
Kea
Commits
df196f76
Commit
df196f76
authored
Oct 11, 2012
by
Tomek Mrugalski
🛰
Browse files
[2140] LeaseMgr minor tweaks, ChangeLog updated.
parent
a1983f43
Changes
2
Hide whitespace changes
Inline
Side-by-side
ChangeLog
View file @
df196f76
4XX. [func] tomek
libdhcp++: An abstract API for lease database has been
implemented. It offers a common interface to all concrete
database backends.
(Trac #2140, git TBD)
bind10-devel-20120816 released on August 16, 2012
467. [bug] jelte
...
...
src/lib/dhcp/lease_mgr.h
View file @
df196f76
...
...
@@ -21,6 +21,37 @@
#include <dhcp/option.h>
#include <dhcp/duid.h>
/// @file dhcp/lease_mgr.h
/// @brief An abstract API for lease database
///
/// This file contains declarations of Lease4, Lease6 and LeaseMgr classes.
/// They are essential components of the interface to any database backend.
/// Each concrete database backend (e.g. MySQL) will define a class derived
/// from LeaseMgr class.
///
/// Failover considerations:
/// There are no intermediate plans to implement DHCPv4 failover
/// (draft-ietf-dhc-failover-12.txt). Currently (Oct. 2012) the DHCPv6 failover
/// is being defined in DHC WG in IETF (draft-ietf-dhcpv6-failover-requirements,
/// draft-ietf-dhcpv6-dailover-design), but the work is not advanced enough
/// for implementation plans yet. v4 failover requires additional parameters
/// to be kept with a lease. It is likely that v6 failover will require similar
/// fields. Such implementation will require database schema extension.
/// We have designed a way to expand/upgrade schemas during upgrades: a database
/// schema is versioned and sanity checks about required version will be done
/// upon start and/or upgrade. With this mechanism in place, we can add new
/// fields to the database. In particular we can use that capability to
/// introduce failover related fields.
///
/// However, there is another approach that can be reliably used to provide
/// failover, even without the actual failover protocol implemented. As the
/// first backend will use MySQL, we will be able to use Multi-Master capability
/// offered by MySQL and use two separatate Kea instances connecting to the
/// same database.
///
/// Nevertheless, we hope to have failover protocol eventually implemented in
/// the Kea.
namespace
isc
{
namespace
dhcp
{
...
...
@@ -102,12 +133,6 @@ struct Lease4 {
/// @brief did we update PTR record for this lease?
bool
fqdn_rev_
;
/// @brief additional options stored with this lease
///
/// This field is currently not used.
/// @todo We need a way to store options in the databased.
Option
::
OptionCollection
options_
;
/// @brief Lease comments.
///
/// Currently not used. It may be used for keeping comments made by the
...
...
@@ -220,13 +245,6 @@ struct Lease6 {
/// @brief did we update PTR record for this lease?
bool
fqdn_rev_
;
/// @brief additional options stored with this lease
///
/// That field is currently not used. We may keep extra options assigned
/// for leasequery and possibly other purposes.
/// @todo We need a way to store options in the databased.
Option
::
OptionCollection
options_
;
/// @brief Lease comments
///
/// This field is currently not used.
...
...
@@ -328,7 +346,7 @@ public:
/// @param subnet_id identifier of the subnet that lease must belong to
///
/// @return a pointer to the lease (or NULL if a lease is not found)
virtual
Lease4Ptr
getLease4
(
const
HWAddr
&
hwaddr
,
virtual
Lease4Ptr
getLease4
(
const
HWAddr
&
hwaddr
,
SubnetID
subnet_id
)
const
=
0
;
/// @brief Returns existing IPv4 lease for specified client-id
...
...
@@ -377,7 +395,7 @@ public:
/// @param iaid IA identifier
///
/// @return smart pointer to the lease (or NULL if a lease is not found)
virtual
Lease6Collection
getLease6
(
const
DUID
&
duid
,
virtual
Lease6Collection
getLease6
(
const
DUID
&
duid
,
uint32_t
iaid
)
const
=
0
;
/// @brief Returns existing IPv6 lease for a given DUID+IA combination
...
...
@@ -457,7 +475,6 @@ protected:
std
::
map
<
std
::
string
,
std
::
string
>
parameters_
;
};
};
// end of isc::dhcp namespace
};
// end of isc namespace
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment