INET Framework for OMNeT++/OMNEST
inet::EigrpRoute< IPAddress > Class Template Reference

Network destination, it contains state for DUAL. More...

#include <EigrpRoute.h>

Inheritance diagram for inet::EigrpRoute< IPAddress >:

Public Member Functions

 EigrpRoute (const IPAddress &address, const IPAddress &mask)
 
virtual ~EigrpRoute ()
 
bool operator== (const EigrpRoute< IPAddress > &route) const
 
int decrementRefCnt ()
 
void incrementRefCnt ()
 
int getRefCnt ()
 
int getRouteId () const
 
void setRouteId (int routeId)
 
uint64_t getFd () const
 
void setFd (uint64_t fd)
 
EigrpWideMetricPar getRdPar () const
 
void setRdPar (EigrpWideMetricPar rd)
 
uint64_t getDij () const
 
void setDij (uint64_t Dij)
 
int getQueryOrigin () const
 
void setQueryOrigin (int queryOrigin)
 
int getReplyStatusSum () const
 
bool getReplyStatus (int neighborId)
 
void setReplyStatus (int neighborId)
 
bool unsetReplyStatus (int neighborId)
 Clear handle for specified neighbor in Reply Status table. More...
 
IPAddress getRouteAddress () const
 
void setRouteAddress (IPAddress routeAddress)
 
IPAddress getRouteMask () const
 
void setRouteMask (IPAddress routeMask)
 
bool isActive () const
 
EigrpRouteSource< IPAddress > * getSuccessor () const
 
void setSuccessor (EigrpRouteSource< IPAddress > *successor)
 
void setNumSucc (int numSuccessors)
 
int getNumSucc () const
 
void setUnreachable ()
 
bool isUpdateSent () const
 
void setUpdateSent (bool updateSent)
 
void setNumSentMsgs (int num)
 
int getNumSentMsgs () const
 

Protected Attributes

int routeId
 
IPAddress routeAddress
 Unique ID of route. More...
 
IPAddress routeMask
 Mask of destination. More...
 
int queryOrigin
 State of DUAL. More...
 
std::vector< int > replyStatusTable
 Reply status for each neighbor. More...
 
uint64_t fd
 Feasible distance. More...
 
EigrpWideMetricPar rd
 Parameters for computation of reported distance that belongs to this router. More...
 
uint64_t Dij
 Shortest distance (Dij) More...
 
EigrpRouteSource< IPAddress > * successor
 Actual successor for route reported to neighbors of router. More...
 
int numSuccessors
 Number of successors for the route. More...
 
bool updateSent
 Sent update with the route. More...
 
int numOfMsgsSent
 Number of sent messages with the route. More...
 
int referenceCounter
 Counts amount of references to this object. More...
 

Detailed Description

template<typename IPAddress>
class inet::EigrpRoute< IPAddress >

Network destination, it contains state for DUAL.

Constructor & Destructor Documentation

◆ EigrpRoute()

template<typename IPAddress >
inet::EigrpRoute< IPAddress >::EigrpRoute ( const IPAddress &  address,
const IPAddress &  mask 
)
238  :
239  routeId(0), routeAddress(address), routeMask(mask)
240 {
243 
244  successor = nullptr;
245  queryOrigin = 1;
246 
247  numSuccessors = 0;
248  referenceCounter = 0;
249 
250  updateSent = false;
251  numOfMsgsSent = 0;
252 }

◆ ~EigrpRoute()

template<typename IPAddress >
inet::EigrpRoute< IPAddress >::~EigrpRoute
virtual
256 {
257 }

Member Function Documentation

◆ decrementRefCnt()

template<typename IPAddress >
int inet::EigrpRoute< IPAddress >::decrementRefCnt ( )
inline

◆ getDij()

◆ getFd()

◆ getNumSentMsgs()

template<typename IPAddress >
int inet::EigrpRoute< IPAddress >::getNumSentMsgs ( ) const
inline

◆ getNumSucc()

◆ getQueryOrigin()

◆ getRdPar()

template<typename IPAddress >
EigrpWideMetricPar inet::EigrpRoute< IPAddress >::getRdPar ( ) const
inline

◆ getRefCnt()

◆ getReplyStatus()

template<typename IPAddress >
bool inet::EigrpRoute< IPAddress >::getReplyStatus ( int  neighborId)
261 {
262  return contains(replyStatusTable, neighborId);
263 }

◆ getReplyStatusSum()

◆ getRouteAddress()

◆ getRouteId()

◆ getRouteMask()

◆ getSuccessor()

template<typename IPAddress >
EigrpRouteSource<IPAddress>* inet::EigrpRoute< IPAddress >::getSuccessor ( ) const
inline

◆ incrementRefCnt()

template<typename IPAddress >
void inet::EigrpRoute< IPAddress >::incrementRefCnt ( )
inline

◆ isActive()

◆ isUpdateSent()

template<typename IPAddress >
bool inet::EigrpRoute< IPAddress >::isUpdateSent ( ) const
inline
102 { return updateSent; }

◆ operator==()

template<typename IPAddress >
bool inet::EigrpRoute< IPAddress >::operator== ( const EigrpRoute< IPAddress > &  route) const
inline
58  {
59  return routeId == route.getRouteId();
60  }

◆ setDij()

◆ setFd()

◆ setNumSentMsgs()

template<typename IPAddress >
void inet::EigrpRoute< IPAddress >::setNumSentMsgs ( int  num)
inline

◆ setNumSucc()

template<typename IPAddress >
void inet::EigrpRoute< IPAddress >::setNumSucc ( int  numSuccessors)
inline

◆ setQueryOrigin()

◆ setRdPar()

◆ setReplyStatus()

template<typename IPAddress >
void inet::EigrpRoute< IPAddress >::setReplyStatus ( int  neighborId)
inline

◆ setRouteAddress()

template<typename IPAddress >
void inet::EigrpRoute< IPAddress >::setRouteAddress ( IPAddress  routeAddress)
inline
87 { this->routeAddress = routeAddress; }

◆ setRouteId()

template<typename IPAddress >
void inet::EigrpRoute< IPAddress >::setRouteId ( int  routeId)
inline

◆ setRouteMask()

template<typename IPAddress >
void inet::EigrpRoute< IPAddress >::setRouteMask ( IPAddress  routeMask)
inline
90 { this->routeMask = routeMask; }

◆ setSuccessor()

◆ setUnreachable()

◆ setUpdateSent()

template<typename IPAddress >
void inet::EigrpRoute< IPAddress >::setUpdateSent ( bool  updateSent)
inline

◆ unsetReplyStatus()

template<typename IPAddress >
bool inet::EigrpRoute< IPAddress >::unsetReplyStatus ( int  neighborId)

Clear handle for specified neighbor in Reply Status table.

270 {
271  auto it = find(replyStatusTable, neighborId);
272  if (it != replyStatusTable.end()) {
273  replyStatusTable.erase(it);
274  return true;
275  }
276  return false;
277 } // eigrp

Referenced by inet::eigrp::EigrpDual< inet::Ipv4Address >::processQo0(), inet::eigrp::EigrpDual< inet::Ipv4Address >::processQo1Active(), inet::eigrp::EigrpDual< inet::Ipv4Address >::processQo2(), and inet::eigrp::EigrpDual< inet::Ipv4Address >::processQo3().

Member Data Documentation

◆ Dij

template<typename IPAddress >
uint64_t inet::EigrpRoute< IPAddress >::Dij
protected

◆ fd

template<typename IPAddress >
uint64_t inet::EigrpRoute< IPAddress >::fd
protected

◆ numOfMsgsSent

template<typename IPAddress >
int inet::EigrpRoute< IPAddress >::numOfMsgsSent
protected

Number of sent messages with the route.

Referenced by inet::EigrpRoute< inet::Ipv4Address >::getNumSentMsgs().

◆ numSuccessors

template<typename IPAddress >
int inet::EigrpRoute< IPAddress >::numSuccessors
protected

◆ queryOrigin

template<typename IPAddress >
int inet::EigrpRoute< IPAddress >::queryOrigin
protected

◆ rd

template<typename IPAddress >
EigrpWideMetricPar inet::EigrpRoute< IPAddress >::rd
protected

Parameters for computation of reported distance that belongs to this router.

Referenced by inet::EigrpRoute< inet::Ipv4Address >::getRdPar(), inet::EigrpRoute< inet::Ipv4Address >::setRdPar(), and inet::EigrpRoute< inet::Ipv4Address >::setUnreachable().

◆ referenceCounter

template<typename IPAddress >
int inet::EigrpRoute< IPAddress >::referenceCounter
protected

◆ replyStatusTable

template<typename IPAddress >
std::vector<int> inet::EigrpRoute< IPAddress >::replyStatusTable
protected

◆ routeAddress

template<typename IPAddress >
IPAddress inet::EigrpRoute< IPAddress >::routeAddress
protected

◆ routeId

◆ routeMask

template<typename IPAddress >
IPAddress inet::EigrpRoute< IPAddress >::routeMask
protected

◆ successor

template<typename IPAddress >
EigrpRouteSource<IPAddress>* inet::EigrpRoute< IPAddress >::successor
protected

Actual successor for route reported to neighbors of router.

Referenced by inet::EigrpRoute< inet::Ipv4Address >::getSuccessor(), and inet::EigrpRoute< inet::Ipv4Address >::setSuccessor().

◆ updateSent

template<typename IPAddress >
bool inet::EigrpRoute< IPAddress >::updateSent
protected

The documentation for this class was generated from the following file:
inet::EigrpRoute::updateSent
bool updateSent
Sent update with the route.
Definition: EigrpRoute.h:48
inet::EigrpWideMetricPar::delay
uint64_t delay
Definition: EigrpMessage_m.h:172
inet::EigrpWideMetricPar::bandwidth
uint64_t bandwidth
Definition: EigrpMessage_m.h:173
inet::EigrpRoute::routeAddress
IPAddress routeAddress
Unique ID of route.
Definition: EigrpRoute.h:38
inet::EigrpRoute::fd
uint64_t fd
Feasible distance.
Definition: EigrpRoute.h:43
inet::find
std::vector< T >::iterator find(std::vector< T > &v, const Tk &a)
Definition: stlutils.h:44
inet::EigrpRoute::rd
EigrpWideMetricPar rd
Parameters for computation of reported distance that belongs to this router.
Definition: EigrpRoute.h:44
inet::eigrp::EigrpMetricHelper::BANDWIDTH_INF
static const uint64_t BANDWIDTH_INF
Definition: EigrpMetricHelper.h:49
inet::contains
bool contains(const std::vector< T > &v, const Tk &a)
Definition: stlutils.h:65
inet::EigrpRoute::referenceCounter
int referenceCounter
Counts amount of references to this object.
Definition: EigrpRoute.h:51
inet::EigrpRoute::queryOrigin
int queryOrigin
State of DUAL.
Definition: EigrpRoute.h:41
inet::EigrpRoute::numOfMsgsSent
int numOfMsgsSent
Number of sent messages with the route.
Definition: EigrpRoute.h:49
inet::eigrp::EigrpMetricHelper::METRIC_INF
static const uint64_t METRIC_INF
Definition: EigrpMetricHelper.h:50
inet::EigrpRoute::successor
EigrpRouteSource< IPAddress > * successor
Actual successor for route reported to neighbors of router.
Definition: EigrpRoute.h:46
inet::EigrpRoute::numSuccessors
int numSuccessors
Number of successors for the route.
Definition: EigrpRoute.h:47
inet::EigrpRoute::routeId
int routeId
Definition: EigrpRoute.h:36
inet::EigrpRoute::routeMask
IPAddress routeMask
Mask of destination.
Definition: EigrpRoute.h:39
inet::EigrpRoute::Dij
uint64_t Dij
Shortest distance (Dij)
Definition: EigrpRoute.h:45
inet::eigrp::EigrpMetricHelper::DELAY_INF
static const uint64_t DELAY_INF
Definition: EigrpMetricHelper.h:48
inet::EigrpRoute::replyStatusTable
std::vector< int > replyStatusTable
Reply status for each neighbor.
Definition: EigrpRoute.h:42