aboutsummaryrefslogtreecommitdiffstats
path: root/hicn-plugin/src/strategy_dpo_manager.h
diff options
context:
space:
mode:
Diffstat (limited to 'hicn-plugin/src/strategy_dpo_manager.h')
-rw-r--r--hicn-plugin/src/strategy_dpo_manager.h26
1 files changed, 18 insertions, 8 deletions
diff --git a/hicn-plugin/src/strategy_dpo_manager.h b/hicn-plugin/src/strategy_dpo_manager.h
index 686c2f8c8..63fcb930b 100644
--- a/hicn-plugin/src/strategy_dpo_manager.h
+++ b/hicn-plugin/src/strategy_dpo_manager.h
@@ -29,21 +29,16 @@
*/
typedef struct hicn_dpo_vft_s
{
- hicn_dpo_ctx_t *(*hicn_dpo_get_ctx) (index_t dpo_idx); /**< Retrieve the dpo ctx*/
int (*hicn_dpo_is_type) (const dpo_id_t * dpo);
/**< Check if the type of the
hICN DPO is the expected */
dpo_type_t (*hicn_dpo_get_type) (void);
/**< Return the type of the hICN dpo */
void (*hicn_dpo_module_init) (void); /**< Initialize the hICN dpo */
- int (*hicn_dpo_create) (dpo_proto_t proto, const dpo_id_t * nh, int nh_len, index_t * dpo_idx); /**< Create the context of the hICN dpo */
+ void (*hicn_dpo_create) (dpo_proto_t proto, const dpo_id_t * nh, int nh_len, index_t * dpo_idx); /**< Create the context of the hICN dpo */
int (*hicn_dpo_add_update_nh) (const dpo_id_t * nh, index_t dpo_idx); /**< Add a next hop to the hICN dpo context */
- int (*hicn_dpo_del_nh) (hicn_face_id_t face_id, index_t dpo_idx,
- fib_prefix_t * fib_pfx);
- /**< Add a next hop to the hICN dpo context */
- void (*hicn_dpo_lock_dpo_ctx) (dpo_id_t * dpo);
- void (*hicn_dpo_unlock_dpo_ctx) (dpo_id_t * dpo);
- u8 *(*format_hicn_dpo) (u8 * s, va_list * ap);
+ int (*hicn_dpo_del_nh) (hicn_face_id_t face_id, index_t dpo_idx);
+ u8 *(*hicn_dpo_format) (u8 * s, int, ...);
/**< Format an hICN dpo*/
} hicn_dpo_vft_t;
@@ -53,6 +48,21 @@ typedef struct hicn_dpo_vft_s
*/
extern hicn_dpo_vft_t default_dpo;
+const static char *const hicn_ip6_nodes[] = {
+ "hicn-iface-ip6-input", // this is the name you give your node in VLIB_REGISTER_NODE
+ NULL,
+};
+
+const static char *const hicn_ip4_nodes[] = {
+ "hicn-iface-ip4-input", // this is the name you give your node in VLIB_REGISTER_NODE
+ NULL,
+};
+
+const static char *const *const hicn_nodes_strategy[DPO_PROTO_NUM] = {
+ [DPO_PROTO_IP6] = hicn_ip6_nodes,
+ [DPO_PROTO_IP4] = hicn_ip4_nodes,
+};
+
/**
* @brief Register a new hICN dpo to the manager.
*