When we find an interface on disc_find_iface(), we need to check if it's enabled for the address-family (IPv4 or IPv6) of the received packet. We were doing that only for targeted hellos, do it for link hellos as well. Signed-off-by: Renato Westphal <renato@opensourcerouting.org> --- ldpd/packet.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/ldpd/packet.c b/ldpd/packet.c index 9b3151d..ad78181 100644 --- a/ldpd/packet.c +++ b/ldpd/packet.c @@ -292,16 +292,16 @@ disc_find_iface(unsigned int ifindex, int af, union ldpd_addr *src, if (iface == NULL) return (NULL); + ia = iface_af_get(iface, af); + if (!ia->enabled) + return (NULL); + /* * For unicast packets, we just need to make sure that the interface * is enabled for the given address-family. */ - if (!multicast) { - ia = iface_af_get(iface, af); - if (ia->enabled) - return (iface); - return (NULL); - } + if (!multicast) + return (iface); switch (af) { case AF_INET: -- 1.9.1