11#include "ns3/assert.h"
21 : m_dest(route.m_dest),
22 m_destNetworkPrefix(route.m_destNetworkPrefix),
23 m_gateway(route.m_gateway),
24 m_interface(route.m_interface),
25 m_prefixToUse(route.m_prefixToUse)
30 : m_dest(route->m_dest),
31 m_destNetworkPrefix(route->m_destNetworkPrefix),
32 m_gateway(route->m_gateway),
33 m_interface(route->m_interface),
34 m_prefixToUse(route->m_prefixToUse)
44 m_interface(interface),
53 m_interface(interface),
64 m_destNetworkPrefix(networkPrefix),
66 m_interface(interface),
67 m_prefixToUse(prefixToUse)
76 m_destNetworkPrefix(networkPrefix),
78 m_interface(interface),
88 m_destNetworkPrefix(networkPrefix),
90 m_interface(interface),
91 m_prefixToUse(prefixToUse)
99 m_destNetworkPrefix(networkPrefix),
101 m_interface(interface),
272 : m_origin(route.m_origin),
273 m_group(route.m_group),
274 m_inputInterface(route.m_inputInterface),
275 m_outputInterfaces(route.m_outputInterfaces)
281 : m_origin(route->m_origin),
282 m_group(route->m_group),
283 m_inputInterface(route->m_inputInterface),
284 m_outputInterfaces(route->m_outputInterfaces)
292 std::vector<uint32_t> outputInterfaces)
295 m_inputInterface(inputInterface),
296 m_outputInterfaces(outputInterfaces)
328 "Ipv6MulticastRoutingTableEntry::GetOutputInterface () : index out of bounds");
343 std::vector<uint32_t> outputInterfaces)
352 <<
", input interface: " << route.
GetInputInterface() <<
", output interfaces: ";
Describes an IPv6 address.
static Ipv6Address GetZero()
Get the 0 (::) Ipv6Address.
A record of an IPv6 multicast route.
uint32_t GetInputInterface() const
Get the input interface address.
uint32_t GetOutputInterface(uint32_t n) const
Get a specified output interface.
Ipv6Address GetGroup() const
Get the group.
uint32_t m_inputInterface
The input interface.
Ipv6MulticastRoutingTableEntry()
Constructor.
std::vector< uint32_t > GetOutputInterfaces() const
Get all of the output interfaces of this route.
static Ipv6MulticastRoutingTableEntry CreateMulticastRoute(Ipv6Address origin, Ipv6Address group, uint32_t inputInterface, std::vector< uint32_t > outputInterfaces)
Create a multicast route.
std::vector< uint32_t > m_outputInterfaces
The output interfaces.
uint32_t GetNOutputInterfaces() const
Get the number of output interfaces of this route.
Ipv6Address GetOrigin() const
Get the source of this route.
Ipv6Address m_group
The IPv6 address of the group.
Ipv6Address m_origin
The IPv6 address of the source.
Describes an IPv6 prefix.
uint8_t GetPrefixLength() const
Get prefix length.
static Ipv6Prefix GetOnes()
Get the "all-1" IPv6 mask (ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff).
A record of an IPv6 route.
bool IsNetwork() const
Is the route entry correspond to a network ?
static Ipv6RoutingTableEntry CreateDefaultRoute(Ipv6Address nextHop, uint32_t interface)
Create a default route.
Ipv6Address m_gateway
IPv6 address of the gateway.
bool IsDefault() const
Is it the default route ?
Ipv6RoutingTableEntry()
Constructor.
Ipv6Address GetDest() const
Get the destination.
Ipv6Address GetDestNetwork() const
Get the destination network.
Ipv6Address GetPrefixToUse() const
Get the prefix to use (for multihomed link).
Ipv6Address m_dest
IPv6 address of the destination.
static Ipv6RoutingTableEntry CreateHostRouteTo(Ipv6Address dest, Ipv6Address nextHop, uint32_t interface, Ipv6Address prefixToUse=Ipv6Address())
Create a route to a host.
bool IsHost() const
Is the route entry correspond to a host ?
void SetPrefixToUse(Ipv6Address prefix)
Set the prefix to use.
uint32_t GetInterface() const
Get the interface index.
Ipv6Address m_prefixToUse
Prefix to use.
Ipv6Prefix m_destNetworkPrefix
IPv6 prefix of the destination.
virtual ~Ipv6RoutingTableEntry()
Destructor.
uint32_t m_interface
The interface index.
Ipv6Prefix GetDestNetworkPrefix() const
Get the destination prefix.
static Ipv6RoutingTableEntry CreateNetworkRouteTo(Ipv6Address network, Ipv6Prefix networkPrefix, Ipv6Address nextHop, uint32_t interface)
Create a route to a network.
Ipv6Address GetGateway() const
Get the gateway.
bool IsGateway() const
Is it the gateway ?
#define NS_ASSERT(condition)
At runtime, in debugging builds, if this condition is not true, the program prints the source file,...
#define NS_ASSERT_MSG(condition, message)
At runtime, in debugging builds, if this condition is not true, the program prints the message to out...
Every class exported by the ns3 library is enclosed in the ns3 namespace.
std::ostream & operator<<(std::ostream &os, const Angles &a)