Kea  1.9.9-git
isc::dhcp::AllocEngine::ClientContext6::IAContext Struct Reference

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...
 

Detailed Description

Parameters pertaining to individual IAs.

Definition at line 529 of file alloc_engine.h.

Constructor & Destructor Documentation

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.

Member Function Documentation

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.

Parameters
prefixPrefix or address.
prefix_lenPrefix length. Default is 128 for addresses.
preferredWanted preferred lifetime. Default 0.
validWanted 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.

Parameters
iaaddrPointer to IAADDR.
Exceptions
BadValueif 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.

Parameters
iaprefixPointer to IAPREFIX.
Exceptions
BadValueif 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.

Parameters
prefixPrefix or address
prefix_lenPrefix 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.

Parameters
prefixPrefix or address
prefix_lenPrefix length. Default is 128 for addresses.

Definition at line 528 of file alloc_engine.cc.

Referenced by isc::dhcp::AllocEngine::renewLeases6().

Member Data Documentation

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_
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().


The documentation for this struct was generated from the following files: