From 45d8f0f0be82318fb297e02b437d71dc45cdb49d Mon Sep 17 00:00:00 2001 From: =?utf8?q?Pavel=20Tvrd=C3=ADk?= Date: Tue, 28 Jul 2015 18:18:00 +0200 Subject: [PATCH] MRT Table Dump: Skip empty RIB Tables --- proto/bgp/mrt.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/proto/bgp/mrt.c b/proto/bgp/mrt.c index a9021cd00..d4f8a434f 100644 --- a/proto/bgp/mrt.c +++ b/proto/bgp/mrt.c @@ -66,13 +66,13 @@ bgp_mrt_table_dump_step(struct mrt_table_dump_ctx *state) return; uint max_work_size = 1; + u32 original_rib_sequence_number = state->rib_sequence_number; FIB_ITERATE_START(&state->rtable->fib, &state->fit, f) { if (!max_work_size--) { FIB_ITERATE_PUT(&state->fit, f); - bgp_mrt_rib_table_dump(state); return; } @@ -119,6 +119,11 @@ bgp_mrt_table_dump_step(struct mrt_table_dump_ctx *state) mrt_rib_table_add_entry(&state->rib_table, &entry); } + + if (state->rib_table.entry_count) + bgp_mrt_rib_table_dump(state); + else + state->rib_sequence_number = original_rib_sequence_number; } FIB_ITERATE_END(f); fit_get(&state->rtable->fib, &state->fit); -- 2.47.2