aboutsummaryrefslogtreecommitdiffstats
path: root/src/vnet/fib
diff options
context:
space:
mode:
authorNeale Ranns <nranns@cisco.com>2017-04-18 12:56:45 -0700
committerNeale Ranns <nranns@cisco.com>2017-04-18 12:56:45 -0700
commitd8d09d15e299bec6d48822f05f7a108922cadc4a (patch)
tree5497ade6a8a7777288f61b74a168db3f19f9a739 /src/vnet/fib
parent68df5a51f6325f635e9abaea0c86dcbf44df1da3 (diff)
Memory leak in load-balance maps
Change-Id: Iec67ae1232e346d5e0000e0b4c997fdc31865bc6 Signed-off-by: Neale Ranns <nranns@cisco.com>
Diffstat (limited to 'src/vnet/fib')
-rw-r--r--src/vnet/fib/fib_test.c12
1 files changed, 10 insertions, 2 deletions
diff --git a/src/vnet/fib/fib_test.c b/src/vnet/fib/fib_test.c
index eb6fe1617e7..baf66738ef6 100644
--- a/src/vnet/fib/fib_test.c
+++ b/src/vnet/fib/fib_test.c
@@ -585,6 +585,7 @@ fib_test_v4 (void)
const load_balance_t *lb;
test_main_t *tm;
u32 fib_index;
+ int lb_count;
int ii;
/* via 10.10.10.1 */
@@ -598,6 +599,9 @@ fib_test_v4 (void)
tm = &test_main;
+ /* record the nubmer of load-balances in use before we start */
+ lb_count = pool_elts(load_balance_pool);
+
/* Find or create FIB table 11 */
fib_index = fib_table_find_or_create_and_lock(FIB_PROTOCOL_IP4, 11);
@@ -3022,7 +3026,7 @@ fib_test_v4 (void)
"LB maps's bucket 1 is %d",
lbm->lbm_buckets[1]);
- load_balance_map_unlock(lb->lb_map);
+ load_balance_map_unlock(lbmi);
/*
* add it back. again
@@ -3117,7 +3121,7 @@ fib_test_v4 (void)
"LB Map for 200.200.200.200/32 at %d is %d",
ii, lbm->lbm_buckets[ii]);
}
-
+ load_balance_map_unlock(lbmi);
/*
* tidy up
@@ -3718,6 +3722,10 @@ fib_test_v4 (void)
fib_entry_pool_size());
FIB_TEST((ENBR-5 == pool_elts(fib_urpf_list_pool)), "uRPF pool size is %d",
pool_elts(fib_urpf_list_pool));
+ FIB_TEST((0 == pool_elts(load_balance_map_pool)), "LB-map pool size is %d",
+ pool_elts(load_balance_map_pool));
+ FIB_TEST((lb_count == pool_elts(load_balance_pool)), "LB pool size is %d",
+ pool_elts(load_balance_pool));
return 0;
}