X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fplugins%2Fmarvell%2Fpp2%2Foutput.c;h=dbd106a59306052c704289467301dd6cf749597d;hb=refs%2Fchanges%2F16%2F15916%2F4;hp=108bbef72f29596e12d88524f6473d016a7aa0b1;hpb=8f49936b20508d57968f01dcb18f8d31b1a58f3f;p=vpp.git diff --git a/src/plugins/marvell/pp2/output.c b/src/plugins/marvell/pp2/output.c index 108bbef72f2..dbd106a5930 100644 --- a/src/plugins/marvell/pp2/output.c +++ b/src/plugins/marvell/pp2/output.c @@ -39,7 +39,7 @@ mrvl_pp2_interface_tx (vlib_main_t * vm, vec_elt_at_index (ppm->per_thread_data, thread_index); u8 qid = thread_index; mrvl_pp2_outq_t *outq = vec_elt_at_index (ppif->outqs, qid); - u32 *buffers = vlib_frame_args (frame); + u32 *buffers = vlib_frame_vector_args (frame); u16 n_desc = frame->n_vectors, n_left = n_desc, n_sent = n_desc, n_done; struct pp2_ppio_desc *d; u16 mask = outq->size - 1; @@ -67,7 +67,7 @@ mrvl_pp2_interface_tx (vlib_main_t * vm, { u32 bi0 = buffers[0]; vlib_buffer_t *b0 = vlib_get_buffer (vm, bi0); - u64 paddr = vlib_buffer_get_va (vm, b0); + u64 paddr = vlib_buffer_get_pa (vm, b0); pp2_ppio_outq_desc_reset (d); pp2_ppio_outq_desc_set_phys_addr (d, paddr + b0->current_data); @@ -87,7 +87,7 @@ mrvl_pp2_interface_tx (vlib_main_t * vm, /* free unsent buffers */ if (PREDICT_FALSE (n_sent != n_desc)) { - vlib_buffer_free (vm, vlib_frame_args (frame) + n_sent, + vlib_buffer_free (vm, vlib_frame_vector_args (frame) + n_sent, frame->n_vectors - n_sent); vlib_error_count (vm, node->node_index, MRVL_PP2_TX_ERROR_NO_FREE_SLOTS, frame->n_vectors - n_sent); @@ -98,13 +98,13 @@ mrvl_pp2_interface_tx (vlib_main_t * vm, if (n_sent) { u16 slot = outq->head & mask; - buffers = vlib_frame_args (frame); + buffers = vlib_frame_vector_args (frame); u16 n_copy = clib_min (outq->size - slot, n_sent); - clib_memcpy (outq->buffers + slot, buffers, n_copy * sizeof (u32)); + clib_memcpy_fast (outq->buffers + slot, buffers, n_copy * sizeof (u32)); if (PREDICT_FALSE (n_copy < n_sent)) - clib_memcpy (outq->buffers, buffers + n_copy, - (n_sent - n_copy) * sizeof (u32)); + clib_memcpy_fast (outq->buffers, buffers + n_copy, + (n_sent - n_copy) * sizeof (u32)); outq->head += n_sent; }