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 <damarion@cisco.com>
diff --git a/docs/gettingstarted/developers/vnet.md b/docs/gettingstarted/developers/vnet.md
index cd9e22f..60362f4 100644
--- a/docs/gettingstarted/developers/vnet.md
+++ b/docs/gettingstarted/developers/vnet.md
@@ -52,7 +52,7 @@
      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 3b19c53..c5c19aa 100644
--- a/src/examples/vlib/main_stub.c
+++ b/src/examples/vlib/main_stub.c
@@ -50,7 +50,7 @@
 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 @@
     {
       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 72892d1..e4b4228 100644
--- a/src/plugins/avf/output.c
+++ b/src/plugins/avf/output.c
@@ -45,7 +45,7 @@
   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 468440c..18969a4 100644
--- a/src/plugins/marvell/pp2/output.c
+++ b/src/plugins/marvell/pp2/output.c
@@ -39,7 +39,7 @@
     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 @@
   /* 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 @@
   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 a05ab87..9e4cd69 100644
--- a/src/plugins/memif/device.c
+++ b/src/plugins/memif/device.c
@@ -103,7 +103,7 @@
 			   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 @@
       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_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 2886c31..2a6418d 100644
--- a/src/plugins/vmxnet3/output.c
+++ b/src/plugins/vmxnet3/output.c
@@ -100,7 +100,7 @@
   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 e6e4f2d..691e639 100644
--- a/src/vlib/error.c
+++ b/src/vlib/error.c
@@ -114,7 +114,7 @@
 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 1b9eb39..b46caf1 100644
--- a/src/vlib/main.c
+++ b/src/vlib/main.c
@@ -157,6 +157,7 @@
   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 c87400d..88185ce 100644
--- a/src/vlib/node.c
+++ b/src/vlib/node.c
@@ -529,7 +529,7 @@
   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 3304d0f..13614aa 100644
--- a/src/vlib/node_funcs.h
+++ b/src/vlib/node_funcs.h
@@ -271,9 +271,6 @@
 
 /** \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 @@
  @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 16e6402..6f0cdf9 100644
--- a/src/vlibmemory/vlib_api.c
+++ b/src/vlibmemory/vlib_api.c
@@ -464,7 +464,7 @@
 
   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 @@
     }
 
   /* 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 13ff644..e7d6cda 100644
--- a/src/vnet/bonding/device.c
+++ b/src/vnet/bonding/device.c
@@ -658,7 +658,7 @@
 
   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 @@
   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 b8c7501..811642e 100644
--- a/src/vnet/devices/af_packet/device.c
+++ b/src/vnet/devices/af_packet/device.c
@@ -81,7 +81,7 @@
 			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 @@
     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 e39888f..409a52f 100644
--- a/src/vnet/devices/netmap/device.c
+++ b/src/vnet/devices/netmap/device.c
@@ -98,7 +98,7 @@
 		     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 @@
 		       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 8b30f47..f45c088 100644
--- a/src/vnet/devices/pipe/pipe.c
+++ b/src/vnet/devices/pipe/pipe.c
@@ -140,7 +140,7 @@
   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 69aca65..2b2c853 100644
--- a/src/vnet/devices/virtio/device.c
+++ b/src/vnet/devices/virtio/device.c
@@ -180,7 +180,7 @@
   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 9b6c017..dff129e 100644
--- a/src/vnet/devices/virtio/vhost_user_output.c
+++ b/src/vnet/devices/virtio/vhost_user_output.c
@@ -230,7 +230,7 @@
 						   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 @@
 	 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 2cb137c..c66fa82 100644
--- a/src/vnet/ethernet/interface.c
+++ b/src/vnet/ethernet/interface.c
@@ -405,7 +405,7 @@
   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 f858564..be4ab7d 100644
--- a/src/vnet/interface_output.c
+++ b/src/vnet/interface_output.c
@@ -99,7 +99,7 @@
   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 @@
   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 @@
 
   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 @@
 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 @@
   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 538a1ac..a6d6c08 100644
--- a/src/vnet/ip/punt.c
+++ b/src/vnet/ip/punt.c
@@ -312,7 +312,7 @@
 			  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 016e5b3..410a433 100644
--- a/src/vnet/pg/output.c
+++ b/src/vnet/pg/output.c
@@ -47,7 +47,7 @@
 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 @@
     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 ec2ac0b..2ac1a9a 100644
--- a/src/vnet/pipeline.h
+++ b/src/vnet/pipeline.h
@@ -92,7 +92,7 @@
   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 @@
   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 @@
   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 @@
   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 @@
   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 b418ec2..28e5199 100644
--- a/src/vnet/srp/interface.c
+++ b/src/vnet/srp/interface.c
@@ -281,7 +281,7 @@
   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 765e857..83ac33f 100644
--- a/src/vnet/unix/tapcli.c
+++ b/src/vnet/unix/tapcli.c
@@ -170,7 +170,7 @@
 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 @@
 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 5f22592..d663d96 100644
--- a/src/vnet/unix/tuntap.c
+++ b/src/vnet/unix/tuntap.c
@@ -146,7 +146,7 @@
 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 @@
 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 @@
 		 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... */