diff options
Diffstat (limited to 'hicn-plugin/src/strategies')
-rw-r--r-- | hicn-plugin/src/strategies/dpo_mw.c | 8 | ||||
-rw-r--r-- | hicn-plugin/src/strategies/dpo_rr.c | 10 | ||||
-rw-r--r-- | hicn-plugin/src/strategies/strategy_mw.c | 2 |
3 files changed, 19 insertions, 1 deletions
diff --git a/hicn-plugin/src/strategies/dpo_mw.c b/hicn-plugin/src/strategies/dpo_mw.c index 981e5b61c..41d2f2526 100644 --- a/hicn-plugin/src/strategies/dpo_mw.c +++ b/hicn-plugin/src/strategies/dpo_mw.c @@ -134,6 +134,13 @@ format_hicn_strategy_mw_ctx (u8 * s, va_list * ap) s = format (s, "hicn-mw"); for (i = 0; i < HICN_PARAM_FIB_ENTRY_NHOPS_MAX; i++) { + u8 *buf = NULL; + if (i < dpo->default_ctx.entry_count) + buf = format(NULL, "FIB"); + else if (i >= HICN_PARAM_FIB_ENTRY_NHOPS_MAX - dpo->default_ctx.tfib_entry_count) + buf = format(NULL, "TFIB"); + else + continue; next_hop = &dpo->default_ctx.next_hops[i]; face_vft = hicn_face_get_vft (next_hop->dpoi_type); if (face_vft != NULL) @@ -143,6 +150,7 @@ format_hicn_strategy_mw_ctx (u8 * s, va_list * ap) format (s, "%U ", face_vft->format_face, next_hop->dpoi_index, indent); s = format (s, "weight %u", dpo->weight[i]); + s = format (s, " %s", buf); } } diff --git a/hicn-plugin/src/strategies/dpo_rr.c b/hicn-plugin/src/strategies/dpo_rr.c index 027087f7b..447a25c52 100644 --- a/hicn-plugin/src/strategies/dpo_rr.c +++ b/hicn-plugin/src/strategies/dpo_rr.c @@ -134,8 +134,17 @@ format_hicn_strategy_rr_ctx (u8 * s, va_list * ap) s = format (s, "hicn-rr, next hop Face %d", dpo->default_ctx.next_hops[dpo->current_nhop].dpoi_index); + for (i = 0; i < HICN_PARAM_FIB_ENTRY_NHOPS_MAX; i++) { + u8 *buf = NULL; + if (i < dpo->default_ctx.entry_count) + buf = format(NULL, "FIB"); + else if (i >= HICN_PARAM_FIB_ENTRY_NHOPS_MAX - dpo->default_ctx.tfib_entry_count) + buf = format(NULL, "TFIB"); + else + continue; + next_hop = &dpo->default_ctx.next_hops[i]; face_vft = hicn_face_get_vft (next_hop->dpoi_type); if (face_vft != NULL) @@ -144,6 +153,7 @@ format_hicn_strategy_rr_ctx (u8 * s, va_list * ap) s = format (s, "%U ", face_vft->format_face, next_hop->dpoi_index, indent); + s = format (s, " %s", buf); } } diff --git a/hicn-plugin/src/strategies/strategy_mw.c b/hicn-plugin/src/strategies/strategy_mw.c index 3efddc0ce..d5ff87303 100644 --- a/hicn-plugin/src/strategies/strategy_mw.c +++ b/hicn-plugin/src/strategies/strategy_mw.c @@ -74,7 +74,7 @@ hicn_select_next_hop_mw (index_t dpo_idx, int *nh_idx, dpo_id_t ** outface) (hicn_strategy_mw_ctx_t *) hicn_strategy_mw_ctx_get (dpo_idx); u8 next_hop_index = 0; - for (int i = 0; i < HICN_PARAM_FIB_ENTRY_NHOPS_MAX; i++) + for (int i = 0; i < hicn_strategy_mw_ctx->default_ctx.entry_count; i++) { if (dpo_id_is_valid (&hicn_strategy_mw_ctx->default_ctx.next_hops[i])) { |