summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMohammed Hawari <mohammed@hawari.fr>2020-12-21 18:19:46 +0100
committerDamjan Marion <dmarion@me.com>2021-01-22 09:06:32 +0000
commite848c8fb8c18bd04d7e27b9574fc8163a4c31d85 (patch)
tree25b148568b27c4a0bff33a7612675cf8666b9c6b
parent85c1943e521a5c1289ee19d49d8e41012f8b7a99 (diff)
interface: let drivers control polling when down
Change-Id: I03e164d8d5a329497f422e99f8b0058135241b4e Signed-off-by: Mohammed Hawari <mohammed@hawari.fr> Type: fix
-rw-r--r--src/vlib/node.c2
-rw-r--r--src/vnet/interface/runtime.c8
2 files changed, 2 insertions, 8 deletions
diff --git a/src/vlib/node.c b/src/vlib/node.c
index 13889d13ca0..25e249bdda9 100644
--- a/src/vlib/node.c
+++ b/src/vlib/node.c
@@ -478,6 +478,8 @@ register_node (vlib_main_t * vm, vlib_node_registration_t * r)
if (vec_len (n->runtime_data) > 0)
clib_memcpy (rt->runtime_data, n->runtime_data,
vec_len (n->runtime_data));
+ else
+ clib_memset (rt->runtime_data, 0, VLIB_NODE_RUNTIME_DATA_SIZE);
vec_free (n->runtime_data);
}
diff --git a/src/vnet/interface/runtime.c b/src/vnet/interface/runtime.c
index f4c09beffd7..019d3ee28d0 100644
--- a/src/vnet/interface/runtime.c
+++ b/src/vnet/interface/runtime.c
@@ -103,20 +103,12 @@ vnet_hw_if_update_runtime_data (vnet_main_t *vnm, u32 hw_if_index)
pool_foreach (rxq, im->hw_if_rx_queues)
{
u32 ti = rxq->thread_index;
- uword flags;
hi = vnet_get_hw_interface (vnm, rxq->hw_if_index);
if (hi->input_node_index != node_index)
continue;
- flags = vnet_sw_interface_get_flags (vnm, hi->sw_if_index);
- if ((flags & VNET_SW_INTERFACE_FLAG_ADMIN_UP) == 0)
- {
- log_debug ("skip interface %v (admin down)", hi->name);
- continue;
- }
-
if (rxq->mode == VNET_HW_IF_RX_MODE_INTERRUPT ||
rxq->mode == VNET_HW_IF_RX_MODE_ADAPTIVE)
last_int = clib_max (last_int, rxq - im->hw_if_rx_queues);