A record of an IPv6 multicast route. More...
#include "ipv6-routing-table-entry.h"
Public Member Functions | |
Ipv6MulticastRoutingTableEntry () | |
Constructor. More... | |
Ipv6MulticastRoutingTableEntry (const Ipv6MulticastRoutingTableEntry &route) | |
Copy constructor. More... | |
Ipv6MulticastRoutingTableEntry (const Ipv6MulticastRoutingTableEntry *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. More... | |
uint32_t | m_inputInterface |
The input interface. More... | |
Ipv6Address | m_origin |
The IPv6 address of the source. More... | |
std::vector< uint32_t > | m_outputInterfaces |
The output interfaces. More... | |
A record of an IPv6 multicast route.
Definition at line 298 of file ipv6-routing-table-entry.h.
ns3::Ipv6MulticastRoutingTableEntry::Ipv6MulticastRoutingTableEntry | ( | ) |
Constructor.
Definition at line 277 of file ipv6-routing-table-entry.cc.
Referenced by CreateMulticastRoute().
ns3::Ipv6MulticastRoutingTableEntry::Ipv6MulticastRoutingTableEntry | ( | const Ipv6MulticastRoutingTableEntry & | route | ) |
Copy constructor.
route | the route to copy |
Definition at line 281 of file ipv6-routing-table-entry.cc.
ns3::Ipv6MulticastRoutingTableEntry::Ipv6MulticastRoutingTableEntry | ( | const Ipv6MulticastRoutingTableEntry * | route | ) |
Copy constructor.
route | the route to copy |
Definition at line 290 of file ipv6-routing-table-entry.cc.
|
private |
Constructor.
origin | IPv6 address of the source |
group | IPv6 address of the group |
inputInterface | interface number |
outputInterfaces | list of output interface number |
Definition at line 299 of file ipv6-routing-table-entry.cc.
|
static |
Create a multicast route.
origin | IPv6 address of the origin source |
group | Ipv6Address of the group |
inputInterface | interface number |
outputInterfaces | list of output interface number |
Definition at line 351 of file ipv6-routing-table-entry.cc.
References Ipv6MulticastRoutingTableEntry().
Referenced by ns3::Ipv6StaticRouting::AddMulticastRoute().
Ipv6Address ns3::Ipv6MulticastRoutingTableEntry::GetGroup | ( | ) | const |
Get the group.
Definition at line 318 of file ipv6-routing-table-entry.cc.
References m_group.
Referenced by ns3::Ipv6StaticRouting::LookupStatic(), ns3::operator<<(), and ns3::Ipv6StaticRouting::RemoveMulticastRoute().
uint32_t ns3::Ipv6MulticastRoutingTableEntry::GetInputInterface | ( | ) | const |
Get the input interface address.
Definition at line 324 of file ipv6-routing-table-entry.cc.
References m_inputInterface.
Referenced by ns3::Ipv6StaticRouting::LookupStatic(), ns3::operator<<(), and ns3::Ipv6StaticRouting::RemoveMulticastRoute().
uint32_t ns3::Ipv6MulticastRoutingTableEntry::GetNOutputInterfaces | ( | ) | const |
Get the number of output interfaces of this route.
Definition at line 330 of file ipv6-routing-table-entry.cc.
References m_outputInterfaces.
Referenced by ns3::Ipv6StaticRouting::LookupStatic(), and ns3::operator<<().
Ipv6Address ns3::Ipv6MulticastRoutingTableEntry::GetOrigin | ( | ) | const |
Get the source of this route.
Definition at line 312 of file ipv6-routing-table-entry.cc.
References m_origin.
Referenced by ns3::Ipv6StaticRouting::LookupStatic(), ns3::operator<<(), and ns3::Ipv6StaticRouting::RemoveMulticastRoute().
uint32_t ns3::Ipv6MulticastRoutingTableEntry::GetOutputInterface | ( | uint32_t | n | ) | const |
Get a specified output interface.
n | index |
Definition at line 336 of file ipv6-routing-table-entry.cc.
References m_outputInterfaces, and NS_ASSERT_MSG.
Referenced by ns3::Ipv6StaticRouting::LookupStatic(), and ns3::operator<<().
std::vector< uint32_t > ns3::Ipv6MulticastRoutingTableEntry::GetOutputInterfaces | ( | ) | const |
Get all of the output interfaces of this route.
Definition at line 345 of file ipv6-routing-table-entry.cc.
References m_outputInterfaces.
|
private |
The IPv6 address of the group.
Definition at line 390 of file ipv6-routing-table-entry.h.
Referenced by GetGroup().
|
private |
The input interface.
Definition at line 395 of file ipv6-routing-table-entry.h.
Referenced by GetInputInterface().
|
private |
The IPv6 address of the source.
Definition at line 385 of file ipv6-routing-table-entry.h.
Referenced by GetOrigin().
|
private |
The output interfaces.
Definition at line 400 of file ipv6-routing-table-entry.h.
Referenced by GetNOutputInterfaces(), GetOutputInterface(), and GetOutputInterfaces().