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

Class represents EIGRP route to a destination network. More...

#include <EigrpRoute.h>

Public Member Functions

 EigrpRouteSource (int interfaceId, const char *ifaceName, int nextHopId, int routeId, EigrpRoute< IPAddress > *routeInfo)
 
virtual ~EigrpRouteSource ()
 
bool operator== (const EigrpRouteSource< IPAddress > &source) const
 
uint64_t getRd () const
 
void setRd (uint64_t rd)
 
bool isInternal () const
 
void setInternal (bool internal)
 
uint64_t getMetric () const
 
void setMetric (uint64_t metric)
 
IPAddress getNextHop () const
 
void setNextHop (IPAddress &nextHop)
 
EigrpWideMetricPar getMetricParams () const
 
void setMetricParams (EigrpWideMetricPar &par)
 
EigrpWideMetricPar getRdParams () const
 
void setRdParams (const EigrpWideMetricPar &rdParams)
 
bool isSuccessor () const
 
void setSuccessor (bool successor)
 
int getNexthopId () const
 
void setNexthopId (int nextHopId)
 
int getIfaceId () const
 
void setIfaceId (int interfaceId)
 
EigrpRoute< IPAddress > * getRouteInfo () const
 
void setRouteInfo (EigrpRoute< IPAddress > *routeInfo)
 
int getRouteId () const
 
void setRouteId (int routeId)
 
int getSourceId () const
 
void setSourceId (int sourceId)
 
Ipv4Address getOriginator () const
 
void setOriginator (const Ipv4Address &originator)
 
bool isValid () const
 
void setValid (bool valid)
 
bool isUnreachable () const
 
void setUnreachableMetric ()
 Sets metric and RD to infinity. More...
 
int getDelayedRemove () const
 
void setDelayedRemove (int neighID)
 
const char * getIfaceName () const
 
bool isRedistributed () const
 
void setRedistributed (bool redistributed)
 
bool isSummary () const
 
void setSummary (bool summary)
 

Protected Attributes

int sourceId
 
int routeId
 Unique ID of source. More...
 
Ipv4Address originator
 Unique ID of route (same as in EigrpRoute) More...
 
int nextHopId
 Id of next hop neighbor (usually same as sourceId, 0 -> connected) More...
 
IPAddress nextHop
 IP address of next hop router (0.0.0.0 -> connected), only informational. More...
 
int interfaceId
 
const char * interfaceName
 ID of outgoing interface for next hop. More...
 
bool internal
 Source of the route (internal or external) More...
 
uint64_t rd
 Reported distance from neighbor (RDkj) More...
 
uint64_t metric
 Actual metric value via that next Hop (not Dij - shortest distance) More...
 
EigrpWideMetricPar metricParams
 Parameters for metric computation. More...
 
EigrpWideMetricPar rdParams
 Parameters from neighbor. More...
 
bool successor
 Source is successor for route. More...
 
bool summary
 Summarized route. More...
 
bool redistributed
 Redistributed route. More...
 
bool valid
 Invalid sources will be deleted. More...
 
int delayedRemoveNID
 Source will be deleted after receiving Ack from neighbor with ID equal to NID. More...
 
EigrpRoute< IPAddress > * routeInfo
 Pointer to route. More...
 

Detailed Description

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

Class represents EIGRP route to a destination network.

Constructor & Destructor Documentation

◆ EigrpRouteSource()

template<typename IPAddress >
inet::EigrpRouteSource< IPAddress >::EigrpRouteSource ( int  interfaceId,
const char *  ifaceName,
int  nextHopId,
int  routeId,
EigrpRoute< IPAddress > *  routeInfo 
)
215  :
217 {
219  rd = 0;
220  internal = true;
221  successor = false;
222  sourceId = 0;
223  valid = true;
224  delayedRemoveNID = 0;
225 
226  summary = false;
227  redistributed = false;
228 
229  routeInfo->incrementRefCnt();
230 }

◆ ~EigrpRouteSource()

template<typename IPAddress >
inet::EigrpRouteSource< IPAddress >::~EigrpRouteSource
virtual
234 {
235 }

Member Function Documentation

◆ getDelayedRemove()

template<typename IPAddress >
int inet::EigrpRouteSource< IPAddress >::getDelayedRemove ( ) const
inline

◆ getIfaceId()

◆ getIfaceName()

template<typename IPAddress >
const char* inet::EigrpRouteSource< IPAddress >::getIfaceName ( ) const
inline
203 { return interfaceName; }

Referenced by inet::operator<<().

◆ getMetric()

◆ getMetricParams()

◆ getNextHop()

◆ getNexthopId()

◆ getOriginator()

◆ getRd()

template<typename IPAddress >
uint64_t inet::EigrpRouteSource< IPAddress >::getRd ( ) const
inline

◆ getRdParams()

◆ getRouteId()

◆ getRouteInfo()

◆ getSourceId()

◆ isInternal()

template<typename IPAddress >
bool inet::EigrpRouteSource< IPAddress >::isInternal ( ) const
inline

◆ isRedistributed()

template<typename IPAddress >
bool inet::EigrpRouteSource< IPAddress >::isRedistributed ( ) const
inline

◆ isSuccessor()

◆ isSummary()

template<typename IPAddress >
bool inet::EigrpRouteSource< IPAddress >::isSummary ( ) const
inline

◆ isUnreachable()

◆ isValid()

◆ operator==()

template<typename IPAddress >
bool inet::EigrpRouteSource< IPAddress >::operator== ( const EigrpRouteSource< IPAddress > &  source) const
inline
142  {
143  return sourceId == source.getSourceId();
144  }

◆ setDelayedRemove()

template<typename IPAddress >
void inet::EigrpRouteSource< IPAddress >::setDelayedRemove ( int  neighID)
inline

◆ setIfaceId()

template<typename IPAddress >
void inet::EigrpRouteSource< IPAddress >::setIfaceId ( int  interfaceId)
inline
171 { this->interfaceId = interfaceId; }

◆ setInternal()

template<typename IPAddress >
void inet::EigrpRouteSource< IPAddress >::setInternal ( bool  internal)
inline
150 { this->internal = internal; }

◆ setMetric()

◆ setMetricParams()

◆ setNextHop()

template<typename IPAddress >
void inet::EigrpRouteSource< IPAddress >::setNextHop ( IPAddress &  nextHop)
inline

◆ setNexthopId()

template<typename IPAddress >
void inet::EigrpRouteSource< IPAddress >::setNexthopId ( int  nextHopId)
inline
168 { this->nextHopId = nextHopId; }

◆ setOriginator()

template<typename IPAddress >
void inet::EigrpRouteSource< IPAddress >::setOriginator ( const Ipv4Address originator)
inline

◆ setRd()

template<typename IPAddress >
void inet::EigrpRouteSource< IPAddress >::setRd ( uint64_t  rd)
inline

◆ setRdParams()

template<typename IPAddress >
void inet::EigrpRouteSource< IPAddress >::setRdParams ( const EigrpWideMetricPar rdParams)
inline

◆ setRedistributed()

template<typename IPAddress >
void inet::EigrpRouteSource< IPAddress >::setRedistributed ( bool  redistributed)
inline
206 { this->redistributed = redistributed; }

◆ setRouteId()

template<typename IPAddress >
void inet::EigrpRouteSource< IPAddress >::setRouteId ( int  routeId)
inline
177 { this->routeId = routeId; }

◆ setRouteInfo()

template<typename IPAddress >
void inet::EigrpRouteSource< IPAddress >::setRouteInfo ( EigrpRoute< IPAddress > *  routeInfo)
inline
174 { this->routeInfo = routeInfo; }

◆ setSourceId()

template<typename IPAddress >
void inet::EigrpRouteSource< IPAddress >::setSourceId ( int  sourceId)
inline

◆ setSuccessor()

◆ setSummary()

template<typename IPAddress >
void inet::EigrpRouteSource< IPAddress >::setSummary ( bool  summary)
inline
209 { this->summary = summary; }

◆ setUnreachableMetric()

◆ setValid()

Member Data Documentation

◆ delayedRemoveNID

template<typename IPAddress >
int inet::EigrpRouteSource< IPAddress >::delayedRemoveNID
protected

Source will be deleted after receiving Ack from neighbor with ID equal to NID.

Referenced by inet::EigrpRouteSource< inet::Ipv4Address >::getDelayedRemove().

◆ interfaceId

template<typename IPAddress >
int inet::EigrpRouteSource< IPAddress >::interfaceId
protected

◆ interfaceName

template<typename IPAddress >
const char* inet::EigrpRouteSource< IPAddress >::interfaceName
protected

ID of outgoing interface for next hop.

Referenced by inet::EigrpRouteSource< inet::Ipv4Address >::getIfaceName().

◆ internal

template<typename IPAddress >
bool inet::EigrpRouteSource< IPAddress >::internal
protected

Source of the route (internal or external)

◆ metric

◆ metricParams

template<typename IPAddress >
EigrpWideMetricPar inet::EigrpRouteSource< IPAddress >::metricParams
protected

◆ nextHop

template<typename IPAddress >
IPAddress inet::EigrpRouteSource< IPAddress >::nextHop
protected

IP address of next hop router (0.0.0.0 -> connected), only informational.

It does not correspond to the sourceId (next hop may not be source of the route).

Referenced by inet::EigrpRouteSource< inet::Ipv4Address >::getNextHop(), and inet::EigrpRouteSource< inet::Ipv4Address >::setNextHop().

◆ nextHopId

template<typename IPAddress >
int inet::EigrpRouteSource< IPAddress >::nextHopId
protected

Id of next hop neighbor (usually same as sourceId, 0 -> connected)

Referenced by inet::EigrpRouteSource< inet::Ipv4Address >::getNexthopId(), and inet::EigrpRouteSource< inet::Ipv4Address >::setNexthopId().

◆ originator

template<typename IPAddress >
Ipv4Address inet::EigrpRouteSource< IPAddress >::originator
protected

◆ rd

template<typename IPAddress >
uint64_t inet::EigrpRouteSource< IPAddress >::rd
protected

◆ rdParams

◆ redistributed

template<typename IPAddress >
bool inet::EigrpRouteSource< IPAddress >::redistributed
protected

◆ routeId

template<typename IPAddress >
int inet::EigrpRouteSource< IPAddress >::routeId
protected

◆ routeInfo

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

◆ sourceId

◆ successor

template<typename IPAddress >
bool inet::EigrpRouteSource< IPAddress >::successor
protected

◆ summary

template<typename IPAddress >
bool inet::EigrpRouteSource< IPAddress >::summary
protected

◆ valid

template<typename IPAddress >
bool inet::EigrpRouteSource< IPAddress >::valid
protected

The documentation for this class was generated from the following file:
inet::EigrpRouteSource::routeId
int routeId
Unique ID of source.
Definition: EigrpRoute.h:117
inet::EigrpWideMetricPar::delay
uint64_t delay
Definition: EigrpMessage_m.h:172
inet::EigrpRouteSource::successor
bool successor
Source is successor for route.
Definition: EigrpRoute.h:129
inet::EigrpRouteSource::originator
Ipv4Address originator
Unique ID of route (same as in EigrpRoute)
Definition: EigrpRoute.h:119
inet::EigrpRouteSource::nextHopId
int nextHopId
Id of next hop neighbor (usually same as sourceId, 0 -> connected)
Definition: EigrpRoute.h:120
inet::EigrpWideMetricPar::bandwidth
uint64_t bandwidth
Definition: EigrpMessage_m.h:173
inet::EigrpRouteSource::rdParams
EigrpWideMetricPar rdParams
Parameters from neighbor.
Definition: EigrpRoute.h:128
inet::EigrpRouteSource::interfaceName
const char * interfaceName
ID of outgoing interface for next hop.
Definition: EigrpRoute.h:123
inet::EigrpRouteSource::metric
uint64_t metric
Actual metric value via that next Hop (not Dij - shortest distance)
Definition: EigrpRoute.h:126
inet::EigrpRouteSource::metricParams
EigrpWideMetricPar metricParams
Parameters for metric computation.
Definition: EigrpRoute.h:127
inet::EigrpRouteSource::redistributed
bool redistributed
Redistributed route.
Definition: EigrpRoute.h:131
inet::EigrpRouteSource::sourceId
int sourceId
Definition: EigrpRoute.h:116
inet::eigrp::EigrpMetricHelper::BANDWIDTH_INF
static const uint64_t BANDWIDTH_INF
Definition: EigrpMetricHelper.h:49
inet::EigrpRouteSource::nextHop
IPAddress nextHop
IP address of next hop router (0.0.0.0 -> connected), only informational.
Definition: EigrpRoute.h:121
inet::EigrpRouteSource::interfaceId
int interfaceId
Definition: EigrpRoute.h:122
inet::eigrp::EigrpMetricHelper::METRIC_INF
static const uint64_t METRIC_INF
Definition: EigrpMetricHelper.h:50
inet::EigrpRouteSource::routeInfo
EigrpRoute< IPAddress > * routeInfo
Pointer to route.
Definition: EigrpRoute.h:135
inet::EigrpRouteSource::rd
uint64_t rd
Reported distance from neighbor (RDkj)
Definition: EigrpRoute.h:125
inet::EigrpRouteSource::delayedRemoveNID
int delayedRemoveNID
Source will be deleted after receiving Ack from neighbor with ID equal to NID.
Definition: EigrpRoute.h:133
inet::EigrpRouteSource::valid
bool valid
Invalid sources will be deleted.
Definition: EigrpRoute.h:132
inet::eigrp::EigrpMetricHelper::DELAY_INF
static const uint64_t DELAY_INF
Definition: EigrpMetricHelper.h:48
inet::EigrpRouteSource::summary
bool summary
Summarized route.
Definition: EigrpRoute.h:130