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

Radvd interface configuration. More...

#include <radvd-interface.h>

+ Inheritance diagram for ns3::RadvdInterface:
+ Collaboration diagram for ns3::RadvdInterface:

Public Member Functions

 RadvdInterface (uint32_t interface)
 Constructor.
 RadvdInterface (uint32_t interface, uint32_t maxRtrAdvInterval, uint32_t minRtrAdvInterval)
 Constructor.
 ~RadvdInterface ()
 Destructor.
void AddPrefix (Ptr< RadvdPrefix > routerPrefix)
 Add a prefix to advertise on interface.
uint8_t GetCurHopLimit () const
 Get current hop limit.
uint32_t GetDefaultLifeTime () const
 Get default lifetime.
uint8_t GetDefaultPreference () const
 Get default preference.
uint32_t GetHomeAgentLifeTime () const
 Get home agent lifetime.
uint32_t GetHomeAgentPreference () const
 Get home agent preference.
uint32_t GetInterface () const
 Get interface index for this configuration.
uint32_t GetLinkMtu () const
 Get link MTU.
uint32_t GetMaxRtrAdvInterval () const
 Get maximum RA interval.
uint32_t GetMinDelayBetweenRAs () const
 Get minimum delay between RAs.
uint32_t GetMinRtrAdvInterval () const
 Get minimum RA interval.
std::list< Ptr< RadvdPrefix > > GetPrefixes () const
 Get list of prefixes advertised for this interface.
uint32_t GetReachableTime () const
 Get reachable time.
uint32_t GetRetransTimer () const
 Get retransmission timer.
bool IsHomeAgentFlag () const
 Is "home agent" flag enabled ?
bool IsHomeAgentInfo () const
 Is Home Agent Information option should be included in RA ?
bool IsIntervalOpt () const
 Is advertisement interval option should be included in RA ?
bool IsManagedFlag () const
 Is managed flag enabled ?
bool IsMobRtrSupportFlag () const
 Is "mobile router support" flag enabled ?
bool IsOtherConfigFlag () const
 Is "other config" flag enabled ?
bool IsSendAdvert () const
 Is send advert enabled (periodic RA and reply to RS) ?
bool IsSourceLLAddress () const
 Is source LLA option should be included in RA ?
void SetCurHopLimit (uint8_t curHopLimit)
 Set current hop limit.
void SetDefaultLifeTime (uint32_t defaultLifeTime)
 Set default lifetime.
void SetDefaultPreference (uint8_t defaultPreference)
 Set default preference.
void SetHomeAgentFlag (bool homeAgentFlag)
 Set "home agent" flag.
void SetHomeAgentInfo (bool homeAgentFlag)
 Set flag to add or not HA information option to RA.
void SetHomeAgentLifeTime (uint32_t homeAgentLifeTime)
 Set home agent lifetime.
void SetHomeAgentPreference (uint32_t homeAgentPreference)
 Set home agent preference.
void SetIntervalOpt (bool intervalOpt)
 Set flag to add or not advertisement interval to RA.
void SetLinkMtu (uint32_t linkMtu)
 Set link MTU.
void SetManagedFlag (bool managedFlag)
 Set managed flag.
void SetMaxRtrAdvInterval (uint32_t maxRtrAdvInterval)
 Get maximum RA interval.
void SetMinDelayBetweenRAs (uint32_t minDelayBetweenRAs)
 Set minimum delay between RAs.
void SetMinRtrAdvInterval (uint32_t minRtrAdvInterval)
 Get minimum RA interval.
void SetMobRtrSupportFlag (bool mobRtrSupportFlag)
 Set "mobile router support" flag.
void SetOtherConfigFlag (bool otherConfigFlag)
 Set "other config" flag.
void SetReachableTime (uint32_t reachableTime)
 Set reachable time.
void SetRetransTimer (uint32_t retransTimer)
 Set retransmission timer.
void SetSendAdvert (bool sendAdvert)
 Set send advert flag.
void SetSourceLLAddress (bool sourceLLAddress)
 Set flag to add or not LLA to RA.
- Public Member Functions inherited from ns3::SimpleRefCount< RadvdInterface >
 SimpleRefCount ()
 SimpleRefCount (const SimpleRefCount &o)
uint32_t GetReferenceCount (void) const
SimpleRefCountoperator= (const SimpleRefCount &o)
void Ref (void) const
void Unref (void) const

Private Types

typedef std::list< Ptr
< RadvdPrefix > > 
RadvdPrefixList
typedef std::list< Ptr
< RadvdPrefix > >::iterator 
RadvdPrefixListI

Private Attributes

uint32_t m_curHopLimit
 Current hop limit (TTL).
uint32_t m_defaultLifeTime
 Default life time in seconds.
uint8_t m_defaultPreference
 Preference associated with default router. 0 = low 1 = medium 2 = high.
bool m_homeAgentFlag
 Flag to add HA (home agent) flag in RA.
bool m_homeAgentInfo
 Flag to add Home Agent Information option (Mobile IPv6). Currently not implemented.
uint32_t m_homeAgentLifeTime
 Home agent lifetime in seconds. Ignored if home agent info is not set.
uint32_t m_homeAgentPreference
 Home agent preference. Ignored if home agent info is not set.
uint32_t m_interface
 Interface to advertise RA.
bool m_intervalOpt
 Flag to add Advertisement Interval option in RA.
uint32_t m_linkMtu
 Link MTU to use.
bool m_managedFlag
 Managed flag. If true host use the stateful protocol for address autoconfiguration.
uint32_t m_maxRtrAdvInterval
 Maximum RA interval in milliseconds.
uint32_t m_minDelayBetweenRAs
 Minimum delay between RA in milliseconds.
uint32_t m_minRtrAdvInterval
 Minimum RA interval in milliseconds.
bool m_mobRtrSupportFlag
 Flag for HA to signals it supports Mobile Router registrations (NEMO Basic).
bool m_otherConfigFlag
 Other configuration flag. If true host use stateful protocol for other (non-address) information.
RadvdPrefixList m_prefixes
 List of prefixes to advertise.
uint32_t m_reachableTime
 Reachable time in milliseconds.
uint32_t m_retransTimer
 Retransmission timer in milliseconds.
bool m_sendAdvert
 Flag whether or not router sends periodic RA and respond to RS.
bool m_sourceLLAddress
 Flag to add link-layer address in RA.

Additional Inherited Members

- Static Public Member Functions inherited from ns3::SimpleRefCount< RadvdInterface >
static void Cleanup (void)

Detailed Description

Radvd interface configuration.

Definition at line 36 of file radvd-interface.h.

Member Typedef Documentation

Definition at line 305 of file radvd-interface.h.

Definition at line 306 of file radvd-interface.h.

Constructor & Destructor Documentation

ns3::RadvdInterface::RadvdInterface ( uint32_t  interface,
uint32_t  maxRtrAdvInterval,
uint32_t  minRtrAdvInterval 
)
ns3::RadvdInterface::~RadvdInterface ( )

Destructor.

Definition at line 76 of file radvd-interface.cc.

References m_prefixes.

Member Function Documentation

void ns3::RadvdInterface::AddPrefix ( Ptr< RadvdPrefix routerPrefix)

Add a prefix to advertise on interface.

Parameters
routerPrefixprefix to advertise

Definition at line 86 of file radvd-interface.cc.

References m_prefixes.

uint8_t ns3::RadvdInterface::GetCurHopLimit ( ) const

Get current hop limit.

Returns
current hop limit for the link

Definition at line 202 of file radvd-interface.cc.

References m_curHopLimit.

Referenced by ns3::Radvd::Send().

+ Here is the caller graph for this function:

uint32_t ns3::RadvdInterface::GetDefaultLifeTime ( ) const

Get default lifetime.

Returns
default lifetime

Definition at line 182 of file radvd-interface.cc.

References m_defaultLifeTime.

Referenced by ns3::Radvd::Send().

+ Here is the caller graph for this function:

uint8_t ns3::RadvdInterface::GetDefaultPreference ( ) const

Get default preference.

Returns
default preference

Definition at line 212 of file radvd-interface.cc.

References m_defaultPreference.

uint32_t ns3::RadvdInterface::GetHomeAgentLifeTime ( ) const

Get home agent lifetime.

Returns
home agent lifetime

Definition at line 252 of file radvd-interface.cc.

References m_homeAgentLifeTime.

uint32_t ns3::RadvdInterface::GetHomeAgentPreference ( ) const

Get home agent preference.

Returns
home agent preference

Definition at line 262 of file radvd-interface.cc.

References m_homeAgentPreference.

uint32_t ns3::RadvdInterface::GetInterface ( ) const

Get interface index for this configuration.

Returns
interface index

Definition at line 92 of file radvd-interface.cc.

References m_interface.

Referenced by ns3::Radvd::Send().

+ Here is the caller graph for this function:

uint32_t ns3::RadvdInterface::GetLinkMtu ( ) const

Get link MTU.

Returns
link MTU

Definition at line 162 of file radvd-interface.cc.

References m_linkMtu.

Referenced by ns3::Radvd::Send().

+ Here is the caller graph for this function:

uint32_t ns3::RadvdInterface::GetMaxRtrAdvInterval ( ) const

Get maximum RA interval.

Returns
RA interval (ms)

Definition at line 112 of file radvd-interface.cc.

References m_maxRtrAdvInterval.

Referenced by ns3::Radvd::Send().

+ Here is the caller graph for this function:

uint32_t ns3::RadvdInterface::GetMinDelayBetweenRAs ( ) const

Get minimum delay between RAs.

Returns
minimum delay (ms)

Definition at line 132 of file radvd-interface.cc.

References m_minDelayBetweenRAs.

uint32_t ns3::RadvdInterface::GetMinRtrAdvInterval ( ) const

Get minimum RA interval.

Returns
RA interval (ms)

Definition at line 122 of file radvd-interface.cc.

References m_minRtrAdvInterval.

Referenced by ns3::Radvd::Send().

+ Here is the caller graph for this function:

std::list< Ptr< RadvdPrefix > > ns3::RadvdInterface::GetPrefixes ( ) const

Get list of prefixes advertised for this interface.

Returns
list of IPv6 prefixes

Definition at line 97 of file radvd-interface.cc.

References m_prefixes.

Referenced by ns3::Radvd::Send().

+ Here is the caller graph for this function:

uint32_t ns3::RadvdInterface::GetReachableTime ( ) const

Get reachable time.

Returns
reachable time

Definition at line 172 of file radvd-interface.cc.

References m_reachableTime.

Referenced by ns3::Radvd::Send().

+ Here is the caller graph for this function:

uint32_t ns3::RadvdInterface::GetRetransTimer ( ) const

Get retransmission timer.

Returns
retransmission timer

Definition at line 192 of file radvd-interface.cc.

References m_retransTimer.

Referenced by ns3::Radvd::Send().

+ Here is the caller graph for this function:

bool ns3::RadvdInterface::IsHomeAgentFlag ( ) const

Is "home agent" flag enabled ?

Returns
"home agent" flag

Definition at line 232 of file radvd-interface.cc.

References m_homeAgentFlag.

Referenced by ns3::Radvd::Send().

+ Here is the caller graph for this function:

bool ns3::RadvdInterface::IsHomeAgentInfo ( ) const

Is Home Agent Information option should be included in RA ?

Returns
true if HA information option is added in RA, false otherwise

Definition at line 242 of file radvd-interface.cc.

References m_homeAgentInfo.

bool ns3::RadvdInterface::IsIntervalOpt ( ) const

Is advertisement interval option should be included in RA ?

Returns
true if advertisement interval option is added in RA, false otherwise

Definition at line 282 of file radvd-interface.cc.

References m_intervalOpt.

bool ns3::RadvdInterface::IsManagedFlag ( ) const

Is managed flag enabled ?

Returns
managed flag

Definition at line 142 of file radvd-interface.cc.

References m_managedFlag.

Referenced by ns3::Radvd::Send().

+ Here is the caller graph for this function:

bool ns3::RadvdInterface::IsMobRtrSupportFlag ( ) const

Is "mobile router support" flag enabled ?

Returns
"mobile router support" flag

Definition at line 272 of file radvd-interface.cc.

References m_mobRtrSupportFlag.

bool ns3::RadvdInterface::IsOtherConfigFlag ( ) const

Is "other config" flag enabled ?

Returns
other config flag

Definition at line 152 of file radvd-interface.cc.

References m_otherConfigFlag.

Referenced by ns3::Radvd::Send().

+ Here is the caller graph for this function:

bool ns3::RadvdInterface::IsSendAdvert ( ) const

Is send advert enabled (periodic RA and reply to RS) ?

Returns
send advert flag

Definition at line 102 of file radvd-interface.cc.

References m_sendAdvert.

bool ns3::RadvdInterface::IsSourceLLAddress ( ) const

Is source LLA option should be included in RA ?

Returns
true if source address is added in RA, false otherwise

Definition at line 222 of file radvd-interface.cc.

References m_sourceLLAddress.

Referenced by ns3::Radvd::Send().

+ Here is the caller graph for this function:

void ns3::RadvdInterface::SetCurHopLimit ( uint8_t  curHopLimit)

Set current hop limit.

Parameters
curHopLimitcurrent hop limit for the link

Definition at line 207 of file radvd-interface.cc.

References m_curHopLimit.

void ns3::RadvdInterface::SetDefaultLifeTime ( uint32_t  defaultLifeTime)

Set default lifetime.

Parameters
defaultLifeTimedefault lifetime

Definition at line 187 of file radvd-interface.cc.

References m_defaultLifeTime.

void ns3::RadvdInterface::SetDefaultPreference ( uint8_t  defaultPreference)

Set default preference.

Parameters
defaultPreferencedefault preference

Definition at line 217 of file radvd-interface.cc.

References m_defaultPreference.

void ns3::RadvdInterface::SetHomeAgentFlag ( bool  homeAgentFlag)

Set "home agent" flag.

Parameters
homeAgentFlagvalue

Definition at line 237 of file radvd-interface.cc.

References m_homeAgentFlag.

void ns3::RadvdInterface::SetHomeAgentInfo ( bool  homeAgentFlag)

Set flag to add or not HA information option to RA.

Parameters
homeAgentFlagvalue

Definition at line 247 of file radvd-interface.cc.

References m_homeAgentInfo.

void ns3::RadvdInterface::SetHomeAgentLifeTime ( uint32_t  homeAgentLifeTime)

Set home agent lifetime.

Parameters
homeAgentLifeTimehome agent lifetime

Definition at line 257 of file radvd-interface.cc.

References m_homeAgentLifeTime.

void ns3::RadvdInterface::SetHomeAgentPreference ( uint32_t  homeAgentPreference)

Set home agent preference.

Parameters
homeAgentPreferencehome agent preference

Definition at line 267 of file radvd-interface.cc.

References m_homeAgentPreference.

void ns3::RadvdInterface::SetIntervalOpt ( bool  intervalOpt)

Set flag to add or not advertisement interval to RA.

Parameters
intervalOptvalue

Definition at line 287 of file radvd-interface.cc.

References m_intervalOpt.

void ns3::RadvdInterface::SetLinkMtu ( uint32_t  linkMtu)

Set link MTU.

Parameters
linkMtulink MTU

Definition at line 167 of file radvd-interface.cc.

References m_linkMtu.

void ns3::RadvdInterface::SetManagedFlag ( bool  managedFlag)

Set managed flag.

Parameters
managedFlagvalue

Definition at line 147 of file radvd-interface.cc.

References m_managedFlag.

void ns3::RadvdInterface::SetMaxRtrAdvInterval ( uint32_t  maxRtrAdvInterval)

Get maximum RA interval.

Parameters
maxRtrAdvIntervalRA interval (ms)

Definition at line 117 of file radvd-interface.cc.

References m_maxRtrAdvInterval.

void ns3::RadvdInterface::SetMinDelayBetweenRAs ( uint32_t  minDelayBetweenRAs)

Set minimum delay between RAs.

Parameters
minDelayBetweenRAsminimum delay (ms)

Definition at line 137 of file radvd-interface.cc.

References m_minDelayBetweenRAs.

void ns3::RadvdInterface::SetMinRtrAdvInterval ( uint32_t  minRtrAdvInterval)

Get minimum RA interval.

Parameters
minRtrAdvIntervalRA interval (ms).

Definition at line 127 of file radvd-interface.cc.

References m_minRtrAdvInterval.

void ns3::RadvdInterface::SetMobRtrSupportFlag ( bool  mobRtrSupportFlag)

Set "mobile router support" flag.

Parameters
mobRtrSupportFlagvalue

Definition at line 277 of file radvd-interface.cc.

References m_mobRtrSupportFlag.

void ns3::RadvdInterface::SetOtherConfigFlag ( bool  otherConfigFlag)

Set "other config" flag.

Parameters
otherConfigFlagvalue

Definition at line 157 of file radvd-interface.cc.

References m_otherConfigFlag.

void ns3::RadvdInterface::SetReachableTime ( uint32_t  reachableTime)

Set reachable time.

Parameters
reachableTimereachable time

Definition at line 177 of file radvd-interface.cc.

References m_reachableTime.

void ns3::RadvdInterface::SetRetransTimer ( uint32_t  retransTimer)

Set retransmission timer.

Parameters
retransTimerretransmission timer

Definition at line 197 of file radvd-interface.cc.

References m_retransTimer.

void ns3::RadvdInterface::SetSendAdvert ( bool  sendAdvert)

Set send advert flag.

Parameters
sendAdvertvalue

Definition at line 107 of file radvd-interface.cc.

References m_sendAdvert.

void ns3::RadvdInterface::SetSourceLLAddress ( bool  sourceLLAddress)

Set flag to add or not LLA to RA.

Parameters
sourceLLAddressvalue

Definition at line 227 of file radvd-interface.cc.

References m_sourceLLAddress.

Member Data Documentation

uint32_t ns3::RadvdInterface::m_curHopLimit
private

Current hop limit (TTL).

Definition at line 366 of file radvd-interface.h.

Referenced by GetCurHopLimit(), RadvdInterface(), and SetCurHopLimit().

uint32_t ns3::RadvdInterface::m_defaultLifeTime
private

Default life time in seconds.

Definition at line 371 of file radvd-interface.h.

Referenced by GetDefaultLifeTime(), RadvdInterface(), and SetDefaultLifeTime().

uint8_t ns3::RadvdInterface::m_defaultPreference
private

Preference associated with default router. 0 = low 1 = medium 2 = high.

Definition at line 379 of file radvd-interface.h.

Referenced by GetDefaultPreference(), RadvdInterface(), and SetDefaultPreference().

bool ns3::RadvdInterface::m_homeAgentFlag
private

Flag to add HA (home agent) flag in RA.

Definition at line 389 of file radvd-interface.h.

Referenced by IsHomeAgentFlag(), RadvdInterface(), and SetHomeAgentFlag().

bool ns3::RadvdInterface::m_homeAgentInfo
private

Flag to add Home Agent Information option (Mobile IPv6). Currently not implemented.

Definition at line 395 of file radvd-interface.h.

Referenced by IsHomeAgentInfo(), RadvdInterface(), and SetHomeAgentInfo().

uint32_t ns3::RadvdInterface::m_homeAgentLifeTime
private

Home agent lifetime in seconds. Ignored if home agent info is not set.

Definition at line 400 of file radvd-interface.h.

Referenced by GetHomeAgentLifeTime(), RadvdInterface(), and SetHomeAgentLifeTime().

uint32_t ns3::RadvdInterface::m_homeAgentPreference
private

Home agent preference. Ignored if home agent info is not set.

Definition at line 405 of file radvd-interface.h.

Referenced by GetHomeAgentPreference(), RadvdInterface(), and SetHomeAgentPreference().

uint32_t ns3::RadvdInterface::m_interface
private

Interface to advertise RA.

Definition at line 311 of file radvd-interface.h.

Referenced by GetInterface().

bool ns3::RadvdInterface::m_intervalOpt
private

Flag to add Advertisement Interval option in RA.

Definition at line 415 of file radvd-interface.h.

Referenced by IsIntervalOpt(), RadvdInterface(), and SetIntervalOpt().

uint32_t ns3::RadvdInterface::m_linkMtu
private

Link MTU to use.

Definition at line 351 of file radvd-interface.h.

Referenced by GetLinkMtu(), RadvdInterface(), and SetLinkMtu().

bool ns3::RadvdInterface::m_managedFlag
private

Managed flag. If true host use the stateful protocol for address autoconfiguration.

Definition at line 341 of file radvd-interface.h.

Referenced by IsManagedFlag(), RadvdInterface(), and SetManagedFlag().

uint32_t ns3::RadvdInterface::m_maxRtrAdvInterval
private

Maximum RA interval in milliseconds.

Definition at line 326 of file radvd-interface.h.

Referenced by GetMaxRtrAdvInterval(), RadvdInterface(), and SetMaxRtrAdvInterval().

uint32_t ns3::RadvdInterface::m_minDelayBetweenRAs
private

Minimum delay between RA in milliseconds.

Definition at line 336 of file radvd-interface.h.

Referenced by GetMinDelayBetweenRAs(), RadvdInterface(), and SetMinDelayBetweenRAs().

uint32_t ns3::RadvdInterface::m_minRtrAdvInterval
private

Minimum RA interval in milliseconds.

Definition at line 331 of file radvd-interface.h.

Referenced by GetMinRtrAdvInterval(), RadvdInterface(), and SetMinRtrAdvInterval().

bool ns3::RadvdInterface::m_mobRtrSupportFlag
private

Flag for HA to signals it supports Mobile Router registrations (NEMO Basic).

Definition at line 410 of file radvd-interface.h.

Referenced by IsMobRtrSupportFlag(), RadvdInterface(), and SetMobRtrSupportFlag().

bool ns3::RadvdInterface::m_otherConfigFlag
private

Other configuration flag. If true host use stateful protocol for other (non-address) information.

Definition at line 346 of file radvd-interface.h.

Referenced by IsOtherConfigFlag(), RadvdInterface(), and SetOtherConfigFlag().

RadvdPrefixList ns3::RadvdInterface::m_prefixes
private

List of prefixes to advertise.

Definition at line 316 of file radvd-interface.h.

Referenced by AddPrefix(), GetPrefixes(), and ~RadvdInterface().

uint32_t ns3::RadvdInterface::m_reachableTime
private

Reachable time in milliseconds.

Definition at line 356 of file radvd-interface.h.

Referenced by GetReachableTime(), RadvdInterface(), and SetReachableTime().

uint32_t ns3::RadvdInterface::m_retransTimer
private

Retransmission timer in milliseconds.

Definition at line 361 of file radvd-interface.h.

Referenced by GetRetransTimer(), RadvdInterface(), and SetRetransTimer().

bool ns3::RadvdInterface::m_sendAdvert
private

Flag whether or not router sends periodic RA and respond to RS.

Definition at line 321 of file radvd-interface.h.

Referenced by IsSendAdvert(), RadvdInterface(), and SetSendAdvert().

bool ns3::RadvdInterface::m_sourceLLAddress
private

Flag to add link-layer address in RA.

Definition at line 384 of file radvd-interface.h.

Referenced by IsSourceLLAddress(), RadvdInterface(), and SetSourceLLAddress().


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