FD.io VPP  v20.05-21-gb1500e9ff
Vector Packet Processing
hdr_offset_parser.h File Reference
+ Include dependency graph for hdr_offset_parser.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  generic_header_offset_t
 

Macros

#define foreach_gho_flag
 
#define GHO_F_TUNNEL
 
#define GHO_F_OUTER_HDR
 
#define GHO_F_INNER_HDR
 

Typedefs

typedef enum gho_flag_t_ gho_flag_t
 

Enumerations

enum  gho_flag_t_ { foreach_gho_flag }
 

Functions

static_always_inline u8format_generic_header_offset (u8 *s, va_list *args)
 
static_always_inline void vnet_get_inner_header (vlib_buffer_t *b0, generic_header_offset_t *gho)
 
static_always_inline void vnet_get_outer_header (vlib_buffer_t *b0, generic_header_offset_t *gho)
 
static_always_inline void vnet_geneve_inner_header_parser_inline (vlib_buffer_t *b0, generic_header_offset_t *gho)
 
static_always_inline void vnet_gre_inner_header_parser_inline (vlib_buffer_t *b0, generic_header_offset_t *gho)
 
static_always_inline void vnet_ipip_inner_header_parser_inline (vlib_buffer_t *b0, generic_header_offset_t *gho)
 
static_always_inline void vnet_vxlan_inner_header_parser_inline (vlib_buffer_t *b0, generic_header_offset_t *gho)
 
static_always_inline void vnet_generic_inner_header_parser_inline (vlib_buffer_t *b0, generic_header_offset_t *gho)
 
static_always_inline void vnet_generic_outer_header_parser_inline (vlib_buffer_t *b0, generic_header_offset_t *gho, int is_l2, int is_ip4, int is_ip6)
 
static_always_inline void vnet_generic_header_offset_parser (vlib_buffer_t *b0, generic_header_offset_t *gho, int is_l2, int is_ip4, int is_ip6)
 

Macro Definition Documentation

◆ foreach_gho_flag

#define foreach_gho_flag
Value:
_( 0, IP4) \
_( 1, IP6) \
_( 2, TCP) \
_( 3, UDP) \
_( 4, OUTER_IP4) \
_( 5, OUTER_IP6) \
_( 6, OUTER_TCP) \
_( 7, OUTER_UDP) \
_( 8, VXLAN_TUNNEL) \
_( 9, GRE_TUNNEL) \
_( 10, IPIP_TUNNEL) \
_( 11, IPIP6_TUNNEL) \
_( 12, GENEVE_TUNNEL)

Definition at line 27 of file hdr_offset_parser.h.

◆ GHO_F_INNER_HDR

#define GHO_F_INNER_HDR
Value:
(GHO_F_IP4 | \
GHO_F_IP6 | \
GHO_F_UDP | \
GHO_F_TCP)

Definition at line 60 of file hdr_offset_parser.h.

◆ GHO_F_OUTER_HDR

#define GHO_F_OUTER_HDR
Value:
(GHO_F_OUTER_IP4 | \
GHO_F_OUTER_IP6 | \
GHO_F_OUTER_TCP | \
GHO_F_OUTER_UDP)

Definition at line 55 of file hdr_offset_parser.h.

◆ GHO_F_TUNNEL

#define GHO_F_TUNNEL
Value:
(GHO_F_VXLAN_TUNNEL | \
GHO_F_GENEVE_TUNNEL | \
GHO_F_IPIP_TUNNEL | \
GHO_F_IPIP6_TUNNEL | \
GHO_F_GRE_TUNNEL)

Definition at line 49 of file hdr_offset_parser.h.

Typedef Documentation

◆ gho_flag_t

typedef enum gho_flag_t_ gho_flag_t

Enumeration Type Documentation

◆ gho_flag_t_

Enumerator
foreach_gho_flag 

Definition at line 42 of file hdr_offset_parser.h.

Function Documentation

◆ format_generic_header_offset()

static_always_inline u8* format_generic_header_offset ( u8 s,
va_list *  args 
)

Definition at line 81 of file hdr_offset_parser.h.

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

◆ vnet_generic_header_offset_parser()

static_always_inline void vnet_generic_header_offset_parser ( vlib_buffer_t b0,
generic_header_offset_t gho,
int  is_l2,
int  is_ip4,
int  is_ip6 
)

Definition at line 472 of file hdr_offset_parser.h.

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

◆ vnet_generic_inner_header_parser_inline()

static_always_inline void vnet_generic_inner_header_parser_inline ( vlib_buffer_t b0,
generic_header_offset_t gho 
)

Definition at line 355 of file hdr_offset_parser.h.

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

◆ vnet_generic_outer_header_parser_inline()

static_always_inline void vnet_generic_outer_header_parser_inline ( vlib_buffer_t b0,
generic_header_offset_t gho,
int  is_l2,
int  is_ip4,
int  is_ip6 
)

Definition at line 370 of file hdr_offset_parser.h.

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

◆ vnet_geneve_inner_header_parser_inline()

static_always_inline void vnet_geneve_inner_header_parser_inline ( vlib_buffer_t b0,
generic_header_offset_t gho 
)

Definition at line 153 of file hdr_offset_parser.h.

+ Here is the caller graph for this function:

◆ vnet_get_inner_header()

static_always_inline void vnet_get_inner_header ( vlib_buffer_t b0,
generic_header_offset_t gho 
)

Definition at line 135 of file hdr_offset_parser.h.

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

◆ vnet_get_outer_header()

static_always_inline void vnet_get_outer_header ( vlib_buffer_t b0,
generic_header_offset_t gho 
)

Definition at line 144 of file hdr_offset_parser.h.

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

◆ vnet_gre_inner_header_parser_inline()

static_always_inline void vnet_gre_inner_header_parser_inline ( vlib_buffer_t b0,
generic_header_offset_t gho 
)

Definition at line 164 of file hdr_offset_parser.h.

+ Here is the caller graph for this function:

◆ vnet_ipip_inner_header_parser_inline()

static_always_inline void vnet_ipip_inner_header_parser_inline ( vlib_buffer_t b0,
generic_header_offset_t gho 
)

Definition at line 175 of file hdr_offset_parser.h.

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

◆ vnet_vxlan_inner_header_parser_inline()

static_always_inline void vnet_vxlan_inner_header_parser_inline ( vlib_buffer_t b0,
generic_header_offset_t gho 
)

Definition at line 252 of file hdr_offset_parser.h.

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