]> git.proxmox.com Git - mirror_frr.git/commit - ldpd/lde_lib.c
ldpd: fix processing of Label Withdraw messages
authorRenato Westphal <renato@opensourcerouting.org>
Fri, 3 Mar 2017 20:50:22 +0000 (17:50 -0300)
committerRenato Westphal <renato@opensourcerouting.org>
Fri, 3 Mar 2017 20:50:22 +0000 (17:50 -0300)
commitbe8e0d318815395a49632f8c6546be1f96c17557
treec78a986f79b7b7081a16837f1b065bae8bc165e8
parent357db52712f04401a2fde1369b24b3e46e151ecb
ldpd: fix processing of Label Withdraw messages

Whenever we receive a Label Withdraw message with an optional Label
TLV, we should check if this label matches the label previously
received from this neighbor for this FEC. If they don't match then we
shouldn't uninstall the previous label from the kernel. This fixes a
misinterpretation from the "Receive Label Withdraw" algorithm described
in the A.1.5 section of RFC 5036.

Also, simplify the check of pending withdraws in lde_check_release()
and lde_check_release_wcard().

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
ldpd/lde_lib.c