[cmaster-next] [PATCH 1/3] ldpd: add missing check on disc_find_iface()

Renato Westphal renato at opensourcerouting.org
Mon Dec 12 17:31:31 EST 2016


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 at 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





More information about the dev mailing list