mirror of
https://gitlab.nic.cz/labs/bird.git
synced 2024-11-08 12:18:42 +00:00
BGP, L3VPN: Fix MPLS channel reload
When a MPLS channel is reloaded, it should reload all regular MPLS-aware channels. This causes re-evaluation of routes in FEC map and possibly reannouncement of MPLS routes.
This commit is contained in:
parent
a7a9df8639
commit
d8130da86b
@ -1414,6 +1414,16 @@ bgp_reload_routes(struct channel *C)
|
||||
struct bgp_proto *p = (void *) C->proto;
|
||||
struct bgp_channel *c = (void *) C;
|
||||
|
||||
/* For MPLS channel, reload all MPLS-aware channels */
|
||||
if (C == p->p.mpls_channel)
|
||||
{
|
||||
BGP_WALK_CHANNELS(p, c)
|
||||
if ((c->desc->mpls) && (p->route_refresh || c->c.in_table))
|
||||
bgp_reload_routes(&c->c);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
/* Ignore non-BGP channels */
|
||||
if (C->channel != &channel_bgp)
|
||||
return;
|
||||
|
@ -296,7 +296,8 @@ l3vpn_reload_routes(struct channel *C)
|
||||
break;
|
||||
|
||||
case NET_MPLS:
|
||||
/* FIXME */
|
||||
channel_request_feeding(p->ip4_channel);
|
||||
channel_request_feeding(p->ip6_channel);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user