A Discrete-Event Network Simulator
API
Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes | List of all members
ns3::Ipv6RoutingTableEntry Class Reference

A record of an IPv6 route. More...

#include "ipv6-routing-table-entry.h"

+ Inheritance diagram for ns3::Ipv6RoutingTableEntry:

Public Member Functions

 Ipv6RoutingTableEntry ()
 Constructor. More...
 
 Ipv6RoutingTableEntry (Ipv6RoutingTableEntry const &route)
 Copy constructor. More...
 
 Ipv6RoutingTableEntry (Ipv6RoutingTableEntry const *route)
 Copy constructor. More...
 
virtual ~Ipv6RoutingTableEntry ()
 Destructor. More...
 
Ipv6Address GetDest () const
 Get the destination. More...
 
Ipv6Address GetDestNetwork () const
 Get the destination network. More...
 
Ipv6Prefix GetDestNetworkPrefix () const
 Get the destination prefix. More...
 
Ipv6Address GetGateway () const
 Get the gateway. More...
 
uint32_t GetInterface () const
 Get the interface index. More...
 
Ipv6Address GetPrefixToUse () const
 Get the prefix to use (for multihomed link). More...
 
bool IsDefault () const
 Is it the default route ? More...
 
bool IsGateway () const
 Is it the gateway ? More...
 
bool IsHost () const
 Is the route entry correspond to a host ? More...
 
bool IsNetwork () const
 Is the route entry correspond to a network ? More...
 
void SetPrefixToUse (Ipv6Address prefix)
 Set the prefix to use. More...
 

Static Public Member Functions

static Ipv6RoutingTableEntry CreateDefaultRoute (Ipv6Address nextHop, uint32_t interface)
 Create a default route. More...
 
static Ipv6RoutingTableEntry CreateHostRouteTo (Ipv6Address dest, Ipv6Address nextHop, uint32_t interface, Ipv6Address prefixToUse=Ipv6Address())
 Create a route to a host. More...
 
static Ipv6RoutingTableEntry CreateHostRouteTo (Ipv6Address dest, uint32_t interface)
 Create a route to a host. More...
 
static Ipv6RoutingTableEntry CreateNetworkRouteTo (Ipv6Address network, Ipv6Prefix networkPrefix, Ipv6Address nextHop, uint32_t interface)
 Create a route to a network. More...
 
static Ipv6RoutingTableEntry CreateNetworkRouteTo (Ipv6Address network, Ipv6Prefix networkPrefix, Ipv6Address nextHop, uint32_t interface, Ipv6Address prefixToUse)
 Create a route to a network. More...
 
static Ipv6RoutingTableEntry CreateNetworkRouteTo (Ipv6Address network, Ipv6Prefix networkPrefix, uint32_t interface)
 Create a route to a network. More...
 

Private Member Functions

 Ipv6RoutingTableEntry (Ipv6Address network, Ipv6Prefix prefix, Ipv6Address gateway, uint32_t interface)
 Constructor. More...
 
 Ipv6RoutingTableEntry (Ipv6Address network, Ipv6Prefix prefix, uint32_t interface, Ipv6Address prefixToUse)
 Constructor. More...
 
 Ipv6RoutingTableEntry (Ipv6Address network, Ipv6Prefix prefix, Ipv6Address gateway, uint32_t interface, Ipv6Address prefixToUse)
 Constructor. More...
 
 Ipv6RoutingTableEntry (Ipv6Address dest, Ipv6Prefix prefix, uint32_t interface)
 Constructor. More...
 
 Ipv6RoutingTableEntry (Ipv6Address dest, Ipv6Address gateway, uint32_t interface)
 Constructor. More...
 
 Ipv6RoutingTableEntry (Ipv6Address dest, uint32_t interface)
 Constructor. More...
 

Private Attributes

Ipv6Address m_dest
 IPv6 address of the destination. More...
 
Ipv6Prefix m_destNetworkPrefix
 IPv6 prefix of the destination. More...
 
Ipv6Address m_gateway
 IPv6 address of the gateway. More...
 
uint32_t m_interface
 The interface index. More...
 
Ipv6Address m_prefixToUse
 Prefix to use. More...
 

Detailed Description

A record of an IPv6 route.

Definition at line 38 of file ipv6-routing-table-entry.h.

Constructor & Destructor Documentation

◆ Ipv6RoutingTableEntry() [1/9]

ns3::Ipv6RoutingTableEntry::Ipv6RoutingTableEntry ( )

Constructor.

Definition at line 28 of file ipv6-routing-table-entry.cc.

Referenced by CreateDefaultRoute(), CreateHostRouteTo(), and CreateNetworkRouteTo().

◆ Ipv6RoutingTableEntry() [2/9]

ns3::Ipv6RoutingTableEntry::Ipv6RoutingTableEntry ( Ipv6RoutingTableEntry const &  route)

Copy constructor.

Parameters
routethe route to copy

Definition at line 32 of file ipv6-routing-table-entry.cc.

◆ Ipv6RoutingTableEntry() [3/9]

ns3::Ipv6RoutingTableEntry::Ipv6RoutingTableEntry ( Ipv6RoutingTableEntry const *  route)

Copy constructor.

Parameters
routethe route to copy

Definition at line 41 of file ipv6-routing-table-entry.cc.

◆ ~Ipv6RoutingTableEntry()

ns3::Ipv6RoutingTableEntry::~Ipv6RoutingTableEntry ( )
virtual

Destructor.

Definition at line 105 of file ipv6-routing-table-entry.cc.

◆ Ipv6RoutingTableEntry() [4/9]

ns3::Ipv6RoutingTableEntry::Ipv6RoutingTableEntry ( Ipv6Address  network,
Ipv6Prefix  prefix,
Ipv6Address  gateway,
uint32_t  interface 
)
private

Constructor.

Parameters
networknetwork address
prefixnetwork prefix
gatewaythe gateway
interfacethe interface index

Definition at line 77 of file ipv6-routing-table-entry.cc.

◆ Ipv6RoutingTableEntry() [5/9]

ns3::Ipv6RoutingTableEntry::Ipv6RoutingTableEntry ( Ipv6Address  network,
Ipv6Prefix  prefix,
uint32_t  interface,
Ipv6Address  prefixToUse 
)
private

Constructor.

Parameters
networknetwork address
prefixnetwork prefix
interfacethe interface index
prefixToUseprefix to use

Definition at line 87 of file ipv6-routing-table-entry.cc.

◆ Ipv6RoutingTableEntry() [6/9]

ns3::Ipv6RoutingTableEntry::Ipv6RoutingTableEntry ( Ipv6Address  network,
Ipv6Prefix  prefix,
Ipv6Address  gateway,
uint32_t  interface,
Ipv6Address  prefixToUse 
)
private

Constructor.

Parameters
networknetwork address
prefixnetwork prefix
gatewaythe gateway
interfacethe interface index
prefixToUseprefix to use

Definition at line 68 of file ipv6-routing-table-entry.cc.

◆ Ipv6RoutingTableEntry() [7/9]

ns3::Ipv6RoutingTableEntry::Ipv6RoutingTableEntry ( Ipv6Address  dest,
Ipv6Prefix  prefix,
uint32_t  interface 
)
private

Constructor.

Parameters
destdestination address
prefixdestination prefix
interfaceinterface index

Definition at line 96 of file ipv6-routing-table-entry.cc.

◆ Ipv6RoutingTableEntry() [8/9]

ns3::Ipv6RoutingTableEntry::Ipv6RoutingTableEntry ( Ipv6Address  dest,
Ipv6Address  gateway,
uint32_t  interface 
)
private

Constructor.

Parameters
destdestination address
gatewaythe gateway
interfaceinterface index

Definition at line 50 of file ipv6-routing-table-entry.cc.

◆ Ipv6RoutingTableEntry() [9/9]

ns3::Ipv6RoutingTableEntry::Ipv6RoutingTableEntry ( Ipv6Address  dest,
uint32_t  interface 
)
private

Constructor.

Parameters
destdestination address
interfaceinterface index

Definition at line 59 of file ipv6-routing-table-entry.cc.

Member Function Documentation

◆ CreateDefaultRoute()

Ipv6RoutingTableEntry ns3::Ipv6RoutingTableEntry::CreateDefaultRoute ( Ipv6Address  nextHop,
uint32_t  interface 
)
static

Create a default route.

Parameters
nextHopnext hop address to route the packet
interfaceinterface index
Returns
IPv6Route object

Definition at line 196 of file ipv6-routing-table-entry.cc.

References ns3::Ipv6Address::GetZero(), and Ipv6RoutingTableEntry().

◆ CreateHostRouteTo() [1/2]

Ipv6RoutingTableEntry ns3::Ipv6RoutingTableEntry::CreateHostRouteTo ( Ipv6Address  dest,
Ipv6Address  nextHop,
uint32_t  interface,
Ipv6Address  prefixToUse = Ipv6Address () 
)
static

Create a route to a host.

Parameters
destdestination address
nextHopnext hop address to route the packet
interfaceinterface index
prefixToUseprefix that should be used for source address for this destination
Returns
IPv6Route object

Definition at line 171 of file ipv6-routing-table-entry.cc.

References ns3::Ipv6Prefix::GetOnes(), and Ipv6RoutingTableEntry().

◆ CreateHostRouteTo() [2/2]

Ipv6RoutingTableEntry ns3::Ipv6RoutingTableEntry::CreateHostRouteTo ( Ipv6Address  dest,
uint32_t  interface 
)
static

Create a route to a host.

Parameters
destdestination address
interfaceinterface index
Returns
IPv6Route object

Definition at line 176 of file ipv6-routing-table-entry.cc.

References Ipv6RoutingTableEntry().

◆ CreateNetworkRouteTo() [1/3]

Ipv6RoutingTableEntry ns3::Ipv6RoutingTableEntry::CreateNetworkRouteTo ( Ipv6Address  network,
Ipv6Prefix  networkPrefix,
Ipv6Address  nextHop,
uint32_t  interface 
)
static

Create a route to a network.

Parameters
networknetwork address
networkPrefixnetwork prefix
nextHopnext hop address to route the packet
interfaceinterface index
Returns
IPv6Route object

Definition at line 181 of file ipv6-routing-table-entry.cc.

References Ipv6RoutingTableEntry().

Referenced by ns3::Ipv6StaticRouting::AddNetworkRouteTo(), and ns3::Ipv6StaticRouting::SetDefaultMulticastRoute().

◆ CreateNetworkRouteTo() [2/3]

Ipv6RoutingTableEntry ns3::Ipv6RoutingTableEntry::CreateNetworkRouteTo ( Ipv6Address  network,
Ipv6Prefix  networkPrefix,
Ipv6Address  nextHop,
uint32_t  interface,
Ipv6Address  prefixToUse 
)
static

Create a route to a network.

Parameters
networknetwork address
networkPrefixnetwork prefix
nextHopnext hop address to route the packet
interfaceinterface index
prefixToUseprefix that should be used for source address for this destination
Returns
IPv6Route object

Definition at line 186 of file ipv6-routing-table-entry.cc.

References Ipv6RoutingTableEntry().

◆ CreateNetworkRouteTo() [3/3]

Ipv6RoutingTableEntry ns3::Ipv6RoutingTableEntry::CreateNetworkRouteTo ( Ipv6Address  network,
Ipv6Prefix  networkPrefix,
uint32_t  interface 
)
static

Create a route to a network.

Parameters
networknetwork address
networkPrefixnetwork prefix
interfaceinterface index
Returns
IPv6Route object

Definition at line 191 of file ipv6-routing-table-entry.cc.

References Ipv6RoutingTableEntry().

◆ GetDest()

Ipv6Address ns3::Ipv6RoutingTableEntry::GetDest ( void  ) const

◆ GetDestNetwork()

Ipv6Address ns3::Ipv6RoutingTableEntry::GetDestNetwork ( void  ) const

◆ GetDestNetworkPrefix()

Ipv6Prefix ns3::Ipv6RoutingTableEntry::GetDestNetworkPrefix ( ) const

◆ GetGateway()

Ipv6Address ns3::Ipv6RoutingTableEntry::GetGateway ( void  ) const

◆ GetInterface()

uint32_t ns3::Ipv6RoutingTableEntry::GetInterface ( void  ) const

◆ GetPrefixToUse()

Ipv6Address ns3::Ipv6RoutingTableEntry::GetPrefixToUse ( ) const

Get the prefix to use (for multihomed link).

Returns
prefix address to use

Definition at line 123 of file ipv6-routing-table-entry.cc.

References m_prefixToUse.

Referenced by ns3::RipNg::Lookup(), ns3::Ipv6StaticRouting::LookupStatic(), StackHelper::PrintRoutingTable(), and ns3::Ipv6StaticRouting::RemoveRoute().

◆ IsDefault()

bool ns3::Ipv6RoutingTableEntry::IsDefault ( void  ) const

Is it the default route ?

Returns
true if this route is a default route, false otherwise

Definition at line 138 of file ipv6-routing-table-entry.cc.

References ns3::Ipv6Address::GetZero(), ns3::Ipv6Address::IsEqual(), and m_dest.

Referenced by ns3::operator<<().

◆ IsGateway()

bool ns3::Ipv6RoutingTableEntry::IsGateway ( void  ) const

Is it the gateway ?

Returns
true if this route is a gateway, false otherwise

Definition at line 157 of file ipv6-routing-table-entry.cc.

References ns3::Ipv6Address::GetZero(), ns3::Ipv6Address::IsEqual(), and m_gateway.

Referenced by ns3::operator<<(), ns3::RipNg::PrintRoutingTable(), and ns3::Ipv6StaticRouting::PrintRoutingTable().

◆ IsHost()

bool ns3::Ipv6RoutingTableEntry::IsHost ( void  ) const

Is the route entry correspond to a host ?

Returns
true if the route is a host, false otherwise

Definition at line 109 of file ipv6-routing-table-entry.cc.

References ns3::Ipv6Prefix::GetOnes(), ns3::Ipv6Prefix::IsEqual(), and m_destNetworkPrefix.

Referenced by IsNetwork(), ns3::operator<<(), ns3::RipNg::PrintRoutingTable(), and ns3::Ipv6StaticRouting::PrintRoutingTable().

◆ IsNetwork()

bool ns3::Ipv6RoutingTableEntry::IsNetwork ( void  ) const

Is the route entry correspond to a network ?

Returns
true if the route is a network, false otherwise

Definition at line 133 of file ipv6-routing-table-entry.cc.

References IsHost().

Referenced by ns3::operator<<().

◆ SetPrefixToUse()

void ns3::Ipv6RoutingTableEntry::SetPrefixToUse ( Ipv6Address  prefix)

Set the prefix to use.

Parameters
prefixprefix to use

Definition at line 128 of file ipv6-routing-table-entry.cc.

References m_prefixToUse.

Member Data Documentation

◆ m_dest

Ipv6Address ns3::Ipv6RoutingTableEntry::m_dest
private

IPv6 address of the destination.

Definition at line 240 of file ipv6-routing-table-entry.h.

Referenced by GetDest(), GetDestNetwork(), and IsDefault().

◆ m_destNetworkPrefix

Ipv6Prefix ns3::Ipv6RoutingTableEntry::m_destNetworkPrefix
private

IPv6 prefix of the destination.

Definition at line 245 of file ipv6-routing-table-entry.h.

Referenced by GetDestNetworkPrefix(), and IsHost().

◆ m_gateway

Ipv6Address ns3::Ipv6RoutingTableEntry::m_gateway
private

IPv6 address of the gateway.

Definition at line 250 of file ipv6-routing-table-entry.h.

Referenced by GetGateway(), and IsGateway().

◆ m_interface

uint32_t ns3::Ipv6RoutingTableEntry::m_interface
private

The interface index.

Definition at line 255 of file ipv6-routing-table-entry.h.

Referenced by GetInterface().

◆ m_prefixToUse

Ipv6Address ns3::Ipv6RoutingTableEntry::m_prefixToUse
private

Prefix to use.

Definition at line 260 of file ipv6-routing-table-entry.h.

Referenced by GetPrefixToUse(), and SetPrefixToUse().


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