vnet_buffer (from)->ip.adj_index[VLIB_RX];
vnet_buffer (to)->ip.adj_index[VLIB_TX] =
vnet_buffer (from)->ip.adj_index[VLIB_TX];
+
+ /* Copy QoS Bits */
+ if (PREDICT_TRUE (from->flags & VNET_BUFFER_F_QOS_DATA_VALID))
+ {
+ vnet_buffer2 (to)->qos = vnet_buffer2 (from)->qos;
+ to->flags |= VNET_BUFFER_F_QOS_DATA_VALID;
+ }
}
static vlib_buffer_t *
return 0;
vlib_buffer_t *b = vlib_get_buffer (vm, *bi);
- vlib_buffer_free_list_t *fl =
- vlib_buffer_get_free_list (vm, VLIB_BUFFER_DEFAULT_FREE_LIST_INDEX);
- vlib_buffer_init_for_free_list (b, fl);
VLIB_BUFFER_TRACE_TRAJECTORY_INIT (b);
vlib_buffer_copy_trace_flag (vm, org_b, *bi);
rem = clib_net_to_host_u16 (ip4->length) - sizeof (ip4_header_t);
max =
- (clib_min (mtu, VLIB_BUFFER_DATA_SIZE) - sizeof (ip4_header_t)) & ~0x7;
+ (clib_min (mtu, vlib_buffer_get_default_data_size (vm)) -
+ sizeof (ip4_header_t)) & ~0x7;
if (rem >
(vlib_buffer_length_in_chain (vm, from_b) - sizeof (ip4_header_t)))