Hybrid ICN (hICN) plugin  v21.06-rc0-4-g18fa668
Classes | Macros | Typedefs | Functions
hicn.h File Reference
#include <hicn/hicn.h>
#include "faces/face.h"
#include <netinet/in.h>
#include <vnet/ip/ip.h>
#include <vnet/tcp/tcp_packet.h>
#include <vnet/ip/ip6_packet.h>
#include <vnet/ip/ip4_packet.h>
#include <vnet/buffer.h>
Include dependency graph for hicn.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  hicn_buffer_t
 

Macros

#define ip_address_t   hicn_ip_address_t
 
#define ip_address_cmp   hicn_ip_address_cmp
 
#define ip_prefix_t   hicn_ip_prefix_t
 
#define ip_prefix_cmp   hicn_ip_prefix_cmp
 
#define ip_prefix_len   hicn_ip_prefix_len
 
#define ip_prefix_len(_a)   (_a)->len
 
#define ISV6(isv6, dov6, dov4)   isv6 ? dov6 : dov4
 
#define HICN_IS_NAMEHASH_CACHED(b)   (((u64) (b->opaque2)[0] != 0) || ((u64) (b->opaque2)[1] != 0))
 
#define VLIB_BUFFER_MIN_CHAIN_SEG_SIZE   (128)
 
#define HICN_BUFFER_FLAGS_PKT_LESS_TWO_CL   0x02
 
#define HICN_BUFFER_FLAGS_FROM_UDP4_TUNNEL   0x04
 
#define HICN_BUFFER_FLAGS_FROM_UDP6_TUNNEL   0x08
 
#define HICN_BUFFER_FLAGS_FROM_CS   0x10
 

Typedefs

typedef u8 weight_t
 

Functions

 STATIC_ASSERT (sizeof(hicn_buffer_t)<=STRUCT_SIZE_OF(vlib_buffer_t, opaque2), "hICN buffer opaque2 meta-data too large for vlib_buffer")
 
always_inline hicn_buffer_thicn_get_buffer (vlib_buffer_t *b0)
 
always_inline u8 hicn_is_v6 (hicn_header_t *pkt_hdr)