16 #ifndef __HICN_STRATEGY__
17 #define __HICN_STRATEGY__
52 void (*hicn_receive_data) (index_t dpo_idx,
int nh_idx);
53 void (*hicn_on_interest_timeout) (index_t dpo_idx);
54 void (*hicn_add_interest) (index_t dpo_idx, hicn_hash_entry_t *pit_entry);
55 u32 (*hicn_select_next_hop) (index_t dpo_idx,
int *nh_idx,
56 hicn_face_id_t *outface);
58 u8 *(*hicn_format_strategy) (u8 *s, va_list *ap);
64 HICN_STRATEGY_NEXT_INTEREST_HITPIT,
65 HICN_STRATEGY_NEXT_INTEREST_HITCS,
66 HICN_STRATEGY_NEXT_INTEREST_FACE4,
67 HICN_STRATEGY_NEXT_INTEREST_FACE6,
68 HICN_STRATEGY_NEXT_ERROR_DROP,
70 } hicn_strategy_next_t;
72 const static char *
const hicn_ip6_nodes[] = {
78 const static char *
const hicn_ip4_nodes[] = {
84 const static char *
const *
const hicn_nodes_strategy[DPO_PROTO_NUM] = {
85 [DPO_PROTO_IP6] = hicn_ip6_nodes,
86 [DPO_PROTO_IP4] = hicn_ip4_nodes,
89 extern vlib_node_registration_t hicn_strategy_node;