Code Review
/
vpp.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
review
|
tree
raw
|
inline
| side by side
Revert "vnet: af_packet mark l3 offload cksum"
[vpp.git]
/
src
/
vnet
/
devices
/
devices.c
diff --git
a/src/vnet/devices/devices.c
b/src/vnet/devices/devices.c
index
2eb8e30
..
a38ecd2
100644
(file)
--- a/
src/vnet/devices/devices.c
+++ b/
src/vnet/devices/devices.c
@@
-264,6
+264,10
@@
vnet_hw_interface_set_rx_mode (vnet_main_t * vnm, u32 hw_if_index,
(hw->flags & VNET_HW_INTERFACE_FLAG_SUPPORTS_INT_MODE) == 0)
return VNET_API_ERROR_UNSUPPORTED;
(hw->flags & VNET_HW_INTERFACE_FLAG_SUPPORTS_INT_MODE) == 0)
return VNET_API_ERROR_UNSUPPORTED;
+ if ((vec_len (hw->input_node_thread_index_by_queue) < queue_id + 1) ||
+ (vec_len (hw->rx_mode_by_queue) < queue_id + 1))
+ return VNET_API_ERROR_INVALID_QUEUE;
+
hw->rx_mode_by_queue[queue_id] = mode;
thread_index = hw->input_node_thread_index_by_queue[queue_id];
vm = vlib_mains[thread_index];
hw->rx_mode_by_queue[queue_id] = mode;
thread_index = hw->input_node_thread_index_by_queue[queue_id];
vm = vlib_mains[thread_index];
@@
-307,6
+311,10
@@
vnet_hw_interface_get_rx_mode (vnet_main_t * vnm, u32 hw_if_index,
if (hw->input_node_thread_index_by_queue == 0)
return VNET_API_ERROR_INVALID_INTERFACE;
if (hw->input_node_thread_index_by_queue == 0)
return VNET_API_ERROR_INVALID_INTERFACE;
+ if ((vec_len (hw->input_node_thread_index_by_queue) < queue_id + 1) ||
+ (vec_len (hw->rx_mode_by_queue) < queue_id + 1))
+ return VNET_API_ERROR_INVALID_QUEUE;
+
thread_index = hw->input_node_thread_index_by_queue[queue_id];
vm = vlib_mains[thread_index];
thread_index = hw->input_node_thread_index_by_queue[queue_id];
vm = vlib_mains[thread_index];