mirror_frr/ldpd
Renato Westphal abb1600611 ldpd: schedule the sending of label messages when necessary
Once we send a Label Withdraw, we can't send a Label Mapping for the
same FEC until we receive a Label Release from the peer. This is due to
some limitations in the LDP algorithms described in Appendix A. ("LDP
Label Distribution Procedures") of RFC 5036.

To workaround this issue, make it possible to schedule the sending of
a Label Mapping as soon as a Label Release is received for the same FEC.

The easiest way to test this patch is by typing the "label local advertise
explicit-null" command. ldpd will withdraw all null labels using a
Wildcard FEC and then send new Label Mappings as soon the corresponding
Label Releases are received.

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
2017-06-05 12:24:11 -03:00
..
.gitignore build/ldpd: auto-generate ldp_vty_cmds.c from ldp_vty.xml 2017-01-03 22:03:28 -02:00
accept.c ldpd: adapt the code for Quagga 2016-09-23 09:31:09 -04:00
address.c ldpd: provide more detailed information in some show commands 2017-03-20 21:42:14 -03:00
adjacency.c ldpd: provide more detailed information in some show commands 2017-03-20 21:42:14 -03:00
control.c ldpd: simplify initialization of the child processes 2017-06-05 12:23:02 -03:00
control.h ldpd: simplify initialization of the child processes 2017-06-05 12:23:02 -03:00
hello.c ldpd: provide more detailed information in some show commands 2017-03-20 21:42:14 -03:00
init.c ldpd: provide more detailed information in some show commands 2017-03-20 21:42:14 -03:00
interface.c Merge pull request #431 from opensourcerouting/fix-iface-renames 2017-05-01 14:17:42 -04:00
keepalive.c ldpd: provide more detailed information in some show commands 2017-03-20 21:42:14 -03:00
l2vpn.c ldpd: respect link-detect configuration 2017-05-01 11:33:23 -03:00
labelmapping.c ldpd: provide more detailed information in some show commands 2017-03-20 21:42:14 -03:00
lde_lib.c ldpd: schedule the sending of label messages when necessary 2017-06-05 12:24:11 -03:00
lde.c ldpd: schedule the sending of label messages when necessary 2017-06-05 12:24:11 -03:00
lde.h ldpd: schedule the sending of label messages when necessary 2017-06-05 12:24:11 -03:00
ldp_debug.c ldpd: use red-black trees to store 'iface' elements 2017-01-03 22:07:13 -02:00
ldp_debug.h ldpd: create helper functions to log sent/received messages 2017-03-03 17:50:22 -03:00
ldp_vty_conf.c ldpd: do not consume vty_conf when updating the configuration 2017-03-31 13:51:53 -03:00
ldp_vty_exec.c ldpd: minor changes in the output of some show commands 2017-06-05 12:23:41 -03:00
ldp_vty.h ldpd: remove the interface vty node 2017-03-31 12:57:25 -03:00
ldp_vty.xml ldpd: add commands to show sent/rcvd capabilities 2017-03-20 21:42:14 -03:00
ldp_zebra.c ldpd: improve ldp_zebra_read_route() 2017-06-05 12:24:05 -03:00
ldp.h ldpd: send VPLS MAC withdrawals 2017-03-03 17:50:22 -03:00
ldpd.c ldpd: simplify initialization of the child processes 2017-06-05 12:23:02 -03:00
ldpd.conf.sample ldpd: adapt the code for Quagga 2016-09-23 09:31:09 -04:00
ldpd.h ldpd: simplify initialization of the child processes 2017-06-05 12:23:02 -03:00
ldpe.c ldpd: use synchronous channels for sending log messages 2017-06-05 12:23:33 -03:00
ldpe.h ldpd: use synchronous channels for sending log messages 2017-06-05 12:23:33 -03:00
log.c ldpd: use synchronous channels for sending log messages 2017-06-05 12:23:33 -03:00
log.h ldpd: split log.c into two files 2017-06-05 12:05:22 -03:00
logmsg.c ldpd: split log.c into two files 2017-06-05 12:05:22 -03:00
Makefile.am ldpd: split log.c into two files 2017-06-05 12:05:22 -03:00
neighbor.c ldpd: provide more detailed information in some show commands 2017-03-20 21:42:14 -03:00
notification.c ldpd: accept notifications during the session establishment process 2017-06-05 12:23:48 -03:00
packet.c ldpd: accept notifications during the session establishment process 2017-06-05 12:23:48 -03:00
pfkey.c ldpd: provide more detailed information in some show commands 2017-03-20 21:42:14 -03:00
socket.c ldpd: add missing privilege dropping on error path 2017-01-03 22:03:28 -02:00
util.c ldpd: adapt the code for Quagga 2016-09-23 09:31:09 -04:00