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

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

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

Public Member Functions

 Ipv4MulticastRoutingTableEntry ()
 This constructor does nothing. More...
 
 Ipv4MulticastRoutingTableEntry (Ipv4MulticastRoutingTableEntry const &route)
 Copy Constructor. More...
 
 Ipv4MulticastRoutingTableEntry (Ipv4MulticastRoutingTableEntry const *route)
 Copy Constructor. More...
 
Ipv4Address GetGroup (void) const
 
uint32_t GetInputInterface (void) const
 
uint32_t GetNOutputInterfaces (void) const
 
Ipv4Address GetOrigin (void) const
 
uint32_t GetOutputInterface (uint32_t n) const
 
std::vector< uint32_t > GetOutputInterfaces (void) 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 204 of file ipv4-routing-table-entry.h.

Constructor & Destructor Documentation

◆ Ipv4MulticastRoutingTableEntry() [1/4]

ns3::Ipv4MulticastRoutingTableEntry::Ipv4MulticastRoutingTableEntry ( )

This constructor does nothing.

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

References NS_LOG_FUNCTION.

Referenced by CreateMulticastRoute().

◆ Ipv4MulticastRoutingTableEntry() [2/4]

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

Copy Constructor.

Parameters
routeThe route to copy

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

References NS_LOG_FUNCTION.

◆ Ipv4MulticastRoutingTableEntry() [3/4]

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

Copy Constructor.

Parameters
routeThe route to copy

Definition at line 285 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 295 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 354 of file ipv4-routing-table-entry.cc.

References Ipv4MulticastRoutingTableEntry(), and NS_LOG_FUNCTION_NOARGS.

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

◆ GetGroup()

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

Definition at line 316 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().

◆ GetInputInterface()

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

Definition at line 323 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().

◆ GetNOutputInterfaces()

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

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

References m_outputInterfaces, and NS_LOG_FUNCTION.

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

◆ GetOrigin()

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

Definition at line 309 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().

◆ GetOutputInterface()

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

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

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

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

◆ GetOutputInterfaces()

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

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

References m_outputInterfaces, and NS_LOG_FUNCTION.

Referenced by ns3::operator==().

Member Data Documentation

◆ m_group

Ipv4Address ns3::Ipv4MulticastRoutingTableEntry::m_group
private

destination address

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

Referenced by GetGroup(), and Ipv4MulticastRoutingTableEntry().

◆ m_inputInterface

uint32_t ns3::Ipv4MulticastRoutingTableEntry::m_inputInterface
private

input interface

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

Referenced by GetInputInterface(), and Ipv4MulticastRoutingTableEntry().

◆ m_origin

Ipv4Address ns3::Ipv4MulticastRoutingTableEntry::m_origin
private

source address

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

Referenced by GetOrigin(), and Ipv4MulticastRoutingTableEntry().

◆ m_outputInterfaces

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

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