avf: fix feature arc
[vpp.git] / src / plugins / avf / input.c
index beb5c05..8e0edf6 100644 (file)
@@ -265,6 +265,9 @@ avf_device_input_inline (vlib_main_t * vm, vlib_node_runtime_t * node,
     next_index = ad->per_interface_next_index;
   vlib_get_new_next_frame (vm, node, next_index, to_next, n_left_to_next);
 
+  if (PREDICT_FALSE (vnet_device_input_have_features (ad->sw_if_index)))
+    vnet_feature_start_device_input_x1 (ad->sw_if_index, &next_index, bt);
+
   /* fetch up to AVF_RX_VECTOR_SZ from the rx ring, unflatten them and
      copy needed data from descriptor to rx vector */
   bi = to_next;
@@ -371,6 +374,7 @@ no_more_desc:
   vnet_buffer (bt)->sw_if_index[VLIB_RX] = ad->sw_if_index;
   vnet_buffer (bt)->sw_if_index[VLIB_TX] = ~0;
   bt->buffer_pool_index = rxq->buffer_pool_index;
+  bt->ref_count = 1;
 
   if (n_tail_desc)
     n_rx_bytes = avf_process_rx_burst (vm, node, ptd, n_rx_packets, 1);