A Discrete-Event Network Simulator
API
Loading...
Searching...
No Matches
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.
 
virtual ~Ipv6MulticastRoute ()
 Destructor.
 
Ipv6Address GetGroup () const
 Get IPv6 group.
 
Ipv6Address GetOrigin () const
 Get source address.
 
std::map< uint32_t, uint32_tGetOutputTtlMap () const
 
uint32_t GetParent () const
 Get parent for this route.
 
void SetGroup (const Ipv6Address group)
 Set IPv6 group.
 
void SetOrigin (const Ipv6Address origin)
 Set origin address.
 
void SetOutputTtl (uint32_t oif, uint32_t ttl)
 set output TTL for this route.
 
void SetParent (uint32_t iif)
 Set parent for this route.
 
- Public Member Functions inherited from ns3::SimpleRefCount< Ipv6MulticastRoute >
 SimpleRefCount ()
 Default constructor.
 
 SimpleRefCount (const SimpleRefCount &o)
 Copy constructor.
 
uint32_t GetReferenceCount () const
 Get the reference count of the object.
 
SimpleRefCountoperator= (const SimpleRefCount &o)
 Assignment operator.
 
void Ref () const
 Increment the reference count.
 
void Unref () const
 Decrement the reference count.
 

Static Public Attributes

static const uint32_t MAX_INTERFACES = 16
 Maximum number of multicast interfaces on a router.
 
static const uint32_t MAX_TTL = 255
 Maximum Time-To-Live (TTL).
 

Private Attributes

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

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: