A Discrete-Event Network Simulator
API
ns3::Ipv4MulticastRoute Class Reference

Ipv4 multicast route cache entry (similar to Linux struct mfc_cache) More...

#include "ipv4-route.h"

+ Inheritance diagram for ns3::Ipv4MulticastRoute:
+ Collaboration diagram for ns3::Ipv4MulticastRoute:

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...
 
SimpleRefCountoperator= (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...
 

Detailed Description

Ipv4 multicast route cache entry (similar to Linux struct mfc_cache)

Definition at line 114 of file ipv4-route.h.

Constructor & Destructor Documentation

◆ Ipv4MulticastRoute()

ns3::Ipv4MulticastRoute::Ipv4MulticastRoute ( )

Definition at line 99 of file ipv4-route.cc.

References m_ttls, and NS_LOG_FUNCTION.

Member Function Documentation

◆ GetGroup()

Ipv4Address ns3::Ipv4MulticastRoute::GetGroup ( ) const
Returns
Ipv4Address of the multicast group

Definition at line 113 of file ipv4-route.cc.

References m_group, and NS_LOG_FUNCTION.

◆ GetOrigin()

Ipv4Address ns3::Ipv4MulticastRoute::GetOrigin ( ) const
Returns
Ipv4Address of the origin address

Definition at line 127 of file ipv4-route.cc.

References m_origin, and NS_LOG_FUNCTION.

◆ GetOutputTtlMap()

std::map< uint32_t, uint32_t > ns3::Ipv4MulticastRoute::GetOutputTtlMap ( ) const
Returns
map of output interface Ids and TTLs for this route

Definition at line 167 of file ipv4-route.cc.

References m_ttls, and NS_LOG_FUNCTION.

◆ GetParent()

uint32_t ns3::Ipv4MulticastRoute::GetParent ( ) const
Returns
Parent (input interface) for this route

Definition at line 141 of file ipv4-route.cc.

References m_parent, and NS_LOG_FUNCTION.

◆ SetGroup()

void ns3::Ipv4MulticastRoute::SetGroup ( const Ipv4Address  group)
Parameters
groupIpv4Address of the multicast group

Definition at line 106 of file ipv4-route.cc.

References m_group, and NS_LOG_FUNCTION.

◆ SetOrigin()

void ns3::Ipv4MulticastRoute::SetOrigin ( const Ipv4Address  origin)
Parameters
originIpv4Address of the origin address

Definition at line 120 of file ipv4-route.cc.

References m_origin, and NS_LOG_FUNCTION.

◆ SetOutputTtl()

void ns3::Ipv4MulticastRoute::SetOutputTtl ( uint32_t  oif,
uint32_t  ttl 
)
Parameters
oifOutgoing interface index
ttltime-to-live for this route

Definition at line 148 of file ipv4-route.cc.

References m_ttls, MAX_TTL, and NS_LOG_FUNCTION.

◆ SetParent()

void ns3::Ipv4MulticastRoute::SetParent ( uint32_t  iif)
Parameters
iifParent (input interface) for this route

Definition at line 134 of file ipv4-route.cc.

References m_parent, and NS_LOG_FUNCTION.

Member Data Documentation

◆ m_group

Ipv4Address ns3::Ipv4MulticastRoute::m_group
private

Group.

Definition at line 162 of file ipv4-route.h.

Referenced by GetGroup(), and SetGroup().

◆ m_origin

Ipv4Address ns3::Ipv4MulticastRoute::m_origin
private

Source of packet.

Definition at line 163 of file ipv4-route.h.

Referenced by GetOrigin(), and SetOrigin().

◆ m_parent

uint32_t ns3::Ipv4MulticastRoute::m_parent
private

Source interface.

Definition at line 164 of file ipv4-route.h.

Referenced by GetParent(), and SetParent().

◆ m_ttls

std::map<uint32_t, uint32_t> ns3::Ipv4MulticastRoute::m_ttls
private

Time to Live container.

Definition at line 165 of file ipv4-route.h.

Referenced by Ipv4MulticastRoute(), GetOutputTtlMap(), and SetOutputTtl().

◆ MAX_INTERFACES

const uint32_t ns3::Ipv4MulticastRoute::MAX_INTERFACES
static
Initial value:
=
16

Maximum number of multicast interfaces on a router.

Definition at line 157 of file ipv4-route.h.

◆ MAX_TTL

const uint32_t ns3::Ipv4MulticastRoute::MAX_TTL = 255
static

Maximum time-to-live (TTL)

Definition at line 159 of file ipv4-route.h.

Referenced by ns3::Ipv4StaticRouting::LookupStatic(), and SetOutputTtl().


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