A record of an IPv6 multicast route. More...
#include "ipv6-routing-table-entry.h"
Public Member Functions | |
Ipv6MulticastRoutingTableEntry () | |
Constructor. | |
Ipv6MulticastRoutingTableEntry (const Ipv6MulticastRoutingTableEntry &route) | |
Copy constructor. | |
Ipv6MulticastRoutingTableEntry (const Ipv6MulticastRoutingTableEntry *route) | |
Copy constructor. | |
Ipv6Address | GetGroup () const |
Get the group. | |
uint32_t | GetInputInterface () const |
Get the input interface address. | |
uint32_t | GetNOutputInterfaces () const |
Get the number of output interfaces of this route. | |
Ipv6Address | GetOrigin () const |
Get the source of this route. | |
uint32_t | GetOutputInterface (uint32_t n) const |
Get a specified output interface. | |
std::vector< uint32_t > | GetOutputInterfaces () const |
Get all of the output interfaces of this route. | |
Static Public Member Functions | |
static Ipv6MulticastRoutingTableEntry | CreateMulticastRoute (Ipv6Address origin, Ipv6Address group, uint32_t inputInterface, std::vector< uint32_t > outputInterfaces) |
Create a multicast route. | |
Private Member Functions | |
Ipv6MulticastRoutingTableEntry (Ipv6Address origin, Ipv6Address group, uint32_t inputInterface, std::vector< uint32_t > outputInterfaces) | |
Constructor. | |
Private Attributes | |
Ipv6Address | m_group |
The IPv6 address of the group. | |
uint32_t | m_inputInterface |
The input interface. | |
Ipv6Address | m_origin |
The IPv6 address of the source. | |
std::vector< uint32_t > | m_outputInterfaces |
The output interfaces. | |
A record of an IPv6 multicast route.
Definition at line 287 of file ipv6-routing-table-entry.h.
ns3::Ipv6MulticastRoutingTableEntry::Ipv6MulticastRoutingTableEntry | ( | ) |
Constructor.
Definition at line 266 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 270 of file ipv6-routing-table-entry.cc.
ns3::Ipv6MulticastRoutingTableEntry::Ipv6MulticastRoutingTableEntry | ( | const Ipv6MulticastRoutingTableEntry * | route | ) |
Copy constructor.
route | the route to copy |
Definition at line 279 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 288 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 340 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 307 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 313 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 319 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 301 of file ipv6-routing-table-entry.cc.
References m_origin.
Referenced by ns3::Ipv6StaticRouting::LookupStatic(), ns3::operator<<(), and ns3::Ipv6StaticRouting::RemoveMulticastRoute().
Get a specified output interface.
n | index |
Definition at line 325 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 334 of file ipv6-routing-table-entry.cc.
References m_outputInterfaces.
|
private |
The IPv6 address of the group.
Definition at line 379 of file ipv6-routing-table-entry.h.
Referenced by GetGroup().
|
private |
The input interface.
Definition at line 384 of file ipv6-routing-table-entry.h.
Referenced by GetInputInterface().
|
private |
The IPv6 address of the source.
Definition at line 374 of file ipv6-routing-table-entry.h.
Referenced by GetOrigin().
|
private |
The output interfaces.
Definition at line 389 of file ipv6-routing-table-entry.h.
Referenced by GetNOutputInterfaces(), GetOutputInterface(), and GetOutputInterfaces().