A Discrete-Event Network Simulator
API
Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes | List of all members
ns3::Ipv6MulticastRoutingTableEntry Class Reference

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

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

Public Member Functions

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

Static Public Member Functions

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

Private Member Functions

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

Private Attributes

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

Detailed Description

A record of an IPv6 multicast route.

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

Constructor & Destructor Documentation

◆ Ipv6MulticastRoutingTableEntry() [1/4]

ns3::Ipv6MulticastRoutingTableEntry::Ipv6MulticastRoutingTableEntry ( )

Constructor.

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

Referenced by CreateMulticastRoute().

◆ Ipv6MulticastRoutingTableEntry() [2/4]

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

Copy constructor.

Parameters
routethe route to copy

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

◆ Ipv6MulticastRoutingTableEntry() [3/4]

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

Copy constructor.

Parameters
routethe route to copy

Definition at line 262 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 270 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 310 of file ipv6-routing-table-entry.cc.

References Ipv6MulticastRoutingTableEntry().

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

◆ GetGroup()

Ipv6Address ns3::Ipv6MulticastRoutingTableEntry::GetGroup ( void  ) const

Get the group.

Returns
IPv6 address of the multicast group of this route

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

References m_group.

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

◆ GetInputInterface()

uint32_t ns3::Ipv6MulticastRoutingTableEntry::GetInputInterface ( void  ) const

Get the input interface address.

Returns
input interface index

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

References m_inputInterface.

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

◆ GetNOutputInterfaces()

uint32_t ns3::Ipv6MulticastRoutingTableEntry::GetNOutputInterfaces ( void  ) const

Get the number of output interfaces of this route.

Returns
number of output interfaces of this route.

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

References m_outputInterfaces.

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

◆ GetOrigin()

Ipv6Address ns3::Ipv6MulticastRoutingTableEntry::GetOrigin ( void  ) const

Get the source of this route.

Returns
IPv6 address of the source of this route

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

References m_origin.

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

◆ 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 298 of file ipv6-routing-table-entry.cc.

References m_outputInterfaces, sample-rng-plot::n, and NS_ASSERT_MSG().

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

◆ GetOutputInterfaces()

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

Get all of the output interfaces of this route.

Returns
a vector of all output interfaces of this route

Definition at line 305 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 363 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 368 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 358 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 373 of file ipv6-routing-table-entry.h.

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


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