u32 n_left, const u32 * bi, u32 next_index,
u32 hw_if_index)
{
- u32 n_trace;
+ u32 n_trace = vlib_get_trace_count (vm, node);
- if (PREDICT_TRUE (0 == (n_trace = vlib_get_trace_count (vm, node))))
+ if (PREDICT_TRUE (0 == n_trace))
return;
while (n_trace && n_left)
{
- vlib_buffer_t *b;
- af_xdp_input_trace_t *tr;
- b = vlib_get_buffer (vm, bi[0]);
- vlib_trace_buffer (vm, node, next_index, b,
- /* follow_chain */ 0);
- tr = vlib_add_trace (vm, node, b, sizeof (*tr));
- tr->next_index = next_index;
- tr->hw_if_index = hw_if_index;
-
- n_trace--;
+ vlib_buffer_t *b = vlib_get_buffer (vm, bi[0]);
+ if (PREDICT_TRUE
+ (vlib_trace_buffer (vm, node, next_index, b, /* follow_chain */ 0)))
+ {
+ af_xdp_input_trace_t *tr =
+ vlib_add_trace (vm, node, b, sizeof (*tr));
+ tr->next_index = next_index;
+ tr->hw_if_index = hw_if_index;
+ n_trace--;
+ }
n_left--;
bi++;
}
const u32 mask = size - 1;
u32 bis[VLIB_FRAME_SIZE], *bi = bis;
u32 n_alloc, n, n_wrap;
- u32 idx;
+ u32 idx = 0;
ASSERT (mask == rxq->fq.mask);
while (n >= 8)
{
#ifdef CLIB_HAVE_VEC256
- u64x4 b0 = u32x4_extend_to_u64x4 (*(u32x4u *) (bi + 0));
- u64x4 b1 = u32x4_extend_to_u64x4 (*(u32x4u *) (bi + 4));
+ u64x4 b0 = u64x4_from_u32x4 (*(u32x4u *) (bi + 0));
+ u64x4 b1 = u64x4_from_u32x4 (*(u32x4u *) (bi + 4));
*(u64x4u *) (fill + 0) = bi2addr (b0);
*(u64x4u *) (fill + 4) = bi2addr (b1);
#else