![]() |
Kea
1.9.9-git
|
Parameters pertaining to individual IAs. More...
#include <alloc_engine.h>
Public Member Functions | |
| IAContext () | |
| Default constructor. More... | |
| void | addHint (const asiolink::IOAddress &prefix, const uint8_t prefix_len=128, const uint32_t preferred=0, const uint32_t valid=0) |
| Convenience method adding new hint. More... | |
| void | addHint (const Option6IAAddrPtr &iaaddr) |
| Convenience method adding new hint from IAADDR option. More... | |
| void | addHint (const Option6IAPrefixPtr &iaprefix) |
| Convenience method adding new hint from IAPREFIX option. More... | |
| void | addNewResource (const asiolink::IOAddress &prefix, const uint8_t prefix_len=128) |
| Convenience method adding new prefix or address. More... | |
| bool | isNewResource (const asiolink::IOAddress &prefix, const uint8_t prefix_len=128) const |
| Checks if specified address or prefix was new. More... | |
Public Attributes | |
| Lease6Collection | changed_leases_ |
| A pointer to any leases that have changed FQDN information. More... | |
| HintContainer | hints_ |
| Client's hints. More... | |
| Option6IAPtr | ia_rsp_ |
| A pointer to the IA_NA/IA_PD option to be sent in response. More... | |
| uint32_t | iaid_ |
| The IAID field from IA_NA or IA_PD that is being processed. More... | |
| ResourceContainer | new_resources_ |
| Holds addresses and prefixes allocated for this IA. More... | |
| Lease6Collection | old_leases_ |
| A pointer to any old leases that the client had before update but are no longer valid after the update/allocation. More... | |
| Lease::Type | type_ |
| Lease type (IA or PD) More... | |
Parameters pertaining to individual IAs.
Definition at line 529 of file alloc_engine.h.
| isc::dhcp::AllocEngine::ClientContext6::IAContext::IAContext | ( | ) |
Default constructor.
Initializes type_ to Lease::TYPE_NA and iaid_ to 0.
Definition at line 485 of file alloc_engine.cc.
| void isc::dhcp::AllocEngine::ClientContext6::IAContext::addHint | ( | const asiolink::IOAddress & | prefix, |
| const uint8_t | prefix_len = 128, |
||
| const uint32_t | preferred = 0, |
||
| const uint32_t | valid = 0 |
||
| ) |
Convenience method adding new hint.
| prefix | Prefix or address. |
| prefix_len | Prefix length. Default is 128 for addresses. |
| preferred | Wanted preferred lifetime. Default 0. |
| valid | Wanted valid lifetime. Default 0. |
Definition at line 492 of file alloc_engine.cc.
Referenced by isc::dhcp::Dhcpv6Srv::assignIA_NA(), isc::dhcp::Dhcpv6Srv::assignIA_PD(), isc::dhcp::Dhcpv6Srv::extendIA_NA(), and isc::dhcp::Dhcpv6Srv::extendIA_PD().
| void isc::dhcp::AllocEngine::ClientContext6::IAContext::addHint | ( | const Option6IAAddrPtr & | iaaddr | ) |
Convenience method adding new hint from IAADDR option.
| iaaddr | Pointer to IAADDR. |
| BadValue | if iaaddr is null. |
Definition at line 501 of file alloc_engine.cc.
References isc_throw.
| void isc::dhcp::AllocEngine::ClientContext6::IAContext::addHint | ( | const Option6IAPrefixPtr & | iaprefix | ) |
Convenience method adding new hint from IAPREFIX option.
| iaprefix | Pointer to IAPREFIX. |
| BadValue | if iaprefix is null. |
Definition at line 511 of file alloc_engine.cc.
References isc_throw.
| void isc::dhcp::AllocEngine::ClientContext6::IAContext::addNewResource | ( | const asiolink::IOAddress & | prefix, |
| const uint8_t | prefix_len = 128 |
||
| ) |
Convenience method adding new prefix or address.
| prefix | Prefix or address |
| prefix_len | Prefix length. Default is 128 for addresses. |
Definition at line 521 of file alloc_engine.cc.
| bool isc::dhcp::AllocEngine::ClientContext6::IAContext::isNewResource | ( | const asiolink::IOAddress & | prefix, |
| const uint8_t | prefix_len = 128 |
||
| ) | const |
Checks if specified address or prefix was new.
| prefix | Prefix or address |
| prefix_len | Prefix length. Default is 128 for addresses. |
Definition at line 528 of file alloc_engine.cc.
Referenced by isc::dhcp::AllocEngine::renewLeases6().
| Lease6Collection isc::dhcp::AllocEngine::ClientContext6::IAContext::changed_leases_ |
A pointer to any leases that have changed FQDN information.
This list may contain old versions of the leases that are still valid. In particular, it will contain a lease if the client's FQDN has changed.
Definition at line 559 of file alloc_engine.h.
Referenced by isc::dhcp::Dhcpv6Srv::createNameChangeRequests().
| HintContainer isc::dhcp::AllocEngine::ClientContext6::IAContext::hints_ |
Client's hints.
There will typically be just one address, but the protocol allows more than one address or prefix for each IA container.
Definition at line 542 of file alloc_engine.h.
Referenced by isc::dhcp::Dhcpv6Srv::extendIA_NA(), and isc::dhcp::Dhcpv6Srv::extendIA_PD().
| Option6IAPtr isc::dhcp::AllocEngine::ClientContext6::IAContext::ia_rsp_ |
A pointer to the IA_NA/IA_PD option to be sent in response.
Definition at line 568 of file alloc_engine.h.
Referenced by isc::dhcp::Dhcpv6Srv::extendIA_NA(), and isc::dhcp::Dhcpv6Srv::extendIA_PD().
| uint32_t isc::dhcp::AllocEngine::ClientContext6::IAContext::iaid_ |
The IAID field from IA_NA or IA_PD that is being processed.
Definition at line 533 of file alloc_engine.h.
Referenced by isc::dhcp::AllocEngine::allocateLeases6(), isc::dhcp::Dhcpv6Srv::assignIA_NA(), isc::dhcp::Dhcpv6Srv::assignIA_PD(), isc::dhcp::Dhcpv6Srv::extendIA_NA(), isc::dhcp::Dhcpv6Srv::extendIA_PD(), and isc::dhcp::AllocEngine::renewLeases6().
| ResourceContainer isc::dhcp::AllocEngine::ClientContext6::IAContext::new_resources_ |
Holds addresses and prefixes allocated for this IA.
This collection is used to update at most once new leases.
Definition at line 564 of file alloc_engine.h.
| Lease6Collection isc::dhcp::AllocEngine::ClientContext6::IAContext::old_leases_ |
A pointer to any old leases that the client had before update but are no longer valid after the update/allocation.
This collection is typically empty, except cases when we are doing address reassignment, e.g. because there is a host reservation that gives this address to someone else, so we had to return the address, and give a new one to this client.
Definition at line 551 of file alloc_engine.h.
Referenced by isc::dhcp::Dhcpv6Srv::extendIA_NA(), isc::dhcp::Dhcpv6Srv::extendIA_PD(), and isc::dhcp::Dhcpv6Srv::releaseLeases().
| Lease::Type isc::dhcp::AllocEngine::ClientContext6::IAContext::type_ |
Lease type (IA or PD)
Definition at line 536 of file alloc_engine.h.
Referenced by isc::dhcp::AllocEngine::allocateLeases6(), isc::dhcp::Dhcpv6Srv::assignIA_NA(), isc::dhcp::Dhcpv6Srv::assignIA_PD(), isc::dhcp::Dhcpv6Srv::extendIA_NA(), isc::dhcp::Dhcpv6Srv::extendIA_PD(), and isc::dhcp::AllocEngine::renewLeases6().