From: Ondrej Zajicek (work) Date: Fri, 22 Jan 2021 03:34:15 +0000 (+0100) Subject: MRT: Fix MP-BGP next hops X-Git-Tag: v2.0.8~18 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=5d414309ec5a01024d4de4c4f9521f8daa5c06ff;p=thirdparty%2Fbird.git 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. --- diff --git a/proto/mrt/mrt.c b/proto/mrt/mrt.c index 76d6c48f9..838360c26 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 */