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< Entry > | m_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 |
Definition at line 31 of file ipv6-address-generator.cc.
ns3::Ipv6AddressGeneratorImpl::Ipv6AddressGeneratorImpl | ( | ) |
Definition at line 81 of file ipv6-address-generator.cc.
References NS_LOG_FUNCTION, and Reset().
|
virtual |
Definition at line 130 of file ipv6-address-generator.cc.
References NS_LOG_FUNCTION.
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().
Ipv6Address ns3::Ipv6AddressGeneratorImpl::GetAddress | ( | const Ipv6Prefix | prefix | ) | const |
Definition at line 281 of file ipv6-address-generator.cc.
References ns3::Ipv6AddressGeneratorImpl::NetworkState::addr, m_netTable, ns3::Ipv6AddressGeneratorImpl::NetworkState::network, NS_LOG_FUNCTION, PrefixToIndex(), and ns3::Ipv6AddressGeneratorImpl::NetworkState::shift.
Ipv6Address ns3::Ipv6AddressGeneratorImpl::GetNetwork | ( | const Ipv6Prefix | prefix | ) | const |
Definition at line 187 of file ipv6-address-generator.cc.
References m_netTable, ns3::Ipv6AddressGeneratorImpl::NetworkState::network, NS_LOG_FUNCTION, PrefixToIndex(), and ns3::Ipv6AddressGeneratorImpl::NetworkState::shift.
void ns3::Ipv6AddressGeneratorImpl::Init | ( | const Ipv6Address | net, |
const Ipv6Prefix | prefix, | ||
const Ipv6Address | interfaceId | ||
) |
Definition at line 136 of file ipv6-address-generator.cc.
References ns3::Ipv6AddressGeneratorImpl::NetworkState::addr, ns3::Ipv6Address::GetBytes(), ns3::Ipv6Prefix::GetBytes(), m_base, m_netTable, ns3::Ipv6AddressGeneratorImpl::NetworkState::network, NS_LOG_DEBUG, NS_LOG_FUNCTION, PrefixToIndex(), and ns3::Ipv6AddressGeneratorImpl::NetworkState::shift.
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().
Ipv6Address ns3::Ipv6AddressGeneratorImpl::NextAddress | ( | const Ipv6Prefix | prefix | ) |
Definition at line 313 of file ipv6-address-generator.cc.
References AddAllocated(), ns3::Ipv6AddressGeneratorImpl::NetworkState::addr, m_netTable, ns3::Ipv6AddressGeneratorImpl::NetworkState::network, NS_LOG_FUNCTION, PrefixToIndex(), and ns3::Ipv6AddressGeneratorImpl::NetworkState::shift.
Ipv6Address ns3::Ipv6AddressGeneratorImpl::NextNetwork | ( | const Ipv6Prefix | prefix | ) |
Definition at line 214 of file ipv6-address-generator.cc.
References ns3::Ipv6AddressGeneratorImpl::NetworkState::addr, ns3::Ipv6Address::GetBytes(), m_base, m_netTable, ns3::Ipv6AddressGeneratorImpl::NetworkState::network, NS_LOG_FUNCTION, PrefixToIndex(), and ns3::Ipv6AddressGeneratorImpl::NetworkState::shift.
|
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().
void ns3::Ipv6AddressGeneratorImpl::Reset | ( | void | ) |
Definition at line 91 of file ipv6-address-generator.cc.
References ns3::Ipv6AddressGeneratorImpl::NetworkState::addr, ns3::Ipv6AddressGeneratorImpl::NetworkState::addrMax, m_base, m_entries, m_netTable, m_test, MOST_SIGNIFICANT_BIT, N_BITS, ns3::Ipv6AddressGeneratorImpl::NetworkState::network, NS_LOG_FUNCTION, ns3::Ipv6AddressGeneratorImpl::NetworkState::prefix, and ns3::Ipv6AddressGeneratorImpl::NetworkState::shift.
Referenced by Ipv6AddressGeneratorImpl().
void ns3::Ipv6AddressGeneratorImpl::TestMode | ( | void | ) |
Definition at line 478 of file ipv6-address-generator.cc.
References m_test, and NS_LOG_FUNCTION.
|
private |
Definition at line 77 of file ipv6-address-generator.cc.
Referenced by Init(), NextNetwork(), and Reset().
Definition at line 76 of file ipv6-address-generator.cc.
Referenced by AddAllocated(), and Reset().
|
private |
Definition at line 67 of file ipv6-address-generator.cc.
Referenced by GetAddress(), GetNetwork(), Init(), InitAddress(), NextAddress(), NextNetwork(), and Reset().
|
private |
Definition at line 78 of file ipv6-address-generator.cc.
Referenced by AddAllocated(), Reset(), and TestMode().
|
staticprivate |
Definition at line 53 of file ipv6-address-generator.cc.
Referenced by Reset().
|
staticprivate |
Definition at line 52 of file ipv6-address-generator.cc.
Referenced by PrefixToIndex(), and Reset().