X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fvlib%2Fnode_funcs.h;h=bf11a0eb6d43175cb528744a7c00d7df1186bab7;hb=4681e07a02c2e1681048c4e3a018433c055a91b1;hp=3304d0f0d9f8f92c3495f9b26aa5fac798e522a8;hpb=b7b929931a07fbb27b43d5cd105f366c3e29807e;p=vpp.git diff --git a/src/vlib/node_funcs.h b/src/vlib/node_funcs.h index 3304d0f0d9f..bf11a0eb6d4 100644 --- a/src/vlib/node_funcs.h +++ b/src/vlib/node_funcs.h @@ -135,7 +135,8 @@ vlib_node_set_runtime_data (vlib_main_t * vm, u32 node_index, STRUCT_OFFSET_OF (vlib_node_runtime_t, runtime_data)); if (vec_len (n->runtime_data) > 0) - clib_memcpy (r->runtime_data, n->runtime_data, vec_len (n->runtime_data)); + clib_memcpy_fast (r->runtime_data, n->runtime_data, + vec_len (n->runtime_data)); } /** \brief Set node dispatch state. @@ -241,6 +242,12 @@ vlib_get_frame (vlib_main_t * vm, uword frame_index) return f; } +always_inline void +vlib_frame_no_append (vlib_frame_t * f) +{ + f->frame_flags |= VLIB_FRAME_NO_APPEND; +} + always_inline u32 vlib_frame_index (vlib_main_t * vm, vlib_frame_t * f) { @@ -271,9 +278,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 +285,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; }