Ipv4 multicast route cache entry (similar to Linux struct mfc_cache) More...
#include "ipv4-route.h"
Public Member Functions | |
Ipv4MulticastRoute () | |
Ipv4Address | GetGroup () const |
Ipv4Address | GetOrigin () const |
std::map< uint32_t, uint32_t > | GetOutputTtlMap () const |
uint32_t | GetParent () const |
void | SetGroup (const Ipv4Address group) |
void | SetOrigin (const Ipv4Address origin) |
void | SetOutputTtl (uint32_t oif, uint32_t ttl) |
void | SetParent (uint32_t iif) |
Public Member Functions inherited from ns3::SimpleRefCount< Ipv4MulticastRoute > | |
SimpleRefCount () | |
Default constructor. More... | |
SimpleRefCount (const SimpleRefCount &o[[maybe_unused]]) | |
Copy constructor. More... | |
uint32_t | GetReferenceCount () const |
Get the reference count of the object. More... | |
SimpleRefCount & | operator= (const SimpleRefCount &o[[maybe_unused]]) |
Assignment operator. More... | |
void | Ref () const |
Increment the reference count. More... | |
void | Unref () const |
Decrement the reference count. More... | |
Static Public Attributes | |
static const uint32_t | MAX_INTERFACES |
Maximum number of multicast interfaces on a router. More... | |
static const uint32_t | MAX_TTL = 255 |
Maximum time-to-live (TTL) More... | |
Private Attributes | |
Ipv4Address | m_group |
Group. More... | |
Ipv4Address | m_origin |
Source of packet. More... | |
uint32_t | m_parent |
Source interface. More... | |
std::map< uint32_t, uint32_t > | m_ttls |
Time to Live container. More... | |
Ipv4 multicast route cache entry (similar to Linux struct mfc_cache)
Definition at line 114 of file ipv4-route.h.
ns3::Ipv4MulticastRoute::Ipv4MulticastRoute | ( | ) |
Definition at line 99 of file ipv4-route.cc.
References m_ttls, and NS_LOG_FUNCTION.
Ipv4Address ns3::Ipv4MulticastRoute::GetGroup | ( | ) | const |
Definition at line 113 of file ipv4-route.cc.
References m_group, and NS_LOG_FUNCTION.
Ipv4Address ns3::Ipv4MulticastRoute::GetOrigin | ( | ) | const |
Definition at line 127 of file ipv4-route.cc.
References m_origin, and NS_LOG_FUNCTION.
std::map< uint32_t, uint32_t > ns3::Ipv4MulticastRoute::GetOutputTtlMap | ( | ) | const |
Definition at line 167 of file ipv4-route.cc.
References m_ttls, and NS_LOG_FUNCTION.
uint32_t ns3::Ipv4MulticastRoute::GetParent | ( | ) | const |
Definition at line 141 of file ipv4-route.cc.
References m_parent, and NS_LOG_FUNCTION.
void ns3::Ipv4MulticastRoute::SetGroup | ( | const Ipv4Address | group | ) |
group | Ipv4Address of the multicast group |
Definition at line 106 of file ipv4-route.cc.
References m_group, and NS_LOG_FUNCTION.
void ns3::Ipv4MulticastRoute::SetOrigin | ( | const Ipv4Address | origin | ) |
origin | Ipv4Address of the origin address |
Definition at line 120 of file ipv4-route.cc.
References m_origin, and NS_LOG_FUNCTION.
void ns3::Ipv4MulticastRoute::SetOutputTtl | ( | uint32_t | oif, |
uint32_t | ttl | ||
) |
oif | Outgoing interface index |
ttl | time-to-live for this route |
Definition at line 148 of file ipv4-route.cc.
References m_ttls, MAX_TTL, and NS_LOG_FUNCTION.
void ns3::Ipv4MulticastRoute::SetParent | ( | uint32_t | iif | ) |
iif | Parent (input interface) for this route |
Definition at line 134 of file ipv4-route.cc.
References m_parent, and NS_LOG_FUNCTION.
|
private |
|
private |
Source of packet.
Definition at line 163 of file ipv4-route.h.
Referenced by GetOrigin(), and SetOrigin().
|
private |
Source interface.
Definition at line 164 of file ipv4-route.h.
Referenced by GetParent(), and SetParent().
|
private |
Time to Live container.
Definition at line 165 of file ipv4-route.h.
Referenced by Ipv4MulticastRoute(), GetOutputTtlMap(), and SetOutputTtl().
|
static |
Maximum number of multicast interfaces on a router.
Definition at line 157 of file ipv4-route.h.
|
static |
Maximum time-to-live (TTL)
Definition at line 159 of file ipv4-route.h.
Referenced by ns3::Ipv4StaticRouting::LookupStatic(), and SetOutputTtl().