mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-05-28 12:10:24 +00:00
![]() Whenever a routing daemon advertises a new version of a route to zebra, zebra removes the old version of this route (implicit withdraw) and then create a new 'rib' structure for the new version of the route. In this process, the previously received label(s) from ldpd are lost. This is because upon receiving a ZEBRA_MPLS_LABELS_ADD message, zebra only adds a label to a nexthop of an existing route. And routes are volatile, they can be removed while being updated. To workaround this issue, this patch makes ldpd always advertise the appropriate labels whenever it receives a redistributed route, even if it was already received before (an older version). This way, when ldpd receives the updated version of a route, it will readvertise the appropriate label(s) and zebra will reinstall them. Signed-off-by: Renato Westphal <renato@opensourcerouting.org> |
||
---|---|---|
.. | ||
.gitignore | ||
accept.c | ||
address.c | ||
adjacency.c | ||
control.c | ||
control.h | ||
hello.c | ||
init.c | ||
interface.c | ||
keepalive.c | ||
l2vpn.c | ||
labelmapping.c | ||
lde_lib.c | ||
lde.c | ||
lde.h | ||
ldp_debug.c | ||
ldp_debug.h | ||
ldp_vty_cmds.c | ||
ldp_vty_conf.c | ||
ldp_vty_exec.c | ||
ldp_vty.h | ||
ldp_vty.xml | ||
ldp_zebra.c | ||
ldp.h | ||
ldpd.c | ||
ldpd.conf.sample | ||
ldpd.h | ||
ldpe.c | ||
ldpe.h | ||
log.c | ||
log.h | ||
Makefile.am | ||
neighbor.c | ||
notification.c | ||
packet.c | ||
pfkey.c | ||
socket.c | ||
util.c |