40 #ifndef included_vnet_buffer_h 41 #define included_vnet_buffer_h 48 #define foreach_vnet_buffer_flag \ 49 _( 1, L4_CHECKSUM_COMPUTED, "l4-cksum-computed") \ 50 _( 2, L4_CHECKSUM_CORRECT, "l4-cksum-correct") \ 51 _( 3, VLAN_2_DEEP, "vlan-2-deep") \ 52 _( 4, VLAN_1_DEEP, "vlan-1-deep") \ 53 _( 5, SPAN_CLONE, "span-clone") \ 54 _( 6, HANDOFF_NEXT_VALID, "handoff-next-valid") \ 55 _( 7, LOCALLY_ORIGINATED, "local") \ 56 _( 8, IS_IP4, "ip4") \ 57 _( 9, IS_IP6, "ip6") \ 58 _(10, OFFLOAD_IP_CKSUM, "offload-ip-cksum") \ 59 _(11, OFFLOAD_TCP_CKSUM, "offload-tcp-cksum") \ 60 _(12, OFFLOAD_UDP_CKSUM, "offload-udp-cksum") \ 61 _(13, IS_NATED, "nated") \ 62 _(14, L2_HDR_OFFSET_VALID, 0) \ 63 _(15, L3_HDR_OFFSET_VALID, 0) \ 64 _(16, L4_HDR_OFFSET_VALID, 0) \ 65 _(17, FLOW_REPORT, "flow-report") \ 66 _(18, IS_DVR, "dvr") \ 67 _(19, QOS_DATA_VALID, 0) \ 68 _(20, LOOP_COUNTER_VALID, 0) 70 #define VNET_BUFFER_FLAGS_VLAN_BITS \ 71 (VNET_BUFFER_F_VLAN_1_DEEP | VNET_BUFFER_F_VLAN_2_DEEP) 75 #define _(bit, name, v) VNET_BUFFER_F_##name = (1 << LOG2_VLIB_BUFFER_FLAG_USER(bit)), 82 #define _(bit, name, v) VNET_BUFFER_F_LOG2_##name = LOG2_VLIB_BUFFER_FLAG_USER(bit), 87 #define foreach_buffer_opaque_union_subtype \ 200 u32 save_rewrite_length;
331 u32 connection_index;
358 "VNET buffer meta-data too large for vlib_buffer");
360 #define vnet_buffer(b) ((vnet_buffer_opaque_t *) (b)->opaque) 389 #if VLIB_BUFFER_TRACE_TRAJECTORY > 0 391 u16 *trajectory_trace;
403 #define vnet_buffer2(b) ((vnet_buffer_opaque2_t *) (b)->opaque2) 411 "VNET buffer opaque2 meta-data too large for vlib_buffer");
u8 pad[3]
log2 (size of the packing page block)
u32 saved_next_index
saved by drivers for short-cut
u16 data_offset
offset relative to ip hdr
STATIC_ASSERT(sizeof(vnet_buffer_opaque_t)<=STRUCT_SIZE_OF(vlib_buffer_t, opaque),"VNET buffer meta-data too large for vlib_buffer")
u32 tsn
Transmission Sequence Number.
format_function_t format_vnet_buffer
u16 ssn
Stream Sequence Number.
#define foreach_vnet_buffer_flag
Flags that are set in the high order bits of ((vlib_buffer*)b)->flags.
u16 hdr_offset
offset relative to ip hdr
#define STRUCT_SIZE_OF(t, f)
u8 subconn_idx
index of the sub_connection being used