FD.io VPP  v17.07-30-g839fa73
Vector Packet Processing
buffer.h File Reference
+ Include dependency graph for buffer.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  vnet_buffer_opaque_t
 
struct  vnet_buffer_opaque2_t
 

Macros

#define LOG2_IP_BUFFER_L4_CHECKSUM_COMPUTED   LOG2_VLIB_BUFFER_FLAG_USER(1)
 
#define LOG2_IP_BUFFER_L4_CHECKSUM_CORRECT   LOG2_VLIB_BUFFER_FLAG_USER(2)
 
#define IP_BUFFER_L4_CHECKSUM_COMPUTED   (1 << LOG2_IP_BUFFER_L4_CHECKSUM_COMPUTED)
 
#define IP_BUFFER_L4_CHECKSUM_CORRECT   (1 << LOG2_IP_BUFFER_L4_CHECKSUM_CORRECT)
 
#define LOG2_ETH_BUFFER_VLAN_2_DEEP   LOG2_VLIB_BUFFER_FLAG_USER(3)
 
#define LOG2_ETH_BUFFER_VLAN_1_DEEP   LOG2_VLIB_BUFFER_FLAG_USER(4)
 
#define ETH_BUFFER_VLAN_2_DEEP   (1 << LOG2_ETH_BUFFER_VLAN_2_DEEP)
 
#define ETH_BUFFER_VLAN_1_DEEP   (1 << LOG2_ETH_BUFFER_VLAN_1_DEEP)
 
#define ETH_BUFFER_VLAN_BITS
 
#define LOG2_BUFFER_HANDOFF_NEXT_VALID   LOG2_VLIB_BUFFER_FLAG_USER(6)
 
#define BUFFER_HANDOFF_NEXT_VALID   (1 << LOG2_BUFFER_HANDOFF_NEXT_VALID)
 
#define LOG2_VNET_BUFFER_LOCALLY_ORIGINATED   LOG2_VLIB_BUFFER_FLAG_USER(7)
 
#define VNET_BUFFER_LOCALLY_ORIGINATED   (1 << LOG2_VNET_BUFFER_LOCALLY_ORIGINATED)
 
#define LOG2_VNET_BUFFER_SPAN_CLONE   LOG2_VLIB_BUFFER_FLAG_USER(8)
 
#define VNET_BUFFER_SPAN_CLONE   (1 << LOG2_VNET_BUFFER_SPAN_CLONE)
 
#define foreach_buffer_opaque_union_subtype
 
#define vnet_buffer(b)   ((vnet_buffer_opaque_t *) (b)->opaque)
 

Functions

 STATIC_ASSERT (sizeof(vnet_buffer_opaque_t)<=STRUCT_SIZE_OF(vlib_buffer_t, opaque),"VNET buffer meta-data too large for vlib_buffer")
 

Macro Definition Documentation

#define BUFFER_HANDOFF_NEXT_VALID   (1 << LOG2_BUFFER_HANDOFF_NEXT_VALID)

Definition at line 65 of file buffer.h.

#define ETH_BUFFER_VLAN_1_DEEP   (1 << LOG2_ETH_BUFFER_VLAN_1_DEEP)

Definition at line 60 of file buffer.h.

#define ETH_BUFFER_VLAN_2_DEEP   (1 << LOG2_ETH_BUFFER_VLAN_2_DEEP)

Definition at line 59 of file buffer.h.

#define ETH_BUFFER_VLAN_BITS
Value:
#define ETH_BUFFER_VLAN_2_DEEP
Definition: buffer.h:59
#define ETH_BUFFER_VLAN_1_DEEP
Definition: buffer.h:60

Definition at line 61 of file buffer.h.

#define foreach_buffer_opaque_union_subtype
Value:
_(ethernet) \
_(ip) \
_(swt) \
_(l2) \
_(l2t) \
_(gre) \
_(l2_classify) \
_(handoff) \
_(policer) \
_(ipsec) \
_(map) \
_(map_t) \
_(ip_frag) \
_(tcp)

Definition at line 73 of file buffer.h.

#define IP_BUFFER_L4_CHECKSUM_COMPUTED   (1 << LOG2_IP_BUFFER_L4_CHECKSUM_COMPUTED)

Definition at line 49 of file buffer.h.

#define IP_BUFFER_L4_CHECKSUM_CORRECT   (1 << LOG2_IP_BUFFER_L4_CHECKSUM_CORRECT)

Definition at line 50 of file buffer.h.

#define LOG2_BUFFER_HANDOFF_NEXT_VALID   LOG2_VLIB_BUFFER_FLAG_USER(6)

Definition at line 64 of file buffer.h.

#define LOG2_ETH_BUFFER_VLAN_1_DEEP   LOG2_VLIB_BUFFER_FLAG_USER(4)

Definition at line 58 of file buffer.h.

#define LOG2_ETH_BUFFER_VLAN_2_DEEP   LOG2_VLIB_BUFFER_FLAG_USER(3)

Definition at line 57 of file buffer.h.

#define LOG2_IP_BUFFER_L4_CHECKSUM_COMPUTED   LOG2_VLIB_BUFFER_FLAG_USER(1)

Definition at line 47 of file buffer.h.

#define LOG2_IP_BUFFER_L4_CHECKSUM_CORRECT   LOG2_VLIB_BUFFER_FLAG_USER(2)

Definition at line 48 of file buffer.h.

#define LOG2_VNET_BUFFER_LOCALLY_ORIGINATED   LOG2_VLIB_BUFFER_FLAG_USER(7)

Definition at line 67 of file buffer.h.

#define LOG2_VNET_BUFFER_SPAN_CLONE   LOG2_VLIB_BUFFER_FLAG_USER(8)

Definition at line 70 of file buffer.h.

#define vnet_buffer (   b)    ((vnet_buffer_opaque_t *) (b)->opaque)

Definition at line 303 of file buffer.h.

#define VNET_BUFFER_LOCALLY_ORIGINATED   (1 << LOG2_VNET_BUFFER_LOCALLY_ORIGINATED)

Definition at line 68 of file buffer.h.

#define VNET_BUFFER_SPAN_CLONE   (1 << LOG2_VNET_BUFFER_SPAN_CLONE)

Definition at line 71 of file buffer.h.

Function Documentation

STATIC_ASSERT ( sizeof(vnet_buffer_opaque_t)<=STRUCT_SIZE_OF(vlib_buffer_t, opaque)  ,
"VNET buffer meta-data too large for vlib_buffer"   
)