16 #ifndef __HICN_STATE__
17 #define __HICN_STATE__
19 #include <netinet/in.h>
20 #include <vnet/buffer.h>
55 hicn_hash_node_t **node,
58 hicn_hash_entry_t **hash_entry)
60 *node = pool_elt_at_index (pitcs->pcs_table->ht_nodes, hicnb->node_id);
63 *dpo_ctx_id = hicnb->dpo_ctx_id;
65 hicn_hash_bucket_t *bucket;
66 if (hicnb->hash_bucket_flags & HICN_HASH_NODE_OVERFLOW_BUCKET)
67 bucket = pool_elt_at_index (pitcs->pcs_table->ht_overflow_buckets,
71 (hicn_hash_bucket_t *) (pitcs->pcs_table->ht_buckets + hicnb->bucket_id);
73 *hash_entry = &(bucket->hb_entries[hicnb->hash_entry_id]);
98 u8 dpo_ctx_id, u8 vft_id, u8 hash_entry_id,
99 u32 bucket_id, u8 bucket_is_overflow)
102 hicnb->name_hash = name_hash;
103 hicnb->node_id = node_id;
104 hicnb->dpo_ctx_id = dpo_ctx_id;
105 hicnb->vft_id = vft_id;
106 hicnb->hash_entry_id = hash_entry_id;
107 hicnb->bucket_id = bucket_id;
108 hicnb->hash_bucket_flags =
109 HICN_HASH_NODE_OVERFLOW_BUCKET * bucket_is_overflow;