0
0
mirror of https://gitlab.nic.cz/labs/bird.git synced 2024-12-22 09:41:54 +00:00

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.
This commit is contained in:
Ondrej Zajicek (work) 2021-01-22 04:34:15 +01:00
parent df83f62697
commit 5d414309ec

View File

@ -244,7 +244,6 @@ mrt_next_table(struct mrt_table_dump_state *s)
s->table = tab; s->table = tab;
s->ipv4 = tab ? (tab->addr_type == NET_IP4) : 0; s->ipv4 = tab ? (tab->addr_type == NET_IP4) : 0;
s->bws->mp_reach = !s->ipv4;
if (s->table) if (s->table)
rt_lock_table(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); mrt_buffer_need(b, MRT_ATTR_BUFFER_SIZE);
byte *pos = b->pos; byte *pos = b->pos;
s->bws->mp_reach = !s->ipv4;
s->bws->mp_next_hop = NULL; s->bws->mp_next_hop = NULL;
/* Encode BGP attributes */ /* Encode BGP attributes */