A Discrete-Event Network Simulator
API
Loading...
Searching...
No Matches
ns3::Ipv6MulticastRoutingTableEntry Class Reference

A record of an IPv6 multicast route. More...

#include "ipv6-routing-table-entry.h"

+ Collaboration diagram for ns3::Ipv6MulticastRoutingTableEntry:

Public Member Functions

 Ipv6MulticastRoutingTableEntry ()
 Constructor.
 
 Ipv6MulticastRoutingTableEntry (const Ipv6MulticastRoutingTableEntry &route)
 Copy constructor.
 
 Ipv6MulticastRoutingTableEntry (const Ipv6MulticastRoutingTableEntry *route)
 Copy constructor.
 
Ipv6Address GetGroup () const
 Get the group.
 
uint32_t GetInputInterface () const
 Get the input interface address.
 
uint32_t GetNOutputInterfaces () const
 Get the number of output interfaces of this route.
 
Ipv6Address GetOrigin () const
 Get the source of this route.
 
uint32_t GetOutputInterface (uint32_t n) const
 Get a specified output interface.
 
std::vector< uint32_tGetOutputInterfaces () const
 Get all of the output interfaces of this route.
 

Static Public Member Functions

static Ipv6MulticastRoutingTableEntry CreateMulticastRoute (Ipv6Address origin, Ipv6Address group, uint32_t inputInterface, std::vector< uint32_t > outputInterfaces)
 Create a multicast route.
 

Private Member Functions

 Ipv6MulticastRoutingTableEntry (Ipv6Address origin, Ipv6Address group, uint32_t inputInterface, std::vector< uint32_t > outputInterfaces)
 Constructor.
 

Private Attributes

Ipv6Address m_group
 The IPv6 address of the group.
 
uint32_t m_inputInterface
 The input interface.
 
Ipv6Address m_origin
 The IPv6 address of the source.
 
std::vector< uint32_tm_outputInterfaces
 The output interfaces.
 

Detailed Description

A record of an IPv6 multicast route.

Definition at line 298 of file ipv6-routing-table-entry.h.

Constructor & Destructor Documentation

◆ Ipv6MulticastRoutingTableEntry() [1/4]

ns3::Ipv6MulticastRoutingTableEntry::Ipv6MulticastRoutingTableEntry ( )

Constructor.

Definition at line 277 of file ipv6-routing-table-entry.cc.

Referenced by CreateMulticastRoute().

+ Here is the caller graph for this function:

◆ Ipv6MulticastRoutingTableEntry() [2/4]

ns3::Ipv6MulticastRoutingTableEntry::Ipv6MulticastRoutingTableEntry ( const Ipv6MulticastRoutingTableEntry route)

Copy constructor.

Parameters
routethe route to copy

Definition at line 281 of file ipv6-routing-table-entry.cc.

◆ Ipv6MulticastRoutingTableEntry() [3/4]

ns3::Ipv6MulticastRoutingTableEntry::Ipv6MulticastRoutingTableEntry ( const Ipv6MulticastRoutingTableEntry route)

Copy constructor.

Parameters
routethe route to copy

Definition at line 290 of file ipv6-routing-table-entry.cc.

◆ Ipv6MulticastRoutingTableEntry() [4/4]

ns3::Ipv6MulticastRoutingTableEntry::Ipv6MulticastRoutingTableEntry ( Ipv6Address  origin,
Ipv6Address  group,
uint32_t  inputInterface,
std::vector< uint32_t outputInterfaces 
)
private

Constructor.

Parameters
originIPv6 address of the source
groupIPv6 address of the group
inputInterfaceinterface number
outputInterfaceslist of output interface number

Definition at line 299 of file ipv6-routing-table-entry.cc.

Member Function Documentation

◆ CreateMulticastRoute()

Ipv6MulticastRoutingTableEntry ns3::Ipv6MulticastRoutingTableEntry::CreateMulticastRoute ( Ipv6Address  origin,
Ipv6Address  group,
uint32_t  inputInterface,
std::vector< uint32_t outputInterfaces 
)
static

Create a multicast route.

Parameters
originIPv6 address of the origin source
groupIpv6Address of the group
inputInterfaceinterface number
outputInterfaceslist of output interface number
Returns
a multicast route

Definition at line 351 of file ipv6-routing-table-entry.cc.

References Ipv6MulticastRoutingTableEntry().

Referenced by ns3::Ipv6StaticRouting::AddMulticastRoute().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ GetGroup()

Ipv6Address ns3::Ipv6MulticastRoutingTableEntry::GetGroup ( ) const

Get the group.

Returns
IPv6 address of the multicast group of this route

Definition at line 318 of file ipv6-routing-table-entry.cc.

References m_group.

Referenced by ns3::Ipv6StaticRouting::LookupStatic(), ns3::operator<<(), and ns3::Ipv6StaticRouting::RemoveMulticastRoute().

+ Here is the caller graph for this function:

◆ GetInputInterface()

uint32_t ns3::Ipv6MulticastRoutingTableEntry::GetInputInterface ( ) const

Get the input interface address.

Returns
input interface index

Definition at line 324 of file ipv6-routing-table-entry.cc.

References m_inputInterface.

Referenced by ns3::Ipv6StaticRouting::LookupStatic(), ns3::operator<<(), and ns3::Ipv6StaticRouting::RemoveMulticastRoute().

+ Here is the caller graph for this function:

◆ GetNOutputInterfaces()

uint32_t ns3::Ipv6MulticastRoutingTableEntry::GetNOutputInterfaces ( ) const

Get the number of output interfaces of this route.

Returns
number of output interfaces of this route.

Definition at line 330 of file ipv6-routing-table-entry.cc.

References m_outputInterfaces.

Referenced by ns3::Ipv6StaticRouting::LookupStatic(), and ns3::operator<<().

+ Here is the caller graph for this function:

◆ GetOrigin()

Ipv6Address ns3::Ipv6MulticastRoutingTableEntry::GetOrigin ( ) const

Get the source of this route.

Returns
IPv6 address of the source of this route

Definition at line 312 of file ipv6-routing-table-entry.cc.

References m_origin.

Referenced by ns3::Ipv6StaticRouting::LookupStatic(), ns3::operator<<(), and ns3::Ipv6StaticRouting::RemoveMulticastRoute().

+ Here is the caller graph for this function:

◆ GetOutputInterface()

uint32_t ns3::Ipv6MulticastRoutingTableEntry::GetOutputInterface ( uint32_t  n) const

Get a specified output interface.

Parameters
nindex
Returns
a specified output interface

Definition at line 336 of file ipv6-routing-table-entry.cc.

References m_outputInterfaces, and NS_ASSERT_MSG.

Referenced by ns3::Ipv6StaticRouting::LookupStatic(), and ns3::operator<<().

+ Here is the caller graph for this function:

◆ GetOutputInterfaces()

std::vector< uint32_t > ns3::Ipv6MulticastRoutingTableEntry::GetOutputInterfaces ( ) const

Get all of the output interfaces of this route.

Returns
a vector of all output interfaces of this route

Definition at line 345 of file ipv6-routing-table-entry.cc.

References m_outputInterfaces.

Member Data Documentation

◆ m_group

Ipv6Address ns3::Ipv6MulticastRoutingTableEntry::m_group
private

The IPv6 address of the group.

Definition at line 390 of file ipv6-routing-table-entry.h.

Referenced by GetGroup().

◆ m_inputInterface

uint32_t ns3::Ipv6MulticastRoutingTableEntry::m_inputInterface
private

The input interface.

Definition at line 395 of file ipv6-routing-table-entry.h.

Referenced by GetInputInterface().

◆ m_origin

Ipv6Address ns3::Ipv6MulticastRoutingTableEntry::m_origin
private

The IPv6 address of the source.

Definition at line 385 of file ipv6-routing-table-entry.h.

Referenced by GetOrigin().

◆ m_outputInterfaces

std::vector<uint32_t> ns3::Ipv6MulticastRoutingTableEntry::m_outputInterfaces
private

The output interfaces.

Definition at line 400 of file ipv6-routing-table-entry.h.

Referenced by GetNOutputInterfaces(), GetOutputInterface(), and GetOutputInterfaces().


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