diff options
| author | Renato Westphal <renato@opensourcerouting.org> | 2016-12-12 18:35:30 -0200 | 
|---|---|---|
| committer | Donald Sharp <sharpd@cumulusnetworks.com> | 2016-12-14 13:21:08 -0500 | 
| commit | 4913a1680eb922f6747b9ebfec18848f51a71bac (patch) | |
| tree | 7e8f7e762b438c7de1d529f6e5e70da38ccffc22 /ldpd/packet.c | |
| parent | e5dd4bef5eeeac880ba97480b76d46f32726985a (diff) | |
ldpd: add missing check on disc_find_iface()
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>
(cherry picked from commit 6710e336b3afd913c5b15677159e8274680ea8cb)
Diffstat (limited to 'ldpd/packet.c')
| -rw-r--r-- | ldpd/packet.c | 12 | 
1 files changed, 6 insertions, 6 deletions
diff --git a/ldpd/packet.c b/ldpd/packet.c index 9b3151d720..ad78181311 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:  | 
