Dibbler - a portable DHCPv6  1.0.2RC1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
TAddrIA Class Reference

#include <AddrIA.h>

+ Collaboration diagram for TAddrIA:

Public Member Functions

 TAddrIA (const std::string &ifacename, int ifindex, TIAType mode, SPtr< TIPv6Addr > addr, SPtr< TDUID > duid, unsigned long T1, unsigned long T2, unsigned long ID)
 constructor for new IA
 ~TAddrIA ()
void addAddr (SPtr< TAddrAddr > x)
void addAddr (SPtr< TIPv6Addr > addr, unsigned long pref, unsigned long valid)
void addAddr (SPtr< TIPv6Addr > addr, unsigned long pref, unsigned long valid, int prefix)
void addPrefix (SPtr< TAddrPrefix > x)
void addPrefix (SPtr< TIPv6Addr > addr, unsigned long pref, unsigned long valid, int length)
int countAddr ()
int countPrefix ()
int delAddr (SPtr< TIPv6Addr > addr)
bool delPrefix (SPtr< TAddrPrefix > x)
bool delPrefix (SPtr< TIPv6Addr > x)
void firstAddr ()
void firstPrefix ()
SPtr< TAddrAddrgetAddr ()
SPtr< TAddrAddrgetAddr (SPtr< TIPv6Addr > addr)
SPtr< TDUIDgetDUID ()
SPtr< TFQDNgetFQDN ()
SPtr< TIPv6AddrgetFQDNDnsServer ()
unsigned long getIAID ()
const std::string & getIfacename ()
int getIfindex ()
unsigned long getMaxValidTimeout ()
SPtr< TAddrPrefixgetPrefix ()
unsigned long getPrefTimeout ()
SPtr< TIPv6AddrgetSrvAddr ()
enum EState getState ()
unsigned long getT1 ()
unsigned long getT1Timeout ()
unsigned long getT2 ()
unsigned long getT2Timeout ()
enum EAddrStatus getTentative ()
 checks and returns tentative status
unsigned long getTentativeTimeout ()
 returns time till DAD procedure finishes
unsigned long getTimestamp ()
unsigned long getValidTimeout ()
void reset ()
void setDUID (SPtr< TDUID > duid)
void setFQDN (SPtr< TFQDN > fqdn)
void setFQDNDnsServer (SPtr< TIPv6Addr > srvAddr)
void setIfacename (const std::string &ifacename)
void setIfindex (int ifindex)
void setMulticast ()
void setState (enum EState state)
void setT1 (unsigned long T1)
void setT2 (unsigned long T2)
void setTentative ()
 sets tentative state, according to states of addresses
void setTimestamp (unsigned long ts)
void setTimestamp ()
void setUnicast (SPtr< TIPv6Addr > addr)

Private Attributes

TContainer< SPtr< TAddrAddr > > AddrLst
SPtr< TDUIDDUID
SPtr< TFQDNfqdn
SPtr< TIPv6AddrfqdnDnsServer
unsigned long IAID
std::string Iface_
 Interface name.
int Ifindex_
 Interface index.
TContainer< SPtr< TAddrPrefix > > PrefixLst
SPtr< TIPv6AddrSrvAddr
enum EState State
unsigned long T1
unsigned long T2
enum EAddrStatus Tentative
unsigned long Timestamp
TIAType Type
bool Unicast

Friends

std::ostream & operator<< (std::ostream &strum, TAddrIA &x)

Constructor & Destructor Documentation

TAddrIA::TAddrIA ( const std::string &  ifacename,
int  ifindex,
TIAType  type,
SPtr< TIPv6Addr addr,
SPtr< TDUID duid,
unsigned long  t1,
unsigned long  t2,
unsigned long  id 
)

constructor for new IA

used for creation of IA, a container for addresses

Parameters
ifacename,nameof the interface
ifindexinterface index (ifindex)
typespecifies container type (IA, PD or TA)
addraddress
duidDUID (client DUID in server's database and server DUID in client's database)
t1T1 timer
t2T2 timer
idIAID (if this is really IA) or PDID (if this is PD, not IA)
TAddrIA::~TAddrIA ( )

Member Function Documentation

void TAddrIA::addAddr ( SPtr< TAddrAddr x)
void TAddrIA::addAddr ( SPtr< TIPv6Addr addr,
unsigned long  pref,
unsigned long  valid 
)
void TAddrIA::addAddr ( SPtr< TIPv6Addr addr,
unsigned long  pref,
unsigned long  valid,
int  prefix 
)
void TAddrIA::addPrefix ( SPtr< TAddrPrefix x)
void TAddrIA::addPrefix ( SPtr< TIPv6Addr addr,
unsigned long  pref,
unsigned long  valid,
int  length 
)
int TAddrIA::countAddr ( )
int TAddrIA::countPrefix ( )
int TAddrIA::delAddr ( SPtr< TIPv6Addr addr)
bool TAddrIA::delPrefix ( SPtr< TAddrPrefix x)
Todo:
: should we compare prefix length, too?
bool TAddrIA::delPrefix ( SPtr< TIPv6Addr x)
Todo:
: should we compare prefix length, too?
void TAddrIA::firstAddr ( )
void TAddrIA::firstPrefix ( )
SPtr< TAddrAddr > TAddrIA::getAddr ( )
SPtr< TAddrAddr > TAddrIA::getAddr ( SPtr< TIPv6Addr addr)

This function returns TAddrAddr object or 0 if such address is not present

Parameters
addr
Returns
SPtr< TDUID > TAddrIA::getDUID ( )
SPtr< TFQDN > TAddrIA::getFQDN ( )

returns stored FQDN information

Returns
SPtr< TIPv6Addr > TAddrIA::getFQDNDnsServer ( )

return DNS server address, where the DNSUpdate was performed

Returns
DNS server that DNS Update was performed at
unsigned long TAddrIA::getIAID ( )
const std::string & TAddrIA::getIfacename ( )
int TAddrIA::getIfindex ( )
unsigned long TAddrIA::getMaxValidTimeout ( )
SPtr< TAddrPrefix > TAddrIA::getPrefix ( )
unsigned long TAddrIA::getPrefTimeout ( )
SPtr< TIPv6Addr > TAddrIA::getSrvAddr ( )
enum EState TAddrIA::getState ( )
unsigned long TAddrIA::getT1 ( )
unsigned long TAddrIA::getT1Timeout ( )
unsigned long TAddrIA::getT2 ( )
unsigned long TAddrIA::getT2Timeout ( )
enum EAddrStatus TAddrIA::getTentative ( )

checks and returns tentative status

checks if DAD procedure is finished and returns tentative status

Returns
Tentative status (ADDRSTATUS_YES/ADDRSTATUS_NO/ADDRSTATUS_UNKNOWN)
unsigned long TAddrIA::getTentativeTimeout ( )

returns time till DAD procedure finishes

returns how much time left until DAD procedure is finished

Returns
timeout in seconds
unsigned long TAddrIA::getTimestamp ( )
unsigned long TAddrIA::getValidTimeout ( )
void TAddrIA::reset ( )

resets IA to unconfigured state

void TAddrIA::setDUID ( SPtr< TDUID duid)
void TAddrIA::setFQDN ( SPtr< TFQDN fqdn)

stores FQDN information

Parameters
fqdn
void TAddrIA::setFQDNDnsServer ( SPtr< TIPv6Addr srvAddr)

stores DNS server address, at which DNSUpdate was performed

Parameters
srvAddrDNS Server address to be stored
void TAddrIA::setIfacename ( const std::string &  ifacename)
inline
void TAddrIA::setIfindex ( int  ifindex)
inline
void TAddrIA::setMulticast ( )
void TAddrIA::setState ( enum EState  state)
void TAddrIA::setT1 ( unsigned long  T1)
void TAddrIA::setT2 ( unsigned long  T2)
void TAddrIA::setTentative ( )

sets tentative state, according to states of addresses

sets tentative state, based on stats of addresses defined within this IA

void TAddrIA::setTimestamp ( unsigned long  ts)
void TAddrIA::setTimestamp ( )
void TAddrIA::setUnicast ( SPtr< TIPv6Addr addr)

Friends And Related Function Documentation

std::ostream& operator<< ( std::ostream &  strum,
TAddrIA x 
)
friend

Member Data Documentation

TContainer< SPtr<TAddrAddr> > TAddrIA::AddrLst
private
SPtr<TDUID> TAddrIA::DUID
private
SPtr<TFQDN> TAddrIA::fqdn
private
SPtr<TIPv6Addr> TAddrIA::fqdnDnsServer
private
unsigned long TAddrIA::IAID
private
std::string TAddrIA::Iface_
private

Interface name.

int TAddrIA::Ifindex_
private

Interface index.

TContainer< SPtr<TAddrPrefix> > TAddrIA::PrefixLst
private
SPtr<TIPv6Addr> TAddrIA::SrvAddr
private
enum EState TAddrIA::State
private
unsigned long TAddrIA::T1
private
unsigned long TAddrIA::T2
private
enum EAddrStatus TAddrIA::Tentative
private
unsigned long TAddrIA::Timestamp
private
TIAType TAddrIA::Type
private
bool TAddrIA::Unicast
private

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