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

#include <SrvCfgPD.h>

+ Collaboration diagram for TSrvCfgPD:

Public Member Functions

 TSrvCfgPD ()
virtual ~TSrvCfgPD ()
bool clntPrefered (SPtr< TDUID > duid, SPtr< TIPv6Addr > clntAddr)
bool clntSupported (SPtr< TDUID > duid, SPtr< TIPv6Addr > clntAddr)
bool clntSupported (SPtr< TDUID > duid, SPtr< TIPv6Addr > clntAddr, SPtr< TSrvMsg > msg)
unsigned long countPrefixesInPool ()
long decrAssigned (int count=1)
unsigned long getAssignedCount ()
unsigned long getID ()
unsigned long getPD_Length ()
unsigned long getPD_MaxLease ()
unsigned long getPrefered (unsigned long hintPrefered)
SPtr< TIPv6AddrgetRandomPrefix ()
unsigned long getT1 (unsigned long hintT1)
unsigned long getT2 (unsigned long hintT2)
unsigned long getTotalCount ()
unsigned long getValid (unsigned long hintValid)
long incrAssigned (int count=1)
bool isLinkLocal ()
void mapAllowDenyList (TContainer< SPtr< TSrvCfgClientClass > > clientClassLst)
bool prefixInPool (SPtr< TIPv6Addr > prefix)
bool setOptions (SPtr< TSrvParsGlobalOpt > opt, int PDPrefix)

Public Attributes

TContainer< SPtr< TIPv6Addr > > getRandomTContainer< SPtr<> >

Private Member Functions

unsigned long chooseTime (unsigned long beg, unsigned long end, unsigned long clntTime)
 List (std::string) AllowLst_
 List (std::string) DenyLst_

Private Attributes

TContainer< SPtr
< TSrvCfgClientClass > > 
AllowClientClassLst_
SPtr< THostRangeCommonPool_
TContainer< SPtr
< TSrvCfgClientClass > > 
DenyClientClassLst_
unsigned long ID_
unsigned long PD_Assigned_
unsigned long PD_Count_
unsigned long PD_Length_
unsigned long PD_MaxLease_
unsigned long PD_PrefBeg_
unsigned long PD_PrefEnd_
unsigned long PD_T1Beg_
unsigned long PD_T1End_
unsigned long PD_T2Beg_
unsigned long PD_T2End_
unsigned long PD_ValidBeg_
unsigned long PD_ValidEnd_
TContainer< SPtr< THostRange > > PoolLst_

Static Private Attributes

static unsigned long StaticID_ = 0

Friends

std::ostream & operator<< (std::ostream &out, TSrvCfgPD &iface)

Constructor & Destructor Documentation

TSrvCfgPD::TSrvCfgPD ( )
TSrvCfgPD::~TSrvCfgPD ( )
virtual

Member Function Documentation

unsigned long TSrvCfgPD::chooseTime ( unsigned long  beg,
unsigned long  end,
unsigned long  clntTime 
)
private
bool TSrvCfgPD::clntPrefered ( SPtr< TDUID duid,
SPtr< TIPv6Addr clntAddr 
)
bool TSrvCfgPD::clntSupported ( SPtr< TDUID duid,
SPtr< TIPv6Addr clntAddr 
)
Todo:
implement access control for PD for real
bool TSrvCfgPD::clntSupported ( SPtr< TDUID duid,
SPtr< TIPv6Addr clntAddr,
SPtr< TSrvMsg msg 
)
Todo:
implement access control for PD for real
unsigned long TSrvCfgPD::countPrefixesInPool ( )
long TSrvCfgPD::decrAssigned ( int  count = 1)
unsigned long TSrvCfgPD::getAssignedCount ( )
unsigned long TSrvCfgPD::getID ( void  )
unsigned long TSrvCfgPD::getPD_Length ( )
unsigned long TSrvCfgPD::getPD_MaxLease ( )
unsigned long TSrvCfgPD::getPrefered ( unsigned long  hintPrefered)
SPtr< TIPv6Addr > TSrvCfgPD::getRandomPrefix ( )

returns random prefix from a first pool

Returns
unsigned long TSrvCfgPD::getT1 ( unsigned long  hintT1)
unsigned long TSrvCfgPD::getT2 ( unsigned long  hintT2)
unsigned long TSrvCfgPD::getTotalCount ( )
unsigned long TSrvCfgPD::getValid ( unsigned long  hintValid)
long TSrvCfgPD::incrAssigned ( int  count = 1)
bool TSrvCfgPD::isLinkLocal ( )
TSrvCfgPD::List ( std::string  )
private
TSrvCfgPD::List ( std::string  )
private
void TSrvCfgPD::mapAllowDenyList ( TContainer< SPtr< TSrvCfgClientClass > >  clientClassLst)
bool TSrvCfgPD::prefixInPool ( SPtr< TIPv6Addr prefix)
bool TSrvCfgPD::setOptions ( SPtr< TSrvParsGlobalOpt opt,
int  PDPrefix 
)
Todo:
: this code is fishy. It behave erraticaly, when there is only 1 prefix to be assigned if (PD_Count_ > pool->rangeCount()) PD_Count_ = pool->rangeCount(); cnt++;

Friends And Related Function Documentation

std::ostream& operator<< ( std::ostream &  out,
TSrvCfgPD iface 
)
friend

Member Data Documentation

TContainer< SPtr<TSrvCfgClientClass> > TSrvCfgPD::AllowClientClassLst_
private
SPtr<THostRange> TSrvCfgPD::CommonPool_
private
TContainer< SPtr<TSrvCfgClientClass> > TSrvCfgPD::DenyClientClassLst_
private
TContainer< SPtr<TIPv6Addr> > TSrvCfgPD::getRandomTContainer< SPtr<> >
unsigned long TSrvCfgPD::ID_
private
unsigned long TSrvCfgPD::PD_Assigned_
private
unsigned long TSrvCfgPD::PD_Count_
private
unsigned long TSrvCfgPD::PD_Length_
private
unsigned long TSrvCfgPD::PD_MaxLease_
private
unsigned long TSrvCfgPD::PD_PrefBeg_
private
unsigned long TSrvCfgPD::PD_PrefEnd_
private
unsigned long TSrvCfgPD::PD_T1Beg_
private
unsigned long TSrvCfgPD::PD_T1End_
private
unsigned long TSrvCfgPD::PD_T2Beg_
private
unsigned long TSrvCfgPD::PD_T2End_
private
unsigned long TSrvCfgPD::PD_ValidBeg_
private
unsigned long TSrvCfgPD::PD_ValidEnd_
private
TContainer< SPtr<THostRange> > TSrvCfgPD::PoolLst_
private
unsigned long TSrvCfgPD::StaticID_ = 0
staticprivate

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