From e62d0e2535b46e3eb6887b2276278c5c468b4731 Mon Sep 17 00:00:00 2001 From: David Lamparter Date: Wed, 27 Jul 2016 20:02:54 +0200 Subject: [PATCH] pimd: supply VIFF_USE_IFINDEX definition This fixes compilation if the system libc doesn't have VIFF_USE_IFINDEX. It'll still break runtime if the kernel is older than 2.6.32. Signed-off-by: David Lamparter --- pimd/pim_iface.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/pimd/pim_iface.c b/pimd/pim_iface.c index 1dfbd9990a..14c8c7262e 100644 --- a/pimd/pim_iface.c +++ b/pimd/pim_iface.c @@ -41,6 +41,19 @@ #include "pim_time.h" #include "pim_ssmpingd.h" +#ifndef VIFF_USE_IFINDEX +# ifdef linux +/* make it work compile-time - whether it works runtime depends on the user + * having 2.6.32 or newer */ +# define VIFF_USE_IFINDEX 0x8 +# else +# error no VIFF_USE_IFINDEX on this system, code needs porting +/* NB: without VIFF_USE_IFINDEX, the local IP address is used to identify + * interfaces, which means it's impossible to support multiple interfaces that + * have the same or no IP address (e.g. unnumbered) */ +# endif +#endif + struct interface *pim_regiface = NULL; static void pim_if_igmp_join_del_all(struct interface *ifp); -- 2.39.5