A Discrete-Event Network Simulator
API
Loading...
Searching...
No Matches
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.
 
 Ipv4MulticastRoutingTableEntry (const Ipv4MulticastRoutingTableEntry &route)
 Copy Constructor.
 
 Ipv4MulticastRoutingTableEntry (const Ipv4MulticastRoutingTableEntry *route)
 Copy Constructor.
 
Ipv4Address GetGroup () const
 
uint32_t GetInputInterface () const
 
uint32_t GetNOutputInterfaces () const
 
Ipv4Address GetOrigin () const
 
uint32_t GetOutputInterface (uint32_t n) const
 
std::vector< uint32_tGetOutputInterfaces () 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.
 

Private Attributes

Ipv4Address m_group
 destination address
 
uint32_t m_inputInterface
 input interface
 
Ipv4Address m_origin
 source address
 
std::vector< uint32_tm_outputInterfaces
 output interfaces
 

Detailed Description

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

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

Constructor & Destructor Documentation

◆ Ipv4MulticastRoutingTableEntry() [1/4]

ns3::Ipv4MulticastRoutingTableEntry::Ipv4MulticastRoutingTableEntry ( )

This constructor does nothing.

Definition at line 241 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 246 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 256 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 266 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 325 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 287 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 294 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 301 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 280 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 308 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 318 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 257 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 258 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 256 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: