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

IPv6 multicast route entry. More...

#include "ipv6-route.h"

+ Inheritance diagram for ns3::Ipv6MulticastRoute:
+ Collaboration diagram for ns3::Ipv6MulticastRoute:

Public Member Functions

 Ipv6MulticastRoute ()
 Constructor. More...
 
virtual ~Ipv6MulticastRoute ()
 Destructor. More...
 
Ipv6Address GetGroup () const
 Get IPv6 group. More...
 
Ipv6Address GetOrigin () const
 Get source address. More...
 
std::map< uint32_t, uint32_t > GetOutputTtlMap () const
 
uint32_t GetParent () const
 Get parent for this route. More...
 
void SetGroup (const Ipv6Address group)
 Set IPv6 group. More...
 
void SetOrigin (const Ipv6Address origin)
 Set origin address. More...
 
void SetOutputTtl (uint32_t oif, uint32_t ttl)
 set output TTL for this route. More...
 
void SetParent (uint32_t iif)
 Set parent for this route. More...
 
- Public Member Functions inherited from ns3::SimpleRefCount< Ipv6MulticastRoute >
 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 = 16
 Maximum number of multicast interfaces on a router. More...
 
static const uint32_t MAX_TTL = 255
 Maximum Time-To-Live (TTL). More...
 

Private Attributes

Ipv6Address m_group
 IPv6 group. More...
 
Ipv6Address m_origin
 IPv6 origin (source). More...
 
uint32_t m_parent
 Source interface. More...
 
std::map< uint32_t, uint32_t > m_ttls
 TTLs. More...
 

Detailed Description

IPv6 multicast route entry.

Definition at line 137 of file ipv6-route.h.

Constructor & Destructor Documentation

◆ Ipv6MulticastRoute()

ns3::Ipv6MulticastRoute::Ipv6MulticastRoute ( )

Constructor.

Definition at line 93 of file ipv6-route.cc.

References m_ttls.

◆ ~Ipv6MulticastRoute()

ns3::Ipv6MulticastRoute::~Ipv6MulticastRoute ( )
virtual

Destructor.

Definition at line 98 of file ipv6-route.cc.

Member Function Documentation

◆ GetGroup()

Ipv6Address ns3::Ipv6MulticastRoute::GetGroup ( ) const

Get IPv6 group.

Returns
Ipv6Address of the multicast group

Definition at line 109 of file ipv6-route.cc.

References m_group.

Referenced by ns3::operator<<().

+ Here is the caller graph for this function:

◆ GetOrigin()

Ipv6Address ns3::Ipv6MulticastRoute::GetOrigin ( ) const

Get source address.

Returns
Ipv6Address of the origin address

Definition at line 121 of file ipv6-route.cc.

References m_origin.

Referenced by ns3::operator<<().

+ Here is the caller graph for this function:

◆ GetOutputTtlMap()

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

Definition at line 157 of file ipv6-route.cc.

References m_ttls.

◆ GetParent()

uint32_t ns3::Ipv6MulticastRoute::GetParent ( ) const

Get parent for this route.

Returns
Parent (input interface) for this route

Definition at line 133 of file ipv6-route.cc.

References m_parent.

Referenced by ns3::operator<<().

+ Here is the caller graph for this function:

◆ SetGroup()

void ns3::Ipv6MulticastRoute::SetGroup ( const Ipv6Address  group)

Set IPv6 group.

Parameters
groupIpv6Address of the multicast group

Definition at line 103 of file ipv6-route.cc.

References m_group.

◆ SetOrigin()

void ns3::Ipv6MulticastRoute::SetOrigin ( const Ipv6Address  origin)

Set origin address.

Parameters
originIpv6Address of the origin address

Definition at line 115 of file ipv6-route.cc.

References m_origin.

◆ SetOutputTtl()

void ns3::Ipv6MulticastRoute::SetOutputTtl ( uint32_t  oif,
uint32_t  ttl 
)

set output TTL for this route.

Parameters
oifOutgoing interface index
ttltime-to-live for this route

Definition at line 139 of file ipv6-route.cc.

References m_ttls, and MAX_TTL.

◆ SetParent()

void ns3::Ipv6MulticastRoute::SetParent ( uint32_t  iif)

Set parent for this route.

Parameters
iifParent (input interface) for this route

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

References m_parent.

Member Data Documentation

◆ m_group

Ipv6Address ns3::Ipv6MulticastRoute::m_group
private

IPv6 group.

Definition at line 212 of file ipv6-route.h.

Referenced by GetGroup(), and SetGroup().

◆ m_origin

Ipv6Address ns3::Ipv6MulticastRoute::m_origin
private

IPv6 origin (source).

Definition at line 217 of file ipv6-route.h.

Referenced by GetOrigin(), and SetOrigin().

◆ m_parent

uint32_t ns3::Ipv6MulticastRoute::m_parent
private

Source interface.

Definition at line 222 of file ipv6-route.h.

Referenced by GetParent(), and SetParent().

◆ m_ttls

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

TTLs.

Definition at line 227 of file ipv6-route.h.

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

◆ MAX_INTERFACES

const uint32_t ns3::Ipv6MulticastRoute::MAX_INTERFACES = 16
static

Maximum number of multicast interfaces on a router.

Definition at line 143 of file ipv6-route.h.

◆ MAX_TTL

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

Maximum Time-To-Live (TTL).

Definition at line 148 of file ipv6-route.h.

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


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