From 5d414309ec5a01024d4de4c4f9521f8daa5c06ff Mon Sep 17 00:00:00 2001 From: "Ondrej Zajicek (work)" Date: Fri, 22 Jan 2021 04:34:15 +0100 Subject: [PATCH] MRT: Fix MP-BGP next hops Flag signalling that MP-BGP mode should be used got reset after first batch of routes, so remaining routes were processed without that, leading to missing MP_REACH_NLRI attribute. Thanks to Piotr Wydrych for the bugreport. --- proto/mrt/mrt.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/proto/mrt/mrt.c b/proto/mrt/mrt.c index 76d6c48f..838360c2 100644 --- a/proto/mrt/mrt.c +++ b/proto/mrt/mrt.c @@ -244,7 +244,6 @@ mrt_next_table(struct mrt_table_dump_state *s) s->table = tab; s->ipv4 = tab ? (tab->addr_type == NET_IP4) : 0; - s->bws->mp_reach = !s->ipv4; if (s->table) rt_lock_table(s->table); @@ -434,6 +433,7 @@ mrt_rib_table_entry_bgp_attrs(struct mrt_table_dump_state *s, rte *r) mrt_buffer_need(b, MRT_ATTR_BUFFER_SIZE); byte *pos = b->pos; + s->bws->mp_reach = !s->ipv4; s->bws->mp_next_hop = NULL; /* Encode BGP attributes */