Hybrid ICN (hICN) plugin  v21.06-rc0-4-g18fa668
Functions
state.h File Reference

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"
Include dependency graph for state.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...
 

Detailed Description

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.

Function Documentation

◆ hicn_get_internal_state()

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.

Parameters
hicnbhicn buffer used to retrieve the hicn state
pitcspointer to PIT/CS
nodenode in the hash table referring to the buffer
strategy_vftreturn value pointing to the strategy vft corresponding to the buffer
dpo_vftreturn value pointing to the dpo vft corresponding to the buffer
dpo_ctx_idreturn value pointing to the dpo context id corresponding to the buffer
hash_entryentry in the hash table referring to the buffer

◆ hicn_store_internal_state()

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.

Parameters
bvlib buffer holding the hICN packet
name_hashhash of the hICN name
node_idid of the node in the hash table referring to the buffer
dpo_ctx_idid of the dpo context id corresponding to the buffer
vft_idid of the strategy vft corresponding to the buffer
hash_entry_idid of the entry in the hash table referring to the buffer
bucket_idid of the hasth table bucket that holds the hash entry
bucket_is_overflow1 if the bucket is from the ht_overflow_buckets pool 0 if the bucket is from the ht_buckets pool