A Discrete-Event Network Simulator
API
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
ns3::Ipv6MulticastRoutingTableEntry Class Reference

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

#include <ipv6-routing-table-entry.h>

Public Member Functions

 Ipv6MulticastRoutingTableEntry ()
 Constructor.
 
 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.
 
uint32_t m_inputInterface
 The input interface.
 
Ipv6Address m_origin
 The IPv6 address of the source.
 
std::vector< uint32_t > m_outputInterfaces
 The output interfaces.
 

Detailed Description

A record of an IPv6 multicast route.

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

Constructor & Destructor Documentation

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

Copy constructor.

Parameters
routethe route to copy

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

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

Copy constructor.

Parameters
routethe route to copy

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

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

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().

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(), and ns3::Ipv6StaticRouting::RemoveMulticastRoute().

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(), and ns3::Ipv6StaticRouting::RemoveMulticastRoute().

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().

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(), and ns3::Ipv6StaticRouting::RemoveMulticastRoute().

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, and NS_ASSERT_MSG.

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

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.


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