memif_main_t *mm = &memif_main;
memif_ring_t *ring;
memif_queue_t *mq;
- u16 buffer_size = VLIB_BUFFER_DATA_SIZE;
+ u16 buffer_size = vlib_buffer_get_default_data_size (vm);
uword n_trace = vlib_get_trace_count (vm, node);
u16 nexts[MEMIF_RX_VECTOR_SZ], *next = nexts;
u32 _to_next_bufs[MEMIF_RX_VECTOR_SZ], *to_next_bufs = _to_next_bufs, *bi;
while (n_from >= 8)
{
- b0 = vlib_get_buffer (vm, po[4].first_buffer_vec_index);
- b1 = vlib_get_buffer (vm, po[5].first_buffer_vec_index);
- b2 = vlib_get_buffer (vm, po[6].first_buffer_vec_index);
- b3 = vlib_get_buffer (vm, po[7].first_buffer_vec_index);
+ b0 = vlib_get_buffer (vm, ptd->buffers[po[0].first_buffer_vec_index]);
+ b1 = vlib_get_buffer (vm, ptd->buffers[po[1].first_buffer_vec_index]);
+ b2 = vlib_get_buffer (vm, ptd->buffers[po[2].first_buffer_vec_index]);
+ b3 = vlib_get_buffer (vm, ptd->buffers[po[3].first_buffer_vec_index]);
+
vlib_prefetch_buffer_header (b0, STORE);
vlib_prefetch_buffer_header (b1, STORE);
vlib_prefetch_buffer_header (b2, STORE);
/* asume that somebody will want to add ethernet header on the packet
so start with IP header at offset 14 */
start_offset = (mode == MEMIF_INTERFACE_MODE_IP) ? 14 : 0;
- buffer_length = VLIB_BUFFER_DATA_SIZE - start_offset;
+ buffer_length = vlib_buffer_get_default_data_size (vm) - start_offset;
cur_slot = mq->last_tail;
last_slot = ring->tail;