]> git.proxmox.com Git - mirror_frr.git/commit - ldpd/neighbor.c
ldpd: fix bug with dual-stack neighbors
authorRenato Westphal <renato@opensourcerouting.org>
Mon, 24 Jul 2017 21:57:20 +0000 (18:57 -0300)
committerDavid Lamparter <equinox@opensourcerouting.org>
Wed, 9 Aug 2017 10:06:13 +0000 (12:06 +0200)
commit6e4762e1cca9888ce8e6baaf29ea8f191635fc6a
tree8c85f8a1e1d24ced76ac4c157632eb1034951ccf
parent04427fcb48cbe2c9c312c8a8e0270c2bf6265ad1
ldpd: fix bug with dual-stack neighbors

We were assuming that a neighbor can be deleted only when all of its
adjacencies are dead. This is not the case for dual-stack neighbors. If
the transport-preference is IPv4 and all adjacencies are IPv6 (or
vice-versa), then it should be deleted and everything cleaned-up
accordingly.

Bug exposed by the new RB tree implementation on master, but the fix
also applies to stable/3.0.

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