A Discrete-Event Network Simulator
API
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
ns3::Ipv6AddressGeneratorImpl Class Reference
+ Collaboration diagram for ns3::Ipv6AddressGeneratorImpl:

Classes

class  Entry
class  NetworkState

Public Member Functions

 Ipv6AddressGeneratorImpl ()
virtual ~Ipv6AddressGeneratorImpl ()
bool AddAllocated (const Ipv6Address addr)
Ipv6Address GetAddress (const Ipv6Prefix prefix) const
Ipv6Address GetNetwork (const Ipv6Prefix prefix) const
void Init (const Ipv6Address net, const Ipv6Prefix prefix, const Ipv6Address interfaceId)
void InitAddress (const Ipv6Address interfaceId, const Ipv6Prefix prefix)
Ipv6Address NextAddress (const Ipv6Prefix prefix)
Ipv6Address NextNetwork (const Ipv6Prefix prefix)
void Reset (void)
void TestMode (void)

Private Member Functions

uint32_t PrefixToIndex (Ipv6Prefix prefix) const

Private Attributes

Ipv6Address m_base
std::list< Entrym_entries
NetworkState m_netTable [N_BITS]
bool m_test

Static Private Attributes

static const uint32_t MOST_SIGNIFICANT_BIT = 0x80
static const uint32_t N_BITS = 128

Detailed Description

Definition at line 31 of file ipv6-address-generator.cc.

Constructor & Destructor Documentation

ns3::Ipv6AddressGeneratorImpl::Ipv6AddressGeneratorImpl ( )

Definition at line 81 of file ipv6-address-generator.cc.

References NS_LOG_FUNCTION, and Reset().

+ Here is the call graph for this function:

ns3::Ipv6AddressGeneratorImpl::~Ipv6AddressGeneratorImpl ( )
virtual

Definition at line 130 of file ipv6-address-generator.cc.

References NS_LOG_FUNCTION.

Member Function Documentation

bool ns3::Ipv6AddressGeneratorImpl::AddAllocated ( const Ipv6Address  addr)

Definition at line 364 of file ipv6-address-generator.cc.

References ns3::Ipv6AddressGeneratorImpl::Entry::addrHigh, ns3::Ipv6AddressGeneratorImpl::Entry::addrLow, ns3::Ipv6Address::GetBytes(), m_entries, m_test, NS_FATAL_ERROR, NS_LOG_FUNCTION, and NS_LOG_LOGIC.

Referenced by NextAddress().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Ipv6Address ns3::Ipv6AddressGeneratorImpl::GetAddress ( const Ipv6Prefix  prefix) const
Ipv6Address ns3::Ipv6AddressGeneratorImpl::GetNetwork ( const Ipv6Prefix  prefix) const
void ns3::Ipv6AddressGeneratorImpl::InitAddress ( const Ipv6Address  interfaceId,
const Ipv6Prefix  prefix 
)

Definition at line 264 of file ipv6-address-generator.cc.

References ns3::Ipv6AddressGeneratorImpl::NetworkState::addr, ns3::Ipv6Address::GetBytes(), m_netTable, NS_LOG_FUNCTION, and PrefixToIndex().

+ Here is the call graph for this function:

uint32_t ns3::Ipv6AddressGeneratorImpl::PrefixToIndex ( Ipv6Prefix  prefix) const
private

Definition at line 485 of file ipv6-address-generator.cc.

References ns3::Ipv6Prefix::GetBytes(), N_BITS, NS_ABORT_MSG_UNLESS, and NS_ASSERT_MSG.

Referenced by GetAddress(), GetNetwork(), Init(), InitAddress(), NextAddress(), and NextNetwork().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ns3::Ipv6AddressGeneratorImpl::TestMode ( void  )

Definition at line 478 of file ipv6-address-generator.cc.

References m_test, and NS_LOG_FUNCTION.

Member Data Documentation

Ipv6Address ns3::Ipv6AddressGeneratorImpl::m_base
private

Definition at line 77 of file ipv6-address-generator.cc.

Referenced by Init(), NextNetwork(), and Reset().

std::list<Entry> ns3::Ipv6AddressGeneratorImpl::m_entries
private

Definition at line 76 of file ipv6-address-generator.cc.

Referenced by AddAllocated(), and Reset().

NetworkState ns3::Ipv6AddressGeneratorImpl::m_netTable[N_BITS]
private
bool ns3::Ipv6AddressGeneratorImpl::m_test
private

Definition at line 78 of file ipv6-address-generator.cc.

Referenced by AddAllocated(), Reset(), and TestMode().

const uint32_t ns3::Ipv6AddressGeneratorImpl::MOST_SIGNIFICANT_BIT = 0x80
staticprivate

Definition at line 53 of file ipv6-address-generator.cc.

Referenced by Reset().

const uint32_t ns3::Ipv6AddressGeneratorImpl::N_BITS = 128
staticprivate

Definition at line 52 of file ipv6-address-generator.cc.

Referenced by PrefixToIndex(), and Reset().


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