mirror of
https://gitlab.nic.cz/labs/bird.git
synced 2024-12-22 09:41:54 +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_proto *p = (void *) C->proto;
|
||||||
struct bgp_channel *c = (void *) C;
|
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 */
|
/* Ignore non-BGP channels */
|
||||||
if (C->channel != &channel_bgp)
|
if (C->channel != &channel_bgp)
|
||||||
return;
|
return;
|
||||||
|
@ -296,7 +296,8 @@ l3vpn_reload_routes(struct channel *C)
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case NET_MPLS:
|
case NET_MPLS:
|
||||||
/* FIXME */
|
channel_request_feeding(p->ip4_channel);
|
||||||
|
channel_request_feeding(p->ip6_channel);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user