22 #include "ns3/assert.h"
39 : m_dest (route.m_dest),
40 m_destNetworkMask (route.m_destNetworkMask),
41 m_gateway (route.m_gateway),
42 m_interface (route.m_interface)
48 : m_dest (route->m_dest),
49 m_destNetworkMask (route->m_destNetworkMask),
50 m_gateway (route->m_gateway),
51 m_interface (route->m_interface)
60 m_destNetworkMask (
Ipv4Mask::GetOnes ()),
62 m_interface (interface)
68 m_destNetworkMask (
Ipv4Mask::GetOnes ()),
70 m_interface (interface)
78 m_destNetworkMask (networkMask),
80 m_interface (interface)
82 NS_LOG_FUNCTION (
this << network << networkMask << gateway << interface);
88 m_destNetworkMask (networkMask),
90 m_interface (interface)
225 os <<
"host="<< route.
GetDest () <<
231 os <<
"host="<< route.
GetDest () <<
269 m_origin (route.m_origin),
270 m_group (route.m_group),
271 m_inputInterface (route.m_inputInterface),
272 m_outputInterfaces (route.m_outputInterfaces)
279 m_origin (route->m_origin),
280 m_group (route->m_group),
281 m_inputInterface (route->m_inputInterface),
282 m_outputInterfaces (route->m_outputInterfaces)
290 uint32_t inputInterface,
291 std::vector<uint32_t> outputInterfaces)
293 NS_LOG_FUNCTION (
this << origin << group << inputInterface << &outputInterfaces);
333 "Ipv4MulticastRoutingTableEntry::GetOutputInterface (): index out of bounds");
338 std::vector<uint32_t>
349 uint32_t inputInterface,
350 std::vector<uint32_t> outputInterfaces)
362 ", output interfaces=";
Ipv4Address m_origin
source address
static Ipv4Mask GetOnes(void)
#define NS_LOG_FUNCTION(parameters)
If log level LOG_FUNCTION is enabled, this macro will output all input parameters separated by "...
uint32_t m_inputInterface
input interface
a class to represent an Ipv4 address mask
Ipv4Address GetOrigin(void) const
#define NS_ASSERT(condition)
At runtime, in debugging builds, if this condition is not true, the program prints the source file...
Ipv4Address GetDestNetwork(void) const
#define NS_LOG_COMPONENT_DEFINE(name)
Define a Log component with a specific name.
uint32_t GetInputInterface(void) const
#define NS_LOG_FUNCTION_NOARGS()
Output the name of the function.
uint32_t m_interface
output interface
static Ipv4MulticastRoutingTableEntry CreateMulticastRoute(Ipv4Address origin, Ipv4Address group, uint32_t inputInterface, std::vector< uint32_t > outputInterfaces)
Ipv4Address m_group
destination address
uint32_t GetInterface(void) const
A record of an IPv4 routing table entry for Ipv4GlobalRouting and Ipv4StaticRouting.
bool IsGateway(void) const
static Ipv4RoutingTableEntry CreateHostRouteTo(Ipv4Address dest, Ipv4Address nextHop, uint32_t interface)
static Ipv4RoutingTableEntry CreateNetworkRouteTo(Ipv4Address network, Ipv4Mask networkMask, Ipv4Address nextHop, uint32_t interface)
std::vector< uint32_t > m_outputInterfaces
output interfaces
bool IsNetwork(void) const
std::ostream & operator<<(std::ostream &os, const Angles &a)
print a struct Angles to output
Ipv4Address m_gateway
gateway
Ipv4MulticastRoutingTableEntry()
This constructor does nothing.
uint32_t GetOutputInterface(uint32_t n) const
bool IsEqual(const Ipv4Address &other) const
Comparison operation between two Ipv4Addresses.
Ipv4Mask m_destNetworkMask
destination network mask
static Ipv4RoutingTableEntry CreateDefaultRoute(Ipv4Address nextHop, uint32_t interface)
Ipv4Address GetDest(void) const
static Ipv4Address GetZero(void)
A record of an IPv4 multicast route for Ipv4GlobalRouting and Ipv4StaticRouting.
#define NS_ASSERT_MSG(condition, message)
At runtime, in debugging builds, if this condition is not true, the program prints the message to out...
Ipv4 addresses are stored in host order in this class.
bool IsEqual(Ipv4Mask other) const
Ipv4Address GetGroup(void) const
Ipv4Address GetGateway(void) const
Ipv4Address m_dest
destination address
uint32_t GetNOutputInterfaces(void) const
Ipv4Mask GetDestNetworkMask(void) const
bool IsDefault(void) const
std::vector< uint32_t > GetOutputInterfaces(void) const
Ipv4RoutingTableEntry()
This constructor does nothing.