aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/plugins/acl/sess_mgmt_node.c1
-rw-r--r--src/vlib/error.c23
-rw-r--r--src/vnet/interface.c1
3 files changed, 14 insertions, 11 deletions
diff --git a/src/plugins/acl/sess_mgmt_node.c b/src/plugins/acl/sess_mgmt_node.c
index 7da6da4c56f..4070e529edb 100644
--- a/src/plugins/acl/sess_mgmt_node.c
+++ b/src/plugins/acl/sess_mgmt_node.c
@@ -727,6 +727,7 @@ acl_fa_session_cleaner_process (vlib_main_t * vm, vlib_node_runtime_t * rt,
}
else
{
+ clib_bitmap_free (pw0->pending_clear_sw_if_index_bitmap);
if (clear_all)
{
/* if we need to clear all, then just clear the interfaces that we are servicing */
diff --git a/src/vlib/error.c b/src/vlib/error.c
index 691e6396d97..ca5b87c95b9 100644
--- a/src/vlib/error.c
+++ b/src/vlib/error.c
@@ -219,18 +219,19 @@ vlib_register_errors (vlib_main_t * vm,
/* (re)register the em->counters base address, switch back to main heap */
vlib_stats_pop_heap2 (em->counters, vm->thread_index, oldheap);
- {
- elog_event_type_t t;
- uword i;
+ if (VLIB_ELOG_MAIN_LOOP > 0)
+ {
+ elog_event_type_t t;
+ uword i;
- clib_memset (&t, 0, sizeof (t));
- for (i = 0; i < n_errors; i++)
- {
- t.format = (char *) format (0, "%v %s: %%d",
- n->name, error_strings[i]);
- vm->error_elog_event_types[n->error_heap_index + i] = t;
- }
- }
+ clib_memset (&t, 0, sizeof (t));
+ for (i = 0; i < n_errors; i++)
+ {
+ t.format = (char *) format (0, "%v %s: %%d",
+ n->name, error_strings[i]);
+ vm->error_elog_event_types[n->error_heap_index + i] = t;
+ }
+ }
}
static clib_error_t *
diff --git a/src/vnet/interface.c b/src/vnet/interface.c
index 37f27ea49ea..77ee691ed2f 100644
--- a/src/vnet/interface.c
+++ b/src/vnet/interface.c
@@ -1010,6 +1010,7 @@ vnet_delete_hw_interface (vnet_main_t * vnm, u32 hw_if_index)
vec_free (hw->name);
vec_free (hw->hw_address);
vec_free (hw->input_node_thread_index_by_queue);
+ vec_free (hw->rx_mode_by_queue);
vec_free (hw->dq_runtime_index_by_queue);
pool_put (im->hw_interfaces, hw);