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

RipNg Routing Table Entry. More...

#include "ripng.h"

+ Inheritance diagram for ns3::RipNgRoutingTableEntry:

Public Types

enum  Status_e { RIPNG_VALID, RIPNG_INVALID }
 Route status. More...
 

Public Member Functions

 RipNgRoutingTableEntry (void)
 
 RipNgRoutingTableEntry (Ipv6Address network, Ipv6Prefix networkPrefix, Ipv6Address nextHop, uint32_t interface, Ipv6Address prefixToUse)
 Constructor. More...
 
 RipNgRoutingTableEntry (Ipv6Address network, Ipv6Prefix networkPrefix, uint32_t interface)
 Constructor. More...
 
virtual ~RipNgRoutingTableEntry ()
 
uint8_t GetRouteMetric (void) const
 Get the route metric. More...
 
Status_e GetRouteStatus (void) const
 Get the route status. More...
 
uint16_t GetRouteTag (void) const
 Get the route tag. More...
 
bool IsRouteChanged (void) const
 Get the route changed status. More...
 
void SetRouteChanged (bool changed)
 Set the route as changed. More...
 
void SetRouteMetric (uint8_t routeMetric)
 Set the route metric. More...
 
void SetRouteStatus (Status_e status)
 Set the route status. More...
 
void SetRouteTag (uint16_t routeTag)
 Set the route tag. More...
 
- Public Member Functions inherited from ns3::Ipv6RoutingTableEntry
 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...
 

Private Attributes

bool m_changed
 route has been updated More...
 
uint8_t m_metric
 route metric More...
 
Status_e m_status
 route status More...
 
uint16_t m_tag
 route tag More...
 

Additional Inherited Members

- Static Public Member Functions inherited from ns3::Ipv6RoutingTableEntry
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...
 

Detailed Description

RipNg Routing Table Entry.

Definition at line 63 of file ripng.h.

Member Enumeration Documentation

◆ Status_e

Route status.

Enumerator
RIPNG_VALID 
RIPNG_INVALID 

Definition at line 70 of file ripng.h.

Constructor & Destructor Documentation

◆ RipNgRoutingTableEntry() [1/3]

ns3::RipNgRoutingTableEntry::RipNgRoutingTableEntry ( void  )

Definition at line 1281 of file ripng.cc.

◆ RipNgRoutingTableEntry() [2/3]

ns3::RipNgRoutingTableEntry::RipNgRoutingTableEntry ( Ipv6Address  network,
Ipv6Prefix  networkPrefix,
Ipv6Address  nextHop,
uint32_t  interface,
Ipv6Address  prefixToUse 
)

Constructor.

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

Definition at line 1286 of file ripng.cc.

◆ RipNgRoutingTableEntry() [3/3]

ns3::RipNgRoutingTableEntry::RipNgRoutingTableEntry ( Ipv6Address  network,
Ipv6Prefix  networkPrefix,
uint32_t  interface 
)

Constructor.

Parameters
networknetwork address
networkPrefixnetwork prefix
interfaceinterface index

Definition at line 1292 of file ripng.cc.

◆ ~RipNgRoutingTableEntry()

ns3::RipNgRoutingTableEntry::~RipNgRoutingTableEntry ( )
virtual

Definition at line 1298 of file ripng.cc.

Member Function Documentation

◆ GetRouteMetric()

uint8_t ns3::RipNgRoutingTableEntry::GetRouteMetric ( void  ) const

Get the route metric.

Returns
the route metric

Definition at line 1326 of file ripng.cc.

References m_metric.

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

◆ GetRouteStatus()

RipNgRoutingTableEntry::Status_e ns3::RipNgRoutingTableEntry::GetRouteStatus ( void  ) const

Get the route status.

Returns
the route status

Definition at line 1340 of file ripng.cc.

References m_status.

Referenced by ns3::RipNg::Lookup(), and ns3::RipNg::PrintRoutingTable().

◆ GetRouteTag()

uint16_t ns3::RipNgRoutingTableEntry::GetRouteTag ( void  ) const

Get the route tag.

Returns
the route tag

Definition at line 1312 of file ripng.cc.

References m_tag.

Referenced by ns3::operator<<().

◆ IsRouteChanged()

bool ns3::RipNgRoutingTableEntry::IsRouteChanged ( void  ) const

Get the route changed status.

Returns
true if route is changed

Definition at line 1350 of file ripng.cc.

References m_changed.

◆ SetRouteChanged()

void ns3::RipNgRoutingTableEntry::SetRouteChanged ( bool  changed)

Set the route as changed.

The changed routes are scheduled for a Triggered Update. After a Triggered Update, all the changed flags are cleared from the routing table.

Parameters
changedtrue if route is changed

Definition at line 1345 of file ripng.cc.

References m_changed.

Referenced by ns3::RipNg::AddNetworkRouteTo(), ns3::RipNg::HandleResponses(), and ns3::RipNg::InvalidateRoute().

◆ SetRouteMetric()

void ns3::RipNgRoutingTableEntry::SetRouteMetric ( uint8_t  routeMetric)

Set the route metric.

Parameters
routeMetricthe route metric

Definition at line 1317 of file ripng.cc.

References m_changed, and m_metric.

Referenced by ns3::RipNg::AddNetworkRouteTo(), ns3::RipNg::HandleResponses(), and ns3::RipNg::InvalidateRoute().

◆ SetRouteStatus()

void ns3::RipNgRoutingTableEntry::SetRouteStatus ( Status_e  status)

Set the route status.

Parameters
statusthe route status

Definition at line 1331 of file ripng.cc.

References m_changed, and m_status.

Referenced by ns3::RipNg::AddNetworkRouteTo(), ns3::RipNg::HandleResponses(), and ns3::RipNg::InvalidateRoute().

◆ SetRouteTag()

void ns3::RipNgRoutingTableEntry::SetRouteTag ( uint16_t  routeTag)

Set the route tag.

Parameters
routeTagthe route tag

Definition at line 1303 of file ripng.cc.

References m_changed, and m_tag.

Referenced by ns3::RipNg::HandleResponses().

Member Data Documentation

◆ m_changed

bool ns3::RipNgRoutingTableEntry::m_changed
private

route has been updated

Definition at line 155 of file ripng.h.

Referenced by IsRouteChanged(), SetRouteChanged(), SetRouteMetric(), SetRouteStatus(), and SetRouteTag().

◆ m_metric

uint8_t ns3::RipNgRoutingTableEntry::m_metric
private

route metric

Definition at line 153 of file ripng.h.

Referenced by GetRouteMetric(), and SetRouteMetric().

◆ m_status

Status_e ns3::RipNgRoutingTableEntry::m_status
private

route status

Definition at line 154 of file ripng.h.

Referenced by GetRouteStatus(), and SetRouteStatus().

◆ m_tag

uint16_t ns3::RipNgRoutingTableEntry::m_tag
private

route tag

Definition at line 152 of file ripng.h.

Referenced by GetRouteTag(), and SetRouteTag().


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