aboutsummaryrefslogtreecommitdiffstats
path: root/hicn-light/src/hicn/strategies/nexthopState.c
diff options
context:
space:
mode:
authorJordan Augé <jordan.auge+fdio@cisco.com>2019-07-26 23:20:30 +0200
committerMauro Sardara <msardara@cisco.com>2019-07-29 17:13:35 +0200
commit0a1c6b5565e20167d1f1f33a5a8b597f420b18b0 (patch)
tree98c5da8f231fbd3dc2ce6502040e29c8333d9ffc /hicn-light/src/hicn/strategies/nexthopState.c
parent05ca0aa8f612ee48fb66d4dbebe596b7f1e03181 (diff)
[HICN-252] Add per-application policy framework to hicn-light forwarder
Change-Id: I0531cd7a7de179581295ae34766c81cd9cf3e172 Signed-off-by: Jordan Augé <jordan.auge+fdio@cisco.com> Signed-off-by: Mauro Sardara <msardara@cisco.com> Co-authored-by: Mauro Sardara <msardara@cisco.com>
Diffstat (limited to 'hicn-light/src/hicn/strategies/nexthopState.c')
-rw-r--r--hicn-light/src/hicn/strategies/nexthopState.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/hicn-light/src/hicn/strategies/nexthopState.c b/hicn-light/src/hicn/strategies/nexthopState.c
index 0997193ce..40af14832 100644
--- a/hicn-light/src/hicn/strategies/nexthopState.c
+++ b/hicn-light/src/hicn/strategies/nexthopState.c
@@ -23,6 +23,8 @@
#include <parc/assert/parc_Assert.h>
#include <hicn/strategies/nexthopState.h>
+#define AVG_PI_THRESHOLD 1e-3
+
struct strategy_nexthop_state {
unsigned int pi;
double avg_pi;
@@ -197,7 +199,11 @@ double strategyNexthopState_UpdateState(StrategyNexthopState *x, bool inc,
}
}
x->avg_pi = (x->avg_pi * alpha) + (x->pi * (1 - alpha));
+#ifdef WITH_POLICY
+ if (x->avg_pi < AVG_PI_THRESHOLD) {
+#else
if (x->avg_pi == 0.0) {
+#endif /* WITH_POLICY */
x->avg_pi = 0.1;
}
x->weight = 1 / x->avg_pi;