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 |
| SimpleRefCount & | operator= (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) |
Radvd interface configuration.
Definition at line 36 of file radvd-interface.h.
| ns3::RadvdInterface::RadvdInterface | ( | uint32_t | interface | ) |
Constructor.
| interface | interface index |
Definition at line 29 of file radvd-interface.cc.
References m_curHopLimit, m_defaultLifeTime, m_defaultPreference, m_homeAgentFlag, m_homeAgentInfo, m_homeAgentLifeTime, m_homeAgentPreference, m_intervalOpt, m_linkMtu, m_managedFlag, m_maxRtrAdvInterval, m_minDelayBetweenRAs, m_minRtrAdvInterval, m_mobRtrSupportFlag, m_otherConfigFlag, m_reachableTime, m_retransTimer, m_sendAdvert, m_sourceLLAddress, and NS_LOG_FUNCTION.
| ns3::RadvdInterface::RadvdInterface | ( | uint32_t | interface, |
| uint32_t | maxRtrAdvInterval, | ||
| uint32_t | minRtrAdvInterval | ||
| ) |
Constructor.
| interface | interface index |
| maxRtrAdvInterval | maximum RA interval (ms) |
| minRtrAdvInterval | minimum RA interval (ms) |
Definition at line 55 of file radvd-interface.cc.
References m_curHopLimit, m_defaultLifeTime, m_defaultPreference, m_homeAgentFlag, m_homeAgentInfo, m_homeAgentLifeTime, m_homeAgentPreference, m_intervalOpt, m_linkMtu, m_managedFlag, m_maxRtrAdvInterval, m_minDelayBetweenRAs, m_minRtrAdvInterval, m_mobRtrSupportFlag, m_otherConfigFlag, m_reachableTime, m_retransTimer, m_sendAdvert, m_sourceLLAddress, NS_ASSERT, and NS_LOG_FUNCTION.
| void ns3::RadvdInterface::AddPrefix | ( | Ptr< RadvdPrefix > | routerPrefix | ) |
Add a prefix to advertise on interface.
| routerPrefix | prefix 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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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 ?
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 ?
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 ?
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 ?
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 ?
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 ?
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) ?
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 ?
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.
| curHopLimit | current 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.
| defaultLifeTime | default 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.
| defaultPreference | default 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.
| homeAgentFlag | value |
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.
| homeAgentFlag | value |
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.
| homeAgentLifeTime | home 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.
| homeAgentPreference | home 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.
| intervalOpt | value |
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.
| linkMtu | link 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.
| managedFlag | value |
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.
| maxRtrAdvInterval | RA 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.
| minDelayBetweenRAs | minimum 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.
| minRtrAdvInterval | RA 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.
| mobRtrSupportFlag | value |
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.
| otherConfigFlag | value |
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.
| reachableTime | reachable 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.
| retransTimer | retransmission 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.
| sendAdvert | value |
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.
| sourceLLAddress | value |
Definition at line 261 of file radvd-interface.cc.
References m_sourceLLAddress, and NS_LOG_FUNCTION.