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

Radvd interface configuration. More...

#include <radvd-interface.h>

+ Inheritance diagram for ns3::RadvdInterface:

Public Member Functions

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

Constructor & Destructor Documentation

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

Member Function Documentation

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

Add a prefix to advertise on interface.

Parameters
routerPrefixprefix to advertise

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

References m_prefixes, and NS_LOG_FUNCTION.

uint8_t ns3::RadvdInterface::GetCurHopLimit ( ) const

Get current hop limit.

Returns
current hop limit for the link

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

References m_curHopLimit, and NS_LOG_FUNCTION.

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

uint32_t ns3::RadvdInterface::GetDefaultLifeTime ( ) const

Get default lifetime.

Returns
default lifetime

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

References m_defaultLifeTime, and NS_LOG_FUNCTION.

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

uint8_t ns3::RadvdInterface::GetDefaultPreference ( ) const

Get default preference.

Returns
default preference

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

References m_defaultPreference, and NS_LOG_FUNCTION.

uint32_t ns3::RadvdInterface::GetHomeAgentLifeTime ( ) const

Get home agent lifetime.

Returns
home agent lifetime

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

References m_homeAgentLifeTime, and NS_LOG_FUNCTION.

uint32_t ns3::RadvdInterface::GetHomeAgentPreference ( ) const

Get home agent preference.

Returns
home agent preference

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

References m_homeAgentPreference, and NS_LOG_FUNCTION.

uint32_t ns3::RadvdInterface::GetInterface ( ) const

Get interface index for this configuration.

Returns
interface index

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

References m_interface, and NS_LOG_FUNCTION.

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

uint32_t ns3::RadvdInterface::GetLinkMtu ( ) const

Get link MTU.

Returns
link MTU

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

References m_linkMtu, and NS_LOG_FUNCTION.

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

uint32_t ns3::RadvdInterface::GetMaxRtrAdvInterval ( ) const

Get maximum RA interval.

Returns
RA interval (ms)

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

References m_maxRtrAdvInterval, and NS_LOG_FUNCTION.

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

uint32_t ns3::RadvdInterface::GetMinDelayBetweenRAs ( ) const

Get minimum delay between RAs.

Returns
minimum delay (ms)

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

References m_minDelayBetweenRAs, and NS_LOG_FUNCTION.

uint32_t ns3::RadvdInterface::GetMinRtrAdvInterval ( ) const

Get minimum RA interval.

Returns
RA interval (ms)

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

References m_minRtrAdvInterval, and NS_LOG_FUNCTION.

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

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

Get list of prefixes advertised for this interface.

Returns
list of IPv6 prefixes

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

References m_prefixes, and NS_LOG_FUNCTION.

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

uint32_t ns3::RadvdInterface::GetReachableTime ( ) const

Get reachable time.

Returns
reachable time

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

References m_reachableTime, and NS_LOG_FUNCTION.

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

uint32_t ns3::RadvdInterface::GetRetransTimer ( ) const

Get retransmission timer.

Returns
retransmission timer

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

References m_retransTimer, and NS_LOG_FUNCTION.

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

bool ns3::RadvdInterface::IsHomeAgentFlag ( ) const

Is "home agent" flag enabled ?

Returns
"home agent" flag

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

References m_homeAgentFlag, and NS_LOG_FUNCTION.

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

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 279 of file radvd-interface.cc.

References m_homeAgentInfo, and NS_LOG_FUNCTION.

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 327 of file radvd-interface.cc.

References m_intervalOpt, and NS_LOG_FUNCTION.

bool ns3::RadvdInterface::IsManagedFlag ( ) const

Is managed flag enabled ?

Returns
managed flag

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

References m_managedFlag, and NS_LOG_FUNCTION.

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

bool ns3::RadvdInterface::IsMobRtrSupportFlag ( ) const

Is "mobile router support" flag enabled ?

Returns
"mobile router support" flag

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

References m_mobRtrSupportFlag, and NS_LOG_FUNCTION.

bool ns3::RadvdInterface::IsOtherConfigFlag ( ) const

Is "other config" flag enabled ?

Returns
other config flag

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

References m_otherConfigFlag, and NS_LOG_FUNCTION.

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

bool ns3::RadvdInterface::IsSendAdvert ( ) const

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

Returns
send advert flag

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

References m_sendAdvert, and NS_LOG_FUNCTION.

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 255 of file radvd-interface.cc.

References m_sourceLLAddress, and NS_LOG_FUNCTION.

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

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

Set current hop limit.

Parameters
curHopLimitcurrent hop limit for the link

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

References m_curHopLimit, and NS_LOG_FUNCTION.

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

Set default lifetime.

Parameters
defaultLifeTimedefault lifetime

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

References m_defaultLifeTime, and NS_LOG_FUNCTION.

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

Set default preference.

Parameters
defaultPreferencedefault preference

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

References m_defaultPreference, and NS_LOG_FUNCTION.

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

Set "home agent" flag.

Parameters
homeAgentFlagvalue

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

References m_homeAgentFlag, and NS_LOG_FUNCTION.

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

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

Parameters
homeAgentFlagvalue

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

References m_homeAgentInfo, and NS_LOG_FUNCTION.

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

Set home agent lifetime.

Parameters
homeAgentLifeTimehome agent lifetime

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

References m_homeAgentLifeTime, and NS_LOG_FUNCTION.

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

Set home agent preference.

Parameters
homeAgentPreferencehome agent preference

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

References m_homeAgentPreference, and NS_LOG_FUNCTION.

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

Set flag to add or not advertisement interval to RA.

Parameters
intervalOptvalue

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

References m_intervalOpt, and NS_LOG_FUNCTION.

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

Set link MTU.

Parameters
linkMtulink MTU

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

References m_linkMtu, and NS_LOG_FUNCTION.

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

Set managed flag.

Parameters
managedFlagvalue

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

References m_managedFlag, and NS_LOG_FUNCTION.

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

Get maximum RA interval.

Parameters
maxRtrAdvIntervalRA interval (ms)

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

References m_maxRtrAdvInterval, and NS_LOG_FUNCTION.

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

Set minimum delay between RAs.

Parameters
minDelayBetweenRAsminimum delay (ms)

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

References m_minDelayBetweenRAs, and NS_LOG_FUNCTION.

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

Get minimum RA interval.

Parameters
minRtrAdvIntervalRA interval (ms).

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

References m_minRtrAdvInterval, and NS_LOG_FUNCTION.

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

Set "mobile router support" flag.

Parameters
mobRtrSupportFlagvalue

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

References m_mobRtrSupportFlag, and NS_LOG_FUNCTION.

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

Set "other config" flag.

Parameters
otherConfigFlagvalue

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

References m_otherConfigFlag, and NS_LOG_FUNCTION.

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

Set reachable time.

Parameters
reachableTimereachable time

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

References m_reachableTime, and NS_LOG_FUNCTION.

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

Set retransmission timer.

Parameters
retransTimerretransmission timer

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

References m_retransTimer, and NS_LOG_FUNCTION.

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

Set send advert flag.

Parameters
sendAdvertvalue

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

References m_sendAdvert, and NS_LOG_FUNCTION.

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

Set flag to add or not LLA to RA.

Parameters
sourceLLAddressvalue

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

References m_sourceLLAddress, and NS_LOG_FUNCTION.


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