Code Review
/
vpp.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
review
|
tree
raw
|
inline
| side by side
avf: fix feature arc
[vpp.git]
/
src
/
plugins
/
avf
/
input.c
diff --git
a/src/plugins/avf/input.c
b/src/plugins/avf/input.c
index
beb5c05
..
8e0edf6
100644
(file)
--- 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);
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;
/* 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;
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);
if (n_tail_desc)
n_rx_bytes = avf_process_rx_burst (vm, node, ptd, n_rx_packets, 1);