summaryrefslogtreecommitdiffstats
path: root/hicn-plugin/src/strategy_dpo_manager.c
diff options
context:
space:
mode:
Diffstat (limited to 'hicn-plugin/src/strategy_dpo_manager.c')
-rw-r--r--hicn-plugin/src/strategy_dpo_manager.c13
1 files changed, 6 insertions, 7 deletions
diff --git a/hicn-plugin/src/strategy_dpo_manager.c b/hicn-plugin/src/strategy_dpo_manager.c
index 470d8d185..f8d41a372 100644
--- a/hicn-plugin/src/strategy_dpo_manager.c
+++ b/hicn-plugin/src/strategy_dpo_manager.c
@@ -16,6 +16,7 @@
#include <vnet/dpo/dpo.h>
#include "strategy_dpo_manager.h"
+#include "strategy_dpo_ctx.h"
#include "strategies/dpo_mw.h"
#include "strategies/dpo_rr.h"
#include "strategy.h"
@@ -94,19 +95,17 @@ hicn_dpo_get_strategy_vft_from_id (u8 vfts_id)
void
hicn_dpos_init (void)
{
+ hicn_strategy_init_dpo_ctx_pool ();
hicn_dpo_strategy_mw_module_init ();
hicn_dpo_strategy_rr_module_init ();
- default_dpo.hicn_dpo_get_ctx = &hicn_strategy_mw_ctx_get;
default_dpo.hicn_dpo_is_type = &hicn_dpo_is_type_strategy_mw;
default_dpo.hicn_dpo_get_type = &hicn_dpo_strategy_mw_get_type;
default_dpo.hicn_dpo_module_init = &hicn_dpo_strategy_mw_module_init;
default_dpo.hicn_dpo_create = &hicn_strategy_mw_ctx_create;
default_dpo.hicn_dpo_add_update_nh = &hicn_strategy_mw_ctx_add_nh;
default_dpo.hicn_dpo_del_nh = &hicn_strategy_mw_ctx_del_nh;
- default_dpo.hicn_dpo_lock_dpo_ctx = &hicn_strategy_mw_ctx_lock;
- default_dpo.hicn_dpo_unlock_dpo_ctx = hicn_strategy_mw_ctx_unlock;
- default_dpo.format_hicn_dpo = &format_hicn_strategy_mw_ctx;
+ default_dpo.hicn_dpo_format = &hicn_strategy_mw_format_ctx;
}
u8 *
@@ -117,13 +116,13 @@ format_hicn_strategy_list (u8 * s, int n, ...)
u32 indent = va_arg (ap, u32);
va_end (ap);
- s = format (s, "Strategies:\n", indent);
+ s = format (s, "%U Strategies:\n", format_white_space, indent);
indent += 4;
int i;
vec_foreach_index (i, strategies_id)
{
- s = format (s, "(%d) ", i, indent);
- s = hicn_dpo_vfts[strategies_id[i]]->format_hicn_dpo (s, &ap);
+ s = format (s, "%U (%d) ", format_white_space, indent, i);
+ s = hicn_strategy_vfts[strategies_id[i]]->hicn_format_strategy (s, &ap);
}
return (s);