X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fplugins%2Favf%2Finput.c;h=8e0edf6ae1f48645364751206519acedc6c8450c;hb=cffbfc52b038ec48e62e969960a2635f2dc19b1d;hp=beb5c052423eb73611ef67a845c152871747c84c;hpb=910d3694e8b22c9d14e5f2913d14ae149e184620;p=vpp.git diff --git a/src/plugins/avf/input.c b/src/plugins/avf/input.c index beb5c052423..8e0edf6ae1f 100644 --- a/src/plugins/avf/input.c +++ b/src/plugins/avf/input.c @@ -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);