int verbose = va_arg (*args, int);
netmap_main_t *nm = &netmap_main;
netmap_if_t *nif = vec_elt_at_index (nm->interfaces, dev_instance);
- uword indent = format_get_indent (s);
+ u32 indent = format_get_indent (s);
s = format (s, "NETMAP interface");
if (verbose)
vlib_node_runtime_t * node, vlib_frame_t * frame)
{
netmap_main_t *nm = &netmap_main;
- u32 *buffers = vlib_frame_args (frame);
+ u32 *buffers = vlib_frame_vector_args (frame);
u32 n_left = frame->n_vectors;
f64 const time_constant = 1e3;
vnet_interface_output_runtime_t *rd = (void *) node->runtime_data;
b0 = vlib_get_buffer (vm, bi);
len = b0->current_length;
/* memcpy */
- clib_memcpy ((u8 *) NETMAP_BUF (ring, slot->buf_idx) + offset,
- vlib_buffer_get_current (b0), len);
+ clib_memcpy_fast ((u8 *) NETMAP_BUF (ring, slot->buf_idx) +
+ offset, vlib_buffer_get_current (b0), len);
offset += len;
}
while ((bi = b0->next_buffer));
frame->n_vectors ? NETMAP_TX_ERROR_PENDING_MSGS :
NETMAP_TX_ERROR_NO_FREE_SLOTS), n_left);
- vlib_buffer_free (vm, vlib_frame_args (frame), frame->n_vectors);
+ vlib_buffer_free (vm, vlib_frame_vector_args (frame), frame->n_vectors);
return frame->n_vectors;
}