|
Hybrid ICN (hICN) plugin
v21.06-rc0-4-g18fa668
|
Face cache. More...
#include <netinet/in.h>#include <vnet/buffer.h>#include "hicn.h"#include "pcs.h"#include "hashtb.h"#include "strategy.h"#include "strategy_dpo_ctx.h"#include "strategy_dpo_manager.h"
Go to the source code of this file.
Functions | |
| always_inline void | hicn_get_internal_state (hicn_buffer_t *hicnb, hicn_pit_cs_t *pitcs, hicn_hash_node_t **node, const hicn_strategy_vft_t **strategy_vft, const hicn_dpo_vft_t **dpo_vft, u8 *dpo_ctx_id, hicn_hash_entry_t **hash_entry) |
| Retrieve the hicn state. More... | |
| always_inline void | hicn_store_internal_state (vlib_buffer_t *b, u64 name_hash, u32 node_id, u8 dpo_ctx_id, u8 vft_id, u8 hash_entry_id, u32 bucket_id, u8 bucket_is_overflow) |
| Store the hicn state in the hicn buffer. More... | |
Face cache.
The face cache is an index array of faces that mirror the current state of the forwarder in order to filter out redundant events, and perform set reconciliation.
| always_inline void hicn_get_internal_state | ( | hicn_buffer_t * | hicnb, |
| hicn_pit_cs_t * | pitcs, | ||
| hicn_hash_node_t ** | node, | ||
| const hicn_strategy_vft_t ** | strategy_vft, | ||
| const hicn_dpo_vft_t ** | dpo_vft, | ||
| u8 * | dpo_ctx_id, | ||
| hicn_hash_entry_t ** | hash_entry | ||
| ) |
Retrieve the hicn state.
| hicnb | hicn buffer used to retrieve the hicn state |
| pitcs | pointer to PIT/CS |
| node | node in the hash table referring to the buffer |
| strategy_vft | return value pointing to the strategy vft corresponding to the buffer |
| dpo_vft | return value pointing to the dpo vft corresponding to the buffer |
| dpo_ctx_id | return value pointing to the dpo context id corresponding to the buffer |
| hash_entry | entry in the hash table referring to the buffer |
| always_inline void hicn_store_internal_state | ( | vlib_buffer_t * | b, |
| u64 | name_hash, | ||
| u32 | node_id, | ||
| u8 | dpo_ctx_id, | ||
| u8 | vft_id, | ||
| u8 | hash_entry_id, | ||
| u32 | bucket_id, | ||
| u8 | bucket_is_overflow | ||
| ) |
Store the hicn state in the hicn buffer.
| b | vlib buffer holding the hICN packet |
| name_hash | hash of the hICN name |
| node_id | id of the node in the hash table referring to the buffer |
| dpo_ctx_id | id of the dpo context id corresponding to the buffer |
| vft_id | id of the strategy vft corresponding to the buffer |
| hash_entry_id | id of the entry in the hash table referring to the buffer |
| bucket_id | id of the hasth table bucket that holds the hash entry |
| bucket_is_overflow | 1 if the bucket is from the ht_overflow_buckets pool 0 if the bucket is from the ht_buckets pool |
1.8.17