A Discrete-Event Network Simulator
API
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
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 (Ipv4MulticastRoutingTableEntry const &route)
 Copy Constructor.
 Ipv4MulticastRoutingTableEntry (Ipv4MulticastRoutingTableEntry const *route)
 Copy Constructor.
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)

Private Attributes

Ipv4Address m_group
uint32_t m_inputInterface
Ipv4Address m_origin
std::vector< uint32_t > m_outputInterfaces

Detailed Description

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

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

Constructor & Destructor Documentation

ns3::Ipv4MulticastRoutingTableEntry::Ipv4MulticastRoutingTableEntry ( )

This constructor does nothing.

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

Referenced by CreateMulticastRoute().

+ Here is the caller graph for this function:

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

Copy Constructor.

Parameters
routeThe route to copy

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

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

Copy Constructor.

Parameters
routeThe route to copy

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

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

Member Function Documentation

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 314 of file ipv4-routing-table-entry.cc.

References Ipv4MulticastRoutingTableEntry().

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

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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

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

References m_group.

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

+ Here is the caller graph for this function:

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

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

References m_inputInterface.

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

+ Here is the caller graph for this function:

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

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

References m_outputInterfaces.

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

+ Here is the caller graph for this function:

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

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

References m_origin.

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

+ Here is the caller graph for this function:

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

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

References m_outputInterfaces, and NS_ASSERT_MSG.

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

+ Here is the caller graph for this function:

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

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

References m_outputInterfaces.

Member Data Documentation

Ipv4Address ns3::Ipv4MulticastRoutingTableEntry::m_group
private

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

Referenced by GetGroup(), and Ipv4MulticastRoutingTableEntry().

uint32_t ns3::Ipv4MulticastRoutingTableEntry::m_inputInterface
private
Ipv4Address ns3::Ipv4MulticastRoutingTableEntry::m_origin
private

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

Referenced by GetOrigin(), and Ipv4MulticastRoutingTableEntry().

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

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