diff options
author | Neale Ranns <nranns@cisco.com> | 2016-10-07 15:14:33 +0100 |
---|---|---|
committer | Damjan Marion <dmarion.lists@gmail.com> | 2016-10-10 18:58:22 +0000 |
commit | 33a7dd5ad9a3d3ecd9bd8472ca20ee5f82ae9542 (patch) | |
tree | 039a067b44b25df78a3aa2d14d4dc558c79dc9d7 /vnet/vnet/fib/fib_entry.c | |
parent | bfe737a1b29afea2e10248b8c9fa800148fbd573 (diff) |
FIB2.0: memory leaks during load-balance update (VPP-475)
some other fixes and enhancemets to address failures in the IPv6 Scale testing:
- The rate at which VPP sends ARP/ND requests, 1 per-millisecond, is too high. This is reduced to 1 every 10 ms. probably still too high.
- If an ARP/ND response is received that does not contain a change to the known MAC address, no further processing is done.
- Added stats to get info about the async FIB walks.
- When walking FIB entries and performing a load-balance update, it is not necessary to re-insert the LB in the forwarding table.
Change-Id: Ifd47e4bdbce94495f44aaf1b78e7d1395ed870d1
Signed-off-by: Neale Ranns <nranns@cisco.com>
Diffstat (limited to 'vnet/vnet/fib/fib_entry.c')
-rw-r--r-- | vnet/vnet/fib/fib_entry.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/vnet/vnet/fib/fib_entry.c b/vnet/vnet/fib/fib_entry.c index 06922004021..5429da2983d 100644 --- a/vnet/vnet/fib/fib_entry.c +++ b/vnet/vnet/fib/fib_entry.c @@ -211,7 +211,7 @@ format_fib_entry (u8 * s, va_list * args) if (level >= FIB_ENTRY_FORMAT_DETAIL2) { - FOR_EACH_FIB_FORW_CHAIN(fct) + FOR_EACH_FIB_FORW_MPLS_CHAIN(fct) { s = format(s, " %U-chain\n %U", format_fib_forw_chain_type, fct, @@ -320,7 +320,7 @@ fib_entry_last_lock_gone (fib_node_t *node) fib_entry = fib_entry_from_fib_node(node); - FOR_EACH_FIB_FORW_CHAIN(fct) + FOR_EACH_FIB_FORW_MPLS_CHAIN(fct) { dpo_reset(&fib_entry->fe_lb[fct]); } @@ -605,7 +605,7 @@ fib_entry_alloc (u32 fib_index, fib_entry->fe_export = FIB_NODE_INDEX_INVALID; fib_entry->fe_import = FIB_NODE_INDEX_INVALID; fib_entry->fe_covered = FIB_NODE_INDEX_INVALID; - FOR_EACH_FIB_FORW_CHAIN(fct) + FOR_EACH_FIB_FORW_MPLS_CHAIN(fct) { dpo_reset(&fib_entry->fe_lb[fct]); } @@ -1309,7 +1309,7 @@ fib_entry_recursive_loop_detect (fib_node_index_t entry_index, * re-evaluate all the entry's forwarding * NOTE: this is an inplace modify */ - FOR_EACH_FIB_FORW_CHAIN(fct) + FOR_EACH_FIB_FORW_MPLS_CHAIN(fct) { if (dpo_id_is_valid(&fib_entry->fe_lb[fct])) { |