|
INET Framework for OMNeT++/OMNEST
|
Class for EIGRP metric computation. More...
#include <EigrpMetricHelper.h>
Public Member Functions | |
| EigrpMetricHelper () | |
| virtual | ~EigrpMetricHelper () |
| EigrpWideMetricPar | getParam (EigrpInterface *eigrpIface) |
| Sets parameters from interface for metric computation. More... | |
| EigrpWideMetricPar | adjustParam (const EigrpWideMetricPar &ifParam, const EigrpWideMetricPar &neighParam) |
| Adjust parameters of metric by interface parameters. More... | |
| uint64_t | computeClassicMetric (const EigrpWideMetricPar &par, const EigrpKValues &kValues) |
| Computes classic metric. More... | |
| uint64_t | computeWideMetric (const EigrpWideMetricPar &par, const EigrpKValues &kValues) |
| Computes wide metric. More... | |
| bool | compareParameters (const EigrpWideMetricPar &par1, const EigrpWideMetricPar &par2, EigrpKValues &kValues) |
| Compares metric enabled parameters. More... | |
| bool | isParamMaximal (const EigrpWideMetricPar &par) |
| Returns true, if parameters are set to infinite, otherwise false. More... | |
Static Public Attributes | |
| static const uint64_t | DELAY_INF = 0xFFFFFFFFFFFF |
| static const uint64_t | BANDWIDTH_INF = 0xFFFFFFFFFFFF |
| static const uint64_t | METRIC_INF = 0xFFFFFFFFFFFFFF |
Private Member Functions | |
| unsigned int | getMin (unsigned int p1, unsigned int p2) |
| Returns smaller of two parameters. More... | |
| unsigned int | getMax (unsigned int p1, unsigned int p2) |
| Returns greater of two parameters. More... | |
Private Attributes | |
| const uint32_t | DELAY_PICO |
| const uint32_t | BANDWIDTH |
| const uint32_t | CLASSIC_SCALE |
| const uint32_t | WIDE_SCALE |
Class for EIGRP metric computation.
| inet::eigrp::EigrpMetricHelper::EigrpMetricHelper | ( | ) |
| EigrpWideMetricPar inet::eigrp::EigrpMetricHelper::adjustParam | ( | const EigrpWideMetricPar & | ifParam, |
| const EigrpWideMetricPar & | neighParam | ||
| ) |
Adjust parameters of metric by interface parameters.
Referenced by inet::eigrp::EigrpIpv4Pdm::processIfaceConfigChange(), inet::eigrp::EigrpIpv6Pdm::processIfaceConfigChange(), inet::eigrp::EigrpIpv4Pdm::processInterRoute(), and inet::eigrp::EigrpIpv6Pdm::processInterRoute().
| bool inet::eigrp::EigrpMetricHelper::compareParameters | ( | const EigrpWideMetricPar & | par1, |
| const EigrpWideMetricPar & | par2, | ||
| EigrpKValues & | kValues | ||
| ) |
Compares metric enabled parameters.
Referenced by inet::eigrp::EigrpIpv4Pdm::processInterRoute(), and inet::eigrp::EigrpIpv6Pdm::processInterRoute().
| uint64_t inet::eigrp::EigrpMetricHelper::computeClassicMetric | ( | const EigrpWideMetricPar & | par, |
| const EigrpKValues & | kValues | ||
| ) |
Computes classic metric.
Referenced by inet::eigrp::EigrpIpv4Pdm::enableInterface(), inet::eigrp::EigrpIpv6Pdm::enableInterface(), inet::eigrp::EigrpIpv4Pdm::processIfaceConfigChange(), inet::eigrp::EigrpIpv6Pdm::processIfaceConfigChange(), inet::eigrp::EigrpIpv4Pdm::processInterRoute(), and inet::eigrp::EigrpIpv6Pdm::processInterRoute().
| uint64_t inet::eigrp::EigrpMetricHelper::computeWideMetric | ( | const EigrpWideMetricPar & | par, |
| const EigrpKValues & | kValues | ||
| ) |
|
inlineprivate |
|
inlineprivate |
| EigrpWideMetricPar inet::eigrp::EigrpMetricHelper::getParam | ( | EigrpInterface * | eigrpIface | ) |
Sets parameters from interface for metric computation.
Referenced by inet::eigrp::EigrpIpv4Pdm::enableInterface(), inet::eigrp::EigrpIpv6Pdm::enableInterface(), inet::eigrp::EigrpIpv4Pdm::processIfaceConfigChange(), inet::eigrp::EigrpIpv6Pdm::processIfaceConfigChange(), inet::eigrp::EigrpIpv4Pdm::processInterRoute(), and inet::eigrp::EigrpIpv6Pdm::processInterRoute().
|
inline |
Returns true, if parameters are set to infinite, otherwise false.
Referenced by inet::eigrp::EigrpIpv4Pdm::addRoutesToMsg(), inet::eigrp::EigrpIpv6Pdm::addRoutesToMsg(), adjustParam(), computeClassicMetric(), computeWideMetric(), inet::eigrp::EigrpIpv4Pdm::processUpdatePacket(), and inet::eigrp::EigrpIpv6Pdm::processUpdatePacket().
|
private |
Referenced by computeClassicMetric(), and computeWideMetric().
|
static |
|
private |
Referenced by computeClassicMetric().
|
static |
|
private |
Referenced by computeWideMetric(), and getParam().
|
static |
Referenced by computeClassicMetric(), computeWideMetric(), inet::eigrp::EigrpTopologyTable< Ipv4Address >::findRouteDMin(), inet::eigrp::EigrpTopologyTable< Ipv4Address >::hasFeasibleSuccessor(), inet::EigrpRouteSource< inet::Ipv4Address >::isUnreachable(), inet::eigrp::EigrpDual< inet::Ipv4Address >::processTransition13(), inet::eigrp::EigrpDual< inet::Ipv4Address >::processTransition15(), inet::EigrpRoute< inet::Ipv4Address >::setUnreachable(), and inet::EigrpRouteSource< inet::Ipv4Address >::setUnreachableMetric().
|
private |
Referenced by computeWideMetric().