FD.io VPP  v20.09-64-g4f7b92f0a
Vector Packet Processing
bier_hdr_inlines.h File Reference
+ Include dependency graph for bier_hdr_inlines.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define BIER_RX_ITF   (~0 - 1)
 The BIER inline functions acting on the bier header. More...
 
#define BIER_HDR_1ST_NIBBLE_MASK   0xf0000000
 Mask and shift values for the fields incorporated into the header's first word. More...
 
#define BIER_HDR_VERSION_FIELD_MASK   0x0f000000
 
#define BIER_HDR_LEN_FIELD_MASK   0x00f00000
 
#define BIER_HDR_ENTROPY_FIELD_MASK   0x000fffff
 
#define BIER_HDR_1ST_NIBBLE_SHIFT   28
 
#define BIER_HDR_VERSION_FIELD_SHIFT   24
 
#define BIER_HDR_LEN_FIELD_SHIFT   20
 
#define BIER_HDR_ENTROPY_FIELD_SHIFT   0
 
#define BIER_HDR_1ST_NIBBLE_VALUE   0x5
 
#define BIER_HDR_PROTO_FIELD_MASK   0x003f
 Mask and shift values for fields in the headers training word. More...
 
#define BIER_HDR_OAM_FIELD_MASK   0xc000
 
#define BIER_HDR_DSCP_FIELD_MASK   0x0fc0
 
#define BIER_HDR_DSCP_FIELD_SHIFT   6
 
#define BIER_HDR_PROTO_FIELD_SHIFT   0
 
#define BIER_HDR_OAM_FIELD_SHIFT   14
 
#define BIER_HDR_FIRST_WORD(version, len, entropy)
 

Functions

static bier_hdr_version_t bier_hdr_get_version (const bier_hdr_t *bier_hdr)
 
static bier_hdr_len_id_t bier_hdr_get_len_id (const bier_hdr_t *bier_hdr)
 
static bier_hdr_entropy_t bier_hdr_get_entropy (const bier_hdr_t *bier_hdr)
 
static void bier_hdr_1st_nibble (bier_hdr_t *hdr)
 
static u8 bier_hdr_get_1st_nibble (bier_hdr_t *hdr)
 
static void bier_hdr_set_version (bier_hdr_t *hdr, bier_hdr_version_t version)
 
static void bier_hdr_set_len_id (bier_hdr_t *hdr, bier_hdr_len_id_t len)
 
static void bier_hdr_set_entropy (bier_hdr_t *hdr, bier_hdr_entropy_t entropy)
 
static void bier_hdr_ntoh (bier_hdr_t *bier_hdr)
 
static void bier_hdr_hton (bier_hdr_t *bier_hdr)
 
static bier_hdr_src_id_t bier_hdr_get_src_id (const bier_hdr_t *bier_hdr)
 
static void bier_hdr_set_src_id (bier_hdr_t *bier_hdr, bier_hdr_src_id_t src_id)
 
static void bier_hdr_set_proto_id (bier_hdr_t *bier_hdr, bier_hdr_proto_id_t proto)
 
static bier_hdr_proto_id_t bier_hdr_get_proto_id (const bier_hdr_t *bier_hdr)
 
static void bier_hdr_clear (bier_hdr_t *bier_hdr)
 
static void bier_hdr_init (bier_hdr_t *bier_hdr, bier_hdr_version_t version, bier_hdr_proto_id_t proto, bier_hdr_len_id_t len, bier_hdr_entropy_t entropy, bier_bp_t src)
 
static size_t bier_hdr_str_num_bytes (const bier_hdr_t *bier_hdr)
 
static size_t bier_hdr_num_bytes (const bier_hdr_t *bier_hdr)
 
static void bier_bit_string_init_from_hdr (bier_hdr_t *bier_hdr, bier_bit_string_t *bit_string)
 

Macro Definition Documentation

◆ BIER_HDR_1ST_NIBBLE_MASK

#define BIER_HDR_1ST_NIBBLE_MASK   0xf0000000

Mask and shift values for the fields incorporated into the header's first word.

Definition at line 38 of file bier_hdr_inlines.h.

◆ BIER_HDR_1ST_NIBBLE_SHIFT

#define BIER_HDR_1ST_NIBBLE_SHIFT   28

Definition at line 43 of file bier_hdr_inlines.h.

◆ BIER_HDR_1ST_NIBBLE_VALUE

#define BIER_HDR_1ST_NIBBLE_VALUE   0x5

Definition at line 48 of file bier_hdr_inlines.h.

◆ BIER_HDR_DSCP_FIELD_MASK

#define BIER_HDR_DSCP_FIELD_MASK   0x0fc0

Definition at line 55 of file bier_hdr_inlines.h.

◆ BIER_HDR_DSCP_FIELD_SHIFT

#define BIER_HDR_DSCP_FIELD_SHIFT   6

Definition at line 56 of file bier_hdr_inlines.h.

◆ BIER_HDR_ENTROPY_FIELD_MASK

#define BIER_HDR_ENTROPY_FIELD_MASK   0x000fffff

Definition at line 41 of file bier_hdr_inlines.h.

◆ BIER_HDR_ENTROPY_FIELD_SHIFT

#define BIER_HDR_ENTROPY_FIELD_SHIFT   0

Definition at line 46 of file bier_hdr_inlines.h.

◆ BIER_HDR_FIRST_WORD

#define BIER_HDR_FIRST_WORD (   version,
  len,
  entropy 
)
Value:
BIER_HDR_1ST_NIBBLE_SHIFT) | \
option version
Definition: sample.api:19
#define BIER_HDR_ENTROPY_FIELD_MASK
#define BIER_HDR_ENTROPY_FIELD_SHIFT
#define BIER_HDR_VERSION_FIELD_SHIFT
#define BIER_HDR_1ST_NIBBLE_VALUE
u8 len
Definition: ip_types.api:92
#define BIER_HDR_LEN_FIELD_SHIFT

Definition at line 124 of file bier_hdr_inlines.h.

◆ BIER_HDR_LEN_FIELD_MASK

#define BIER_HDR_LEN_FIELD_MASK   0x00f00000

Definition at line 40 of file bier_hdr_inlines.h.

◆ BIER_HDR_LEN_FIELD_SHIFT

#define BIER_HDR_LEN_FIELD_SHIFT   20

Definition at line 45 of file bier_hdr_inlines.h.

◆ BIER_HDR_OAM_FIELD_MASK

#define BIER_HDR_OAM_FIELD_MASK   0xc000

Definition at line 54 of file bier_hdr_inlines.h.

◆ BIER_HDR_OAM_FIELD_SHIFT

#define BIER_HDR_OAM_FIELD_SHIFT   14

Definition at line 58 of file bier_hdr_inlines.h.

◆ BIER_HDR_PROTO_FIELD_MASK

#define BIER_HDR_PROTO_FIELD_MASK   0x003f

Mask and shift values for fields in the headers training word.

Definition at line 53 of file bier_hdr_inlines.h.

◆ BIER_HDR_PROTO_FIELD_SHIFT

#define BIER_HDR_PROTO_FIELD_SHIFT   0

Definition at line 57 of file bier_hdr_inlines.h.

◆ BIER_HDR_VERSION_FIELD_MASK

#define BIER_HDR_VERSION_FIELD_MASK   0x0f000000

Definition at line 39 of file bier_hdr_inlines.h.

◆ BIER_HDR_VERSION_FIELD_SHIFT

#define BIER_HDR_VERSION_FIELD_SHIFT   24

Definition at line 44 of file bier_hdr_inlines.h.

◆ BIER_RX_ITF

#define BIER_RX_ITF   (~0 - 1)

The BIER inline functions acting on the bier header.

Special Value of the BIER RX interface

Definition at line 32 of file bier_hdr_inlines.h.

Function Documentation

◆ bier_bit_string_init_from_hdr()

static void bier_bit_string_init_from_hdr ( bier_hdr_t bier_hdr,
bier_bit_string_t bit_string 
)
inlinestatic

Definition at line 215 of file bier_hdr_inlines.h.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ bier_hdr_1st_nibble()

static void bier_hdr_1st_nibble ( bier_hdr_t hdr)
inlinestatic

Definition at line 85 of file bier_hdr_inlines.h.

+ Here is the caller graph for this function:

◆ bier_hdr_clear()

static void bier_hdr_clear ( bier_hdr_t bier_hdr)
inlinestatic

Definition at line 176 of file bier_hdr_inlines.h.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ bier_hdr_get_1st_nibble()

static u8 bier_hdr_get_1st_nibble ( bier_hdr_t hdr)
inlinestatic

Definition at line 93 of file bier_hdr_inlines.h.

+ Here is the caller graph for this function:

◆ bier_hdr_get_entropy()

static bier_hdr_entropy_t bier_hdr_get_entropy ( const bier_hdr_t bier_hdr)
inlinestatic

Definition at line 77 of file bier_hdr_inlines.h.

+ Here is the caller graph for this function:

◆ bier_hdr_get_len_id()

static bier_hdr_len_id_t bier_hdr_get_len_id ( const bier_hdr_t bier_hdr)
inlinestatic

Definition at line 69 of file bier_hdr_inlines.h.

+ Here is the caller graph for this function:

◆ bier_hdr_get_proto_id()

static bier_hdr_proto_id_t bier_hdr_get_proto_id ( const bier_hdr_t bier_hdr)
inlinestatic

Definition at line 169 of file bier_hdr_inlines.h.

+ Here is the caller graph for this function:

◆ bier_hdr_get_src_id()

static bier_hdr_src_id_t bier_hdr_get_src_id ( const bier_hdr_t bier_hdr)
inlinestatic

Definition at line 149 of file bier_hdr_inlines.h.

+ Here is the caller graph for this function:

◆ bier_hdr_get_version()

static bier_hdr_version_t bier_hdr_get_version ( const bier_hdr_t bier_hdr)
inlinestatic

Definition at line 61 of file bier_hdr_inlines.h.

+ Here is the caller graph for this function:

◆ bier_hdr_hton()

static void bier_hdr_hton ( bier_hdr_t bier_hdr)
inlinestatic

Definition at line 141 of file bier_hdr_inlines.h.

+ Here is the caller graph for this function:

◆ bier_hdr_init()

static void bier_hdr_init ( bier_hdr_t bier_hdr,
bier_hdr_version_t  version,
bier_hdr_proto_id_t  proto,
bier_hdr_len_id_t  len,
bier_hdr_entropy_t  entropy,
bier_bp_t  src 
)
inlinestatic

Definition at line 184 of file bier_hdr_inlines.h.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ bier_hdr_ntoh()

static void bier_hdr_ntoh ( bier_hdr_t bier_hdr)
inlinestatic

Definition at line 133 of file bier_hdr_inlines.h.

+ Here is the caller graph for this function:

◆ bier_hdr_num_bytes()

static size_t bier_hdr_num_bytes ( const bier_hdr_t bier_hdr)
inlinestatic

Definition at line 208 of file bier_hdr_inlines.h.

+ Here is the call graph for this function:

◆ bier_hdr_set_entropy()

static void bier_hdr_set_entropy ( bier_hdr_t hdr,
bier_hdr_entropy_t  entropy 
)
inlinestatic

Definition at line 116 of file bier_hdr_inlines.h.

+ Here is the caller graph for this function:

◆ bier_hdr_set_len_id()

static void bier_hdr_set_len_id ( bier_hdr_t hdr,
bier_hdr_len_id_t  len 
)
inlinestatic

Definition at line 108 of file bier_hdr_inlines.h.

+ Here is the caller graph for this function:

◆ bier_hdr_set_proto_id()

static void bier_hdr_set_proto_id ( bier_hdr_t bier_hdr,
bier_hdr_proto_id_t  proto 
)
inlinestatic

Definition at line 161 of file bier_hdr_inlines.h.

+ Here is the caller graph for this function:

◆ bier_hdr_set_src_id()

static void bier_hdr_set_src_id ( bier_hdr_t bier_hdr,
bier_hdr_src_id_t  src_id 
)
inlinestatic

Definition at line 155 of file bier_hdr_inlines.h.

+ Here is the caller graph for this function:

◆ bier_hdr_set_version()

static void bier_hdr_set_version ( bier_hdr_t hdr,
bier_hdr_version_t  version 
)
inlinestatic

Definition at line 100 of file bier_hdr_inlines.h.

+ Here is the caller graph for this function:

◆ bier_hdr_str_num_bytes()

static size_t bier_hdr_str_num_bytes ( const bier_hdr_t bier_hdr)
inlinestatic

Definition at line 201 of file bier_hdr_inlines.h.

+ Here is the call graph for this function:
+ Here is the caller graph for this function: