From a3d5986a35743a3ca1020155bed8267b5246d155 Mon Sep 17 00:00:00 2001 From: Damjan Marion Date: Sat, 10 Nov 2018 10:23:00 +0100 Subject: [PATCH] vlib rename vlib_frame_args(...) to vlib_frame_scalar_args(..) Typically we have scalar_size == 0, so it doesn't matter but vlib_frame_args was providing pointer to scalar frame data, not vector data. To avoid future confusion function is renamed to vlib_frame_scalar_args(...) Change-Id: I48b75523b46d487feea24f3f3cb10c528dde516f Signed-off-by: Damjan Marion --- docs/gettingstarted/developers/vnet.md | 2 +- src/examples/vlib/main_stub.c | 4 ++-- src/plugins/avf/output.c | 2 +- src/plugins/marvell/pp2/output.c | 6 +++--- src/plugins/memif/device.c | 6 +++--- src/plugins/vmxnet3/output.c | 2 +- src/vlib/error.c | 2 +- src/vlib/main.c | 1 + src/vlib/node.c | 2 +- src/vlib/node_funcs.h | 5 +---- src/vlibmemory/vlib_api.c | 4 ++-- src/vnet/bonding/device.c | 4 ++-- src/vnet/devices/af_packet/device.c | 4 ++-- src/vnet/devices/netmap/device.c | 4 ++-- src/vnet/devices/pipe/pipe.c | 2 +- src/vnet/devices/virtio/device.c | 2 +- src/vnet/devices/virtio/vhost_user_output.c | 4 ++-- src/vnet/ethernet/interface.c | 2 +- src/vnet/interface_output.c | 10 +++++----- src/vnet/ip/punt.c | 2 +- src/vnet/pg/output.c | 4 ++-- src/vnet/pipeline.h | 10 +++++----- src/vnet/srp/interface.c | 2 +- src/vnet/unix/tapcli.c | 4 ++-- src/vnet/unix/tuntap.c | 6 +++--- 25 files changed, 47 insertions(+), 49 deletions(-) diff --git a/docs/gettingstarted/developers/vnet.md b/docs/gettingstarted/developers/vnet.md index cd9e22f6428..60362f4b360 100644 --- a/docs/gettingstarted/developers/vnet.md +++ b/docs/gettingstarted/developers/vnet.md @@ -52,7 +52,7 @@ units to convert buffer indices to buffer pointers: u16 nexts[VLIB_FRAME_SIZE], *next; n_left_from = frame->n_vectors; - from = vlib_frame_args (frame); + from = vlib_frame_vector_args (frame); /* * Convert up to VLIB_FRAME_SIZE indices in "from" to diff --git a/src/examples/vlib/main_stub.c b/src/examples/vlib/main_stub.c index 3b19c53f720..c5c19aaa01a 100644 --- a/src/examples/vlib/main_stub.c +++ b/src/examples/vlib/main_stub.c @@ -50,7 +50,7 @@ static u8 * format_my_node_frame (u8 * s, va_list * va) { vlib_frame_t *f = va_arg (*va, vlib_frame_t *); - my_frame_t *g = vlib_frame_args (f); + my_frame_t *g = vlib_frame_scalar_args (f); int i; s = format (s, "scalar %d, vector { ", g->scalar); @@ -82,7 +82,7 @@ my_func (vlib_main_t * vm, vlib_node_runtime_t * rt, vlib_frame_t * f) { vlib_frame_t *next = vlib_get_next_frame (vm, rt, /* next index */ 0); n_left = VLIB_FRAME_SIZE - next->n_vectors; - y = vlib_frame_args (next); + y = vlib_frame_scalar_args (next); y->scalar = serial++; } else diff --git a/src/plugins/avf/output.c b/src/plugins/avf/output.c index 72892d16dff..e4b4228c71d 100644 --- a/src/plugins/avf/output.c +++ b/src/plugins/avf/output.c @@ -45,7 +45,7 @@ VNET_DEVICE_CLASS_TX_FN (avf_device_class) (vlib_main_t * vm, u8 qid = thread_index; avf_txq_t *txq = vec_elt_at_index (ad->txqs, qid % ad->num_queue_pairs); avf_tx_desc_t *d0, *d1, *d2, *d3; - u32 *buffers = vlib_frame_args (frame); + u32 *buffers = vlib_frame_vector_args (frame); u32 bi0, bi1, bi2, bi3; u16 n_left, n_left_to_send, n_in_batch; vlib_buffer_t *b0, *b1, *b2, *b3; diff --git a/src/plugins/marvell/pp2/output.c b/src/plugins/marvell/pp2/output.c index 468440c23a6..18969a458e2 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; @@ -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,7 +98,7 @@ 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)); diff --git a/src/plugins/memif/device.c b/src/plugins/memif/device.c index a05ab87a864..9e4cd69b75f 100644 --- a/src/plugins/memif/device.c +++ b/src/plugins/memif/device.c @@ -103,7 +103,7 @@ memif_interface_tx_inline (vlib_main_t * vm, vlib_node_runtime_t * node, memif_per_thread_data_t * ptd) { memif_ring_t *ring; - u32 *buffers = vlib_frame_args (frame); + u32 *buffers = vlib_frame_vector_args (frame); u32 n_left = frame->n_vectors; u32 n_copy_op; u16 ring_size, mask, slot, free_slots; @@ -287,7 +287,7 @@ no_free_slots: mq->int_count++; } - 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; } @@ -299,7 +299,7 @@ memif_interface_tx_zc_inline (vlib_main_t * vm, vlib_node_runtime_t * node, memif_per_thread_data_t * ptd) { memif_ring_t *ring = mq->ring; - u32 *buffers = vlib_frame_args (frame); + u32 *buffers = vlib_frame_vector_args (frame); u32 n_left = frame->n_vectors; u16 slot, free_slots, n_free; u16 ring_size = 1 << mq->log2_ring_size; diff --git a/src/plugins/vmxnet3/output.c b/src/plugins/vmxnet3/output.c index 2886c31edf7..2a6418dfa44 100644 --- a/src/plugins/vmxnet3/output.c +++ b/src/plugins/vmxnet3/output.c @@ -100,7 +100,7 @@ VNET_DEVICE_CLASS_TX_FN (vmxnet3_device_class) (vlib_main_t * vm, vmxnet3_main_t *vmxm = &vmxnet3_main; vnet_interface_output_runtime_t *rd = (void *) node->runtime_data; vmxnet3_device_t *vd = pool_elt_at_index (vmxm->devices, rd->dev_instance); - u32 *buffers = vlib_frame_args (frame); + u32 *buffers = vlib_frame_vector_args (frame); u32 bi0; vlib_buffer_t *b0; vmxnet3_tx_desc *txd = 0; diff --git a/src/vlib/error.c b/src/vlib/error.c index e6e4f2d5651..691e6396d97 100644 --- a/src/vlib/error.c +++ b/src/vlib/error.c @@ -114,7 +114,7 @@ static uword misc_drop_buffers (vlib_main_t * vm, vlib_node_runtime_t * node, vlib_frame_t * frame) { - return vlib_error_drop_buffers (vm, node, vlib_frame_args (frame), + return vlib_error_drop_buffers (vm, node, vlib_frame_vector_args (frame), /* buffer stride */ 1, frame->n_vectors, /* next */ 0, diff --git a/src/vlib/main.c b/src/vlib/main.c index 1b9eb39bf95..b46caf1bcb4 100644 --- a/src/vlib/main.c +++ b/src/vlib/main.c @@ -157,6 +157,7 @@ vlib_frame_alloc_to_node (vlib_main_t * vm, u32 to_node_index, f->n_vectors = 0; f->scalar_size = scalar_size; f->vector_size = vector_size; + f->flags = 0; fs->n_alloc_frames += 1; diff --git a/src/vlib/node.c b/src/vlib/node.c index c87400d440c..88185ce921f 100644 --- a/src/vlib/node.c +++ b/src/vlib/node.c @@ -529,7 +529,7 @@ null_node_fn (vlib_main_t * vm, u16 n_vectors = frame->n_vectors; vlib_node_increment_counter (vm, node->node_index, 0, n_vectors); - vlib_buffer_free (vm, vlib_frame_args (frame), n_vectors); + vlib_buffer_free (vm, vlib_frame_vector_args (frame), n_vectors); vlib_frame_free (vm, node, frame); return n_vectors; diff --git a/src/vlib/node_funcs.h b/src/vlib/node_funcs.h index 3304d0f0d9f..13614aa14cd 100644 --- a/src/vlib/node_funcs.h +++ b/src/vlib/node_funcs.h @@ -271,9 +271,6 @@ vlib_frame_vector_args (vlib_frame_t * f) /** \brief Get pointer to frame scalar data. - @warning This is almost certainly not the function you wish to call. - See @ref vlib_frame_vector_args instead. - @param f vlib_frame_t pointer @return arbitrary node scalar data @@ -281,7 +278,7 @@ vlib_frame_vector_args (vlib_frame_t * f) @sa vlib_frame_vector_args */ always_inline void * -vlib_frame_args (vlib_frame_t * f) +vlib_frame_scalar_args (vlib_frame_t * f) { return vlib_frame_vector_args (f) - f->scalar_size; } diff --git a/src/vlibmemory/vlib_api.c b/src/vlibmemory/vlib_api.c index 16e6402d9f0..6f0cdf94ef0 100644 --- a/src/vlibmemory/vlib_api.c +++ b/src/vlibmemory/vlib_api.c @@ -464,7 +464,7 @@ api_rx_from_node (vlib_main_t * vm, vec_validate (long_msg, 4095); n_left_from = frame->n_vectors; - from = vlib_frame_args (frame); + from = vlib_frame_vector_args (frame); while (n_left_from > 0) { @@ -498,7 +498,7 @@ api_rx_from_node (vlib_main_t * vm, } /* Free what we've been given. */ - vlib_buffer_free (vm, vlib_frame_args (frame), n_packets); + vlib_buffer_free (vm, vlib_frame_vector_args (frame), n_packets); return n_packets; } diff --git a/src/vnet/bonding/device.c b/src/vnet/bonding/device.c index 13ff644fd73..e7d6cdad407 100644 --- a/src/vnet/bonding/device.c +++ b/src/vnet/bonding/device.c @@ -658,7 +658,7 @@ VNET_DEVICE_CLASS_TX_FN (bond_dev_class) (vlib_main_t * vm, if (PREDICT_FALSE (bif->admin_up == 0)) { - vlib_buffer_free (vm, vlib_frame_args (frame), frame->n_vectors); + vlib_buffer_free (vm, vlib_frame_vector_args (frame), frame->n_vectors); vlib_increment_simple_counter (vnet_main.interface_main.sw_if_counters + VNET_INTERFACE_COUNTER_DROP, thread_index, bif->sw_if_index, @@ -671,7 +671,7 @@ VNET_DEVICE_CLASS_TX_FN (bond_dev_class) (vlib_main_t * vm, n_slaves = vec_len (bif->active_slaves); if (PREDICT_FALSE (n_slaves == 0)) { - vlib_buffer_free (vm, vlib_frame_args (frame), frame->n_vectors); + vlib_buffer_free (vm, vlib_frame_vector_args (frame), frame->n_vectors); vlib_increment_simple_counter (vnet_main.interface_main.sw_if_counters + VNET_INTERFACE_COUNTER_DROP, thread_index, bif->sw_if_index, diff --git a/src/vnet/devices/af_packet/device.c b/src/vnet/devices/af_packet/device.c index b8c7501710e..811642ec7b9 100644 --- a/src/vnet/devices/af_packet/device.c +++ b/src/vnet/devices/af_packet/device.c @@ -81,7 +81,7 @@ af_packet_interface_tx (vlib_main_t * vm, vlib_node_runtime_t * node, vlib_frame_t * frame) { af_packet_main_t *apm = &af_packet_main; - u32 *buffers = vlib_frame_args (frame); + u32 *buffers = vlib_frame_vector_args (frame); u32 n_left = frame->n_vectors; u32 n_sent = 0; vnet_interface_output_runtime_t *rd = (void *) node->runtime_data; @@ -168,7 +168,7 @@ af_packet_interface_tx (vlib_main_t * vm, vlib_error_count (vm, node->node_index, AF_PACKET_TX_ERROR_TXRING_OVERRUN, 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; } diff --git a/src/vnet/devices/netmap/device.c b/src/vnet/devices/netmap/device.c index e39888f4bf7..409a52f1005 100644 --- a/src/vnet/devices/netmap/device.c +++ b/src/vnet/devices/netmap/device.c @@ -98,7 +98,7 @@ netmap_interface_tx (vlib_main_t * vm, 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; @@ -169,7 +169,7 @@ netmap_interface_tx (vlib_main_t * vm, 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; } diff --git a/src/vnet/devices/pipe/pipe.c b/src/vnet/devices/pipe/pipe.c index 8b30f4705d6..f45c08863a3 100644 --- a/src/vnet/devices/pipe/pipe.c +++ b/src/vnet/devices/pipe/pipe.c @@ -140,7 +140,7 @@ pipe_tx (vlib_main_t * vm, vlib_node_runtime_t * node, vlib_frame_t * frame) pipe_t *pipe; n_left_from = frame->n_vectors; - from = vlib_frame_args (frame); + from = vlib_frame_vector_args (frame); while (n_left_from > 0) { diff --git a/src/vnet/devices/virtio/device.c b/src/vnet/devices/virtio/device.c index 69aca65bcef..2b2c853f3ba 100644 --- a/src/vnet/devices/virtio/device.c +++ b/src/vnet/devices/virtio/device.c @@ -180,7 +180,7 @@ virtio_interface_tx_inline (vlib_main_t * vm, vlib_node_runtime_t * node, u16 used, next, avail; u16 sz = vring->size; u16 mask = sz - 1; - u32 *buffers = vlib_frame_args (frame); + u32 *buffers = vlib_frame_vector_args (frame); clib_spinlock_lock_if_init (&vif->lockp); diff --git a/src/vnet/devices/virtio/vhost_user_output.c b/src/vnet/devices/virtio/vhost_user_output.c index 9b6c01704bf..dff129e763e 100644 --- a/src/vnet/devices/virtio/vhost_user_output.c +++ b/src/vnet/devices/virtio/vhost_user_output.c @@ -230,7 +230,7 @@ VNET_DEVICE_CLASS_TX_FN (vhost_user_device_class) (vlib_main_t * vm, vlib_node_runtime_t * node, vlib_frame_t * frame) { - u32 *buffers = vlib_frame_args (frame); + u32 *buffers = vlib_frame_vector_args (frame); u32 n_left = frame->n_vectors; vhost_user_main_t *vum = &vhost_user_main; vnet_interface_output_runtime_t *rd = (void *) node->runtime_data; @@ -555,7 +555,7 @@ done3: thread_index, vui->sw_if_index, 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; } diff --git a/src/vnet/ethernet/interface.c b/src/vnet/ethernet/interface.c index 2cb137c53b3..c66fa8232cf 100644 --- a/src/vnet/ethernet/interface.c +++ b/src/vnet/ethernet/interface.c @@ -405,7 +405,7 @@ simulated_ethernet_interface_tx (vlib_main_t * vm, u32 new_tx_sw_if_index = ~0; n_left_from = frame->n_vectors; - from = vlib_frame_args (frame); + from = vlib_frame_vector_args (frame); vlib_get_buffers (vm, from, bufs, n_left_from); b = bufs; diff --git a/src/vnet/interface_output.c b/src/vnet/interface_output.c index f8585647c81..be4ab7d291a 100644 --- a/src/vnet/interface_output.c +++ b/src/vnet/interface_output.c @@ -99,7 +99,7 @@ vnet_interface_output_trace (vlib_main_t * vm, u32 n_left, *from; n_left = n_buffers; - from = vlib_frame_args (frame); + from = vlib_frame_vector_args (frame); while (n_left >= 4) { @@ -222,7 +222,7 @@ vnet_interface_output_node_inline (vlib_main_t * vm, if (node->flags & VLIB_NODE_FLAG_TRACE) vnet_interface_output_trace (vm, node, frame, n_buffers); - from = vlib_frame_args (frame); + from = vlib_frame_vector_args (frame); if (rt->is_deleted) return vlib_error_drop_buffers (vm, node, from, @@ -475,7 +475,7 @@ vnet_per_buffer_interface_output (vlib_main_t * vm, n_left_from = frame->n_vectors; - from = vlib_frame_args (frame); + from = vlib_frame_vector_args (frame); next_index = node->cached_next_index; while (n_left_from > 0) @@ -669,7 +669,7 @@ static u8 * validate_error_frame (vlib_main_t * vm, vlib_node_runtime_t * node, vlib_frame_t * f) { - u32 *buffers = vlib_frame_args (f); + u32 *buffers = vlib_frame_vector_args (f); vlib_buffer_t *b; u8 *msg = 0; uword i; @@ -719,7 +719,7 @@ process_drop_punt (vlib_main_t * vm, static vlib_error_t memory[VNET_ERROR_N_DISPOSITION]; static char memory_init[VNET_ERROR_N_DISPOSITION]; - buffers = vlib_frame_args (frame); + buffers = vlib_frame_vector_args (frame); first_buffer = buffers; { diff --git a/src/vnet/ip/punt.c b/src/vnet/ip/punt.c index 538a1ac610e..a6d6c08818b 100644 --- a/src/vnet/ip/punt.c +++ b/src/vnet/ip/punt.c @@ -312,7 +312,7 @@ udp46_punt_socket_inline (vlib_main_t * vm, vlib_node_runtime_t * node, vlib_frame_t * frame, bool is_ip4) { - u32 *buffers = vlib_frame_args (frame); + u32 *buffers = vlib_frame_vector_args (frame); uword n_packets = frame->n_vectors; struct iovec *iovecs = 0; punt_main_t *pm = &punt_main; diff --git a/src/vnet/pg/output.c b/src/vnet/pg/output.c index 016e5b370e5..410a433621c 100644 --- a/src/vnet/pg/output.c +++ b/src/vnet/pg/output.c @@ -47,7 +47,7 @@ uword pg_output (vlib_main_t * vm, vlib_node_runtime_t * node, vlib_frame_t * frame) { pg_main_t *pg = &pg_main; - u32 *buffers = vlib_frame_args (frame); + u32 *buffers = vlib_frame_vector_args (frame); uword n_buffers = frame->n_vectors; uword n_left = n_buffers; vnet_interface_output_runtime_t *rd = (void *) node->runtime_data; @@ -80,7 +80,7 @@ pg_output (vlib_main_t * vm, vlib_node_runtime_t * node, vlib_frame_t * frame) pcap_write (&pif->pcap_main); - vlib_buffer_free (vm, vlib_frame_args (frame), n_buffers); + vlib_buffer_free (vm, vlib_frame_vector_args (frame), n_buffers); if (PREDICT_FALSE (pif->lockp != 0)) clib_atomic_release (pif->lockp); diff --git a/src/vnet/pipeline.h b/src/vnet/pipeline.h index ec2ac0b96f3..2ac1a9ac27d 100644 --- a/src/vnet/pipeline.h +++ b/src/vnet/pipeline.h @@ -92,7 +92,7 @@ dispatch_pipeline (vlib_main_t * vm, AUX_DATA_DECL; n_left_from = frame->n_vectors; - from = vlib_frame_args (frame); + from = vlib_frame_vector_args (frame); vlib_get_buffers (vm, from, bufs, n_left_from); for (pi = 0; pi < NSTAGES - 1; pi++) @@ -134,7 +134,7 @@ dispatch_pipeline (vlib_main_t * vm, AUX_DATA_DECL; n_left_from = frame->n_vectors; - from = vlib_frame_args (frame); + from = vlib_frame_vector_args (frame); vlib_get_buffers (vm, from, bufs, n_left_from); for (pi = 0; pi < NSTAGES - 1; pi++) @@ -181,7 +181,7 @@ dispatch_pipeline (vlib_main_t * vm, AUX_DATA_DECL; n_left_from = frame->n_vectors; - from = vlib_frame_args (frame); + from = vlib_frame_vector_args (frame); vlib_get_buffers (vm, from, bufs, n_left_from); for (pi = 0; pi < NSTAGES - 1; pi++) @@ -233,7 +233,7 @@ dispatch_pipeline (vlib_main_t * vm, AUX_DATA_DECL; n_left_from = frame->n_vectors; - from = vlib_frame_args (frame); + from = vlib_frame_vector_args (frame); vlib_get_buffers (vm, from, bufs, n_left_from); for (pi = 0; pi < NSTAGES - 1; pi++) @@ -290,7 +290,7 @@ dispatch_pipeline (vlib_main_t * vm, AUX_DATA_DECL; n_left_from = frame->n_vectors; - from = vlib_frame_args (frame); + from = vlib_frame_vector_args (frame); vlib_get_buffers (vm, from, bufs, n_left_from); for (pi = 0; pi < NSTAGES - 1; pi++) diff --git a/src/vnet/srp/interface.c b/src/vnet/srp/interface.c index b418ec28229..28e519986f0 100644 --- a/src/vnet/srp/interface.c +++ b/src/vnet/srp/interface.c @@ -281,7 +281,7 @@ simulated_srp_interface_tx (vlib_main_t * vm, vlib_buffer_t * b; n_left_from = frame->n_vectors; - from = vlib_frame_args (frame); + from = vlib_frame_vector_args (frame); while (n_left_from > 0) { diff --git a/src/vnet/unix/tapcli.c b/src/vnet/unix/tapcli.c index 765e857f387..83ac33f49dc 100644 --- a/src/vnet/unix/tapcli.c +++ b/src/vnet/unix/tapcli.c @@ -170,7 +170,7 @@ static tapcli_main_t tapcli_main; static uword tapcli_tx (vlib_main_t * vm, vlib_node_runtime_t * node, vlib_frame_t * frame) { - u32 *buffers = vlib_frame_args (frame); + u32 *buffers = vlib_frame_vector_args (frame); uword n_packets = frame->n_vectors; tapcli_main_t *tm = &tapcli_main; tapcli_interface_t *ti; @@ -603,7 +603,7 @@ static void tapcli_nopunt_frame (vlib_main_t * vm, vlib_node_runtime_t * node, vlib_frame_t * frame) { - u32 *buffers = vlib_frame_args (frame); + u32 *buffers = vlib_frame_vector_args (frame); uword n_packets = frame->n_vectors; vlib_buffer_free (vm, buffers, n_packets); vlib_frame_free (vm, node, frame); diff --git a/src/vnet/unix/tuntap.c b/src/vnet/unix/tuntap.c index 5f2259269f3..d663d9698a0 100644 --- a/src/vnet/unix/tuntap.c +++ b/src/vnet/unix/tuntap.c @@ -146,7 +146,7 @@ static tuntap_main_t tuntap_main = { static uword tuntap_tx (vlib_main_t * vm, vlib_node_runtime_t * node, vlib_frame_t * frame) { - u32 *buffers = vlib_frame_args (frame); + u32 *buffers = vlib_frame_vector_args (frame); uword n_packets = frame->n_vectors; tuntap_main_t *tm = &tuntap_main; vnet_main_t *vnm = vnet_get_main (); @@ -934,7 +934,7 @@ static void tuntap_nopunt_frame (vlib_main_t * vm, vlib_node_runtime_t * node, vlib_frame_t * frame) { - u32 *buffers = vlib_frame_args (frame); + u32 *buffers = vlib_frame_vector_args (frame); uword n_packets = frame->n_vectors; vlib_buffer_free (vm, buffers, n_packets); vlib_frame_free (vm, node, frame); @@ -980,7 +980,7 @@ tuntap_intfc_tx (vlib_main_t * vm, vlib_node_runtime_t * node, vlib_frame_t * frame) { tuntap_main_t *tm = &tuntap_main; - u32 *buffers = vlib_frame_args (frame); + u32 *buffers = vlib_frame_vector_args (frame); uword n_buffers = frame->n_vectors; /* Normal interface transmit happens only on the normal interface... */ -- 2.16.6