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

A record of an IPv4 multicast route for Ipv4GlobalRouting and Ipv4StaticRouting. More...

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

+ Collaboration diagram for ns3::Ipv4MulticastRoutingTableEntry:

Public Member Functions

 Ipv4MulticastRoutingTableEntry ()
 This constructor does nothing. More...
 
 Ipv4MulticastRoutingTableEntry (const Ipv4MulticastRoutingTableEntry &route)
 Copy Constructor. More...
 
 Ipv4MulticastRoutingTableEntry (const Ipv4MulticastRoutingTableEntry *route)
 Copy Constructor. More...
 
Ipv4Address GetGroup () const
 
uint32_t GetInputInterface () const
 
uint32_t GetNOutputInterfaces () const
 
Ipv4Address GetOrigin () const
 
uint32_t GetOutputInterface (uint32_t n) const
 
std::vector< uint32_t > GetOutputInterfaces () const
 

Static Public Member Functions

static Ipv4MulticastRoutingTableEntry CreateMulticastRoute (Ipv4Address origin, Ipv4Address group, uint32_t inputInterface, std::vector< uint32_t > outputInterfaces)
 

Private Member Functions

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

Private Attributes

Ipv4Address m_group
 destination address More...
 
uint32_t m_inputInterface
 input interface More...
 
Ipv4Address m_origin
 source address More...
 
std::vector< uint32_t > m_outputInterfaces
 output interfaces More...
 

Detailed Description

A record of an IPv4 multicast route for Ipv4GlobalRouting and Ipv4StaticRouting.

Definition at line 198 of file ipv4-routing-table-entry.h.

Constructor & Destructor Documentation

◆ Ipv4MulticastRoutingTableEntry() [1/4]

ns3::Ipv4MulticastRoutingTableEntry::Ipv4MulticastRoutingTableEntry ( )

This constructor does nothing.

Definition at line 252 of file ipv4-routing-table-entry.cc.

References NS_LOG_FUNCTION.

Referenced by CreateMulticastRoute().

+ Here is the caller graph for this function:

◆ Ipv4MulticastRoutingTableEntry() [2/4]

ns3::Ipv4MulticastRoutingTableEntry::Ipv4MulticastRoutingTableEntry ( const Ipv4MulticastRoutingTableEntry route)

Copy Constructor.

Parameters
routeThe route to copy

Definition at line 257 of file ipv4-routing-table-entry.cc.

References NS_LOG_FUNCTION.

◆ Ipv4MulticastRoutingTableEntry() [3/4]

ns3::Ipv4MulticastRoutingTableEntry::Ipv4MulticastRoutingTableEntry ( const Ipv4MulticastRoutingTableEntry route)

Copy Constructor.

Parameters
routeThe route to copy

Definition at line 267 of file ipv4-routing-table-entry.cc.

References NS_LOG_FUNCTION.

◆ Ipv4MulticastRoutingTableEntry() [4/4]

ns3::Ipv4MulticastRoutingTableEntry::Ipv4MulticastRoutingTableEntry ( Ipv4Address  origin,
Ipv4Address  group,
uint32_t  inputInterface,
std::vector< uint32_t >  outputInterfaces 
)
private

Constructor.

Parameters
originsource address
groupdestination address
inputInterfaceinput interface
outputInterfacesoutput interfaces

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

References m_group, m_inputInterface, m_origin, m_outputInterfaces, and NS_LOG_FUNCTION.

Member Function Documentation

◆ CreateMulticastRoute()

Ipv4MulticastRoutingTableEntry ns3::Ipv4MulticastRoutingTableEntry::CreateMulticastRoute ( Ipv4Address  origin,
Ipv4Address  group,
uint32_t  inputInterface,
std::vector< uint32_t >  outputInterfaces 
)
static
Returns
Ipv4MulticastRoutingTableEntry corresponding to the input parameters.
Parameters
originSource address for the multicast route
groupGroup destination address for the multicast route
inputInterfaceInput interface that multicast datagram must be received on
outputInterfacesvector of output interfaces to copy and forward the datagram to

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

References Ipv4MulticastRoutingTableEntry(), and NS_LOG_FUNCTION.

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

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

◆ GetGroup()

Ipv4Address ns3::Ipv4MulticastRoutingTableEntry::GetGroup ( ) const
Returns
The IPv4 address of the multicast group of this route

Definition at line 298 of file ipv4-routing-table-entry.cc.

References m_group, and NS_LOG_FUNCTION.

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

+ Here is the caller graph for this function:

◆ GetInputInterface()

uint32_t ns3::Ipv4MulticastRoutingTableEntry::GetInputInterface ( ) const
Returns
The IPv4 address of the input interface of this route

Definition at line 305 of file ipv4-routing-table-entry.cc.

References m_inputInterface, and NS_LOG_FUNCTION.

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

+ Here is the caller graph for this function:

◆ GetNOutputInterfaces()

uint32_t ns3::Ipv4MulticastRoutingTableEntry::GetNOutputInterfaces ( ) const
Returns
The number of output interfaces of this route

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

References m_outputInterfaces, and NS_LOG_FUNCTION.

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

+ Here is the caller graph for this function:

◆ GetOrigin()

Ipv4Address ns3::Ipv4MulticastRoutingTableEntry::GetOrigin ( ) const
Returns
The IPv4 address of the source of this route

Definition at line 291 of file ipv4-routing-table-entry.cc.

References m_origin, and NS_LOG_FUNCTION.

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

+ Here is the caller graph for this function:

◆ GetOutputInterface()

uint32_t ns3::Ipv4MulticastRoutingTableEntry::GetOutputInterface ( uint32_t  n) const
Parameters
ninterface index
Returns
A specified output interface.

Definition at line 319 of file ipv4-routing-table-entry.cc.

References m_outputInterfaces, NS_ASSERT_MSG, and NS_LOG_FUNCTION.

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

+ Here is the caller graph for this function:

◆ GetOutputInterfaces()

std::vector< uint32_t > ns3::Ipv4MulticastRoutingTableEntry::GetOutputInterfaces ( ) const
Returns
A vector of all of the output interfaces of this route.

Definition at line 329 of file ipv4-routing-table-entry.cc.

References m_outputInterfaces, and NS_LOG_FUNCTION.

Referenced by ns3::operator==().

+ Here is the caller graph for this function:

Member Data Documentation

◆ m_group

Ipv4Address ns3::Ipv4MulticastRoutingTableEntry::m_group
private

destination address

Definition at line 268 of file ipv4-routing-table-entry.h.

Referenced by Ipv4MulticastRoutingTableEntry(), and GetGroup().

◆ m_inputInterface

uint32_t ns3::Ipv4MulticastRoutingTableEntry::m_inputInterface
private

input interface

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

Referenced by Ipv4MulticastRoutingTableEntry(), and GetInputInterface().

◆ m_origin

Ipv4Address ns3::Ipv4MulticastRoutingTableEntry::m_origin
private

source address

Definition at line 267 of file ipv4-routing-table-entry.h.

Referenced by Ipv4MulticastRoutingTableEntry(), and GetOrigin().

◆ m_outputInterfaces

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

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