|
Hybrid ICN (hICN) plugin
v21.06-rc0-4-g18fa668
|
Go to the documentation of this file.
16 #ifndef __HICN_STRATEGY_DPO_MANAGER_H__
17 #define __HICN_STRATEGY_DPO_MANAGER_H__
54 fib_protocol_t proto,
const hicn_face_id_t *nh,
int nh_len,
59 int (*hicn_dpo_del_nh) (hicn_face_id_t face_id, index_t dpo_idx);
60 u8 *(*hicn_dpo_format) (u8 *s, int, ...);
89 const char *
const *
const *hicn_nodes,
const hicn_dpo_vft_t *hicn_dpo_vft,
struct hicn_dpo_vft_s hicn_dpo_vft_t
Definition of the virtual function table for a hICN DPO.
u8 * format_hicn_strategy_list(u8 *s, int n,...)
Print the list of the registered hICN DPO.
u32 dpo_is_hicn(const dpo_id_t *dpo)
Check if the type of the dpo is among the list of hicn dpo types.
int(* hicn_dpo_is_type)(const dpo_id_t *dpo)
Definition: strategy_dpo_manager.h:47
const hicn_strategy_vft_t * hicn_dpo_get_strategy_vft(dpo_type_t vfts_id)
Get the vft with the hICN strategy functions.
void(* hicn_dpo_module_init)(void)
Definition: strategy_dpo_manager.h:52
u8 hicn_dpo_strategy_id_is_valid(int strategy_id)
Check if a given id points to a strategy and the corresponding dpo ctx.
int hicn_strategy_get_all_available(void)
Return the number of available strategies. This number can be used to as an upperbond for valid vfts_...
const hicn_dpo_vft_t * hicn_dpo_get_vft(dpo_type_t vfts_id)
Get the vft to manage the dpo context.
dpo_type_t hicn_dpo_register_new_type(const char *const *const *hicn_nodes, const hicn_dpo_vft_t *hicn_dpo_vft, const hicn_strategy_vft_t *hicn_strategy_vft, const dpo_vft_t *dpo_ctx_vft)
Register a new hICN dpo to the manager.
dpo_type_t(* hicn_dpo_get_type)(void)
Definition: strategy_dpo_manager.h:50
int(* hicn_dpo_add_update_nh)(hicn_face_id_t nh, index_t dpo_idx)
Definition: strategy_dpo_manager.h:56
const hicn_strategy_vft_t * hicn_dpo_get_strategy_vft_from_id(u8 vfts_id)
Get the vft with the hICN strategy functions from the strategy id.
const hicn_dpo_vft_t * hicn_dpo_get_vft_from_id(u8 strategy_id)
Get the vft to manage the dpo context from the strategy id.
Definition of the virtual function table for a hICN DPO.
Definition: strategy_dpo_manager.h:45
u8 hicn_dpo_get_vft_id(const dpo_id_t *dpo)
Return the dpo_vtf and strategy_vtf identifier.
Definition: strategy.h:50
void hicn_dpos_init(void)
Initialize all the types hicn dpo registered.
void hicn_dpo_register(const hicn_dpo_vft_t *hicn_dpo)
Registers a module at compilation time to be initialized as part of the ctor.
void(* hicn_dpo_create)(fib_protocol_t proto, const hicn_face_id_t *nh, int nh_len, index_t *dpo_idx)
Definition: strategy_dpo_manager.h:53