21 #ifndef RADVD_INTERFACE_H 22 #define RADVD_INTERFACE_H 26 #include "ns3/simple-ref-count.h" 27 #include "ns3/nstime.h" 58 RadvdInterface (uint32_t interface, uint32_t maxRtrAdvInterval, uint32_t minRtrAdvInterval);
uint32_t GetInterface() const
Get interface index for this configuration.
bool m_sendAdvert
Flag whether or not router sends periodic RA and respond to RS.
Simulation virtual time values and global simulation resolution.
void SetMinDelayBetweenRAs(uint32_t minDelayBetweenRAs)
Set minimum delay between RAs.
void SetDefaultLifeTime(uint32_t defaultLifeTime)
Set default lifetime.
uint32_t m_linkMtu
Link MTU to use.
bool m_intervalOpt
Flag to add Advertisement Interval option in RA.
uint32_t m_interface
Interface to advertise RA.
uint32_t GetMinRtrAdvInterval() const
Get minimum RA interval.
bool IsSendAdvert() const
Is send advert enabled (periodic RA and reply to RS) ?
uint32_t GetRetransTimer() const
Get retransmission timer.
bool IsIntervalOpt() const
Is advertisement interval option should be included in RA ?
uint32_t GetMinDelayBetweenRAs() const
Get minimum delay between RAs.
uint32_t m_curHopLimit
Current hop limit (TTL).
void SetMobRtrSupportFlag(bool mobRtrSupportFlag)
Set "mobile router support" flag.
bool IsManagedFlag() const
Is managed flag enabled ?
void SetSendAdvert(bool sendAdvert)
Set send advert flag.
bool m_otherConfigFlag
Other configuration flag.
bool m_mobRtrSupportFlag
Flag for HA to signals it supports Mobile Router registrations (NEMO Basic).
void AddPrefix(Ptr< RadvdPrefix > routerPrefix)
Add a prefix to advertise on interface.
Time m_lastSendTime
Last RA send time.
bool m_homeAgentInfo
Flag to add Home Agent Information option (Mobile IPv6).
uint32_t m_minDelayBetweenRAs
Minimum delay between RA in milliseconds.
uint32_t GetDefaultLifeTime() const
Get default lifetime.
bool IsInitialRtrAdv()
Checks if the interface is subject to the initial Rtr Advertisements rule.
uint32_t m_homeAgentPreference
Home agent preference.
uint32_t GetLinkMtu() const
Get link MTU.
bool IsSourceLLAddress() const
Is source LLA option should be included in RA ?
uint32_t m_reachableTime
Reachable time in milliseconds.
uint32_t m_retransTimer
Retransmission timer in milliseconds.
uint8_t GetDefaultPreference() const
Get default preference.
void SetRetransTimer(uint32_t retransTimer)
Set retransmission timer.
std::list< Ptr< RadvdPrefix > > RadvdPrefixList
Container: Ptr to RadvdPrefix.
uint8_t m_defaultPreference
Preference associated with default router.
void SetDefaultPreference(uint8_t defaultPreference)
Set default preference.
uint32_t GetHomeAgentLifeTime() const
Get home agent lifetime.
RadvdPrefixList m_prefixes
List of prefixes to advertise.
void SetReachableTime(uint32_t reachableTime)
Set reachable time.
bool IsHomeAgentInfo() const
Is Home Agent Information option should be included in RA ?
bool m_sourceLLAddress
Flag to add link-layer address in RA.
void SetHomeAgentPreference(uint32_t homeAgentPreference)
Set home agent preference.
uint8_t m_initialRtrAdvertisementsLeft
Number of fast announcement to do.
RadvdPrefixList GetPrefixes() const
Get list of prefixes advertised for this interface.
void SetHomeAgentInfo(bool homeAgentFlag)
Set flag to add or not HA information option to RA.
void SetLastRaTxTime(Time now)
Set the last RA send time.
void SetIntervalOpt(bool intervalOpt)
Set flag to add or not advertisement interval to RA.
Every class exported by the ns3 library is enclosed in the ns3 namespace.
~RadvdInterface()
Destructor.
bool IsHomeAgentFlag() const
Is "home agent" flag enabled ?
bool m_homeAgentFlag
Flag to add HA (home agent) flag in RA.
void SetMinRtrAdvInterval(uint32_t minRtrAdvInterval)
Get minimum RA interval.
bool IsOtherConfigFlag() const
Is "other config" flag enabled ?
void SetLinkMtu(uint32_t linkMtu)
Set link MTU.
bool m_managedFlag
Managed flag.
uint32_t m_defaultLifeTime
Default life time in seconds.
Time GetLastRaTxTime()
Get the last time a RA has been sent.
void SetOtherConfigFlag(bool otherConfigFlag)
Set "other config" flag.
RadvdInterface(uint32_t interface)
Constructor.
bool IsMobRtrSupportFlag() const
Is "mobile router support" flag enabled ?
std::list< Ptr< RadvdPrefix > >::iterator RadvdPrefixListI
Container Iterator: Ptr to RadvdPrefix.
Radvd interface configuration.
void SetManagedFlag(bool managedFlag)
Set managed flag.
uint32_t GetReachableTime() const
Get reachable time.
uint8_t GetCurHopLimit() const
Get current hop limit.
uint32_t GetHomeAgentPreference() const
Get home agent preference.
void SetHomeAgentFlag(bool homeAgentFlag)
Set "home agent" flag.
void SetMaxRtrAdvInterval(uint32_t maxRtrAdvInterval)
Get maximum RA interval.
uint32_t GetMaxRtrAdvInterval() const
Get maximum RA interval.
void SetHomeAgentLifeTime(uint32_t homeAgentLifeTime)
Set home agent lifetime.
std::list< Ptr< RadvdPrefix > >::const_iterator RadvdPrefixListCI
Container Const Iterator: Ptr to RadvdPrefix.
A template-based reference counting class.
uint32_t m_homeAgentLifeTime
Home agent lifetime in seconds.
void SetSourceLLAddress(bool sourceLLAddress)
Set flag to add or not LLA to RA.
uint32_t m_minRtrAdvInterval
Minimum RA interval in milliseconds.
void SetCurHopLimit(uint8_t curHopLimit)
Set current hop limit.
uint32_t m_maxRtrAdvInterval
Maximum RA interval in milliseconds.