--- embedaddon/quagga/zebra/interface.h 2012/10/09 09:22:29 1.1.1.2 +++ embedaddon/quagga/zebra/interface.h 2016/11/02 10:09:10 1.1.1.3 @@ -34,18 +34,10 @@ #define IF_ZEBRA_MULTICAST_OFF 2 /* For interface shutdown configuration. */ -#define IF_ZEBRA_SHUTDOWN_UNSPEC 0 +#define IF_ZEBRA_SHUTDOWN_OFF 0 #define IF_ZEBRA_SHUTDOWN_ON 1 -#define IF_ZEBRA_SHUTDOWN_OFF 2 -/* Router advertisement feature. */ -#if (defined(LINUX_IPV6) && (defined(__GLIBC__) && __GLIBC__ >= 2 && __GLIBC_MINOR__ >= 1)) || defined(KAME) - #ifdef HAVE_RTADV - #define RTADV - #endif -#endif - -#ifdef RTADV +#if defined (HAVE_RTADV) /* Router advertisement parameter. From RFC4861, RFC6275 and RFC4191. */ struct rtadvconf { @@ -179,7 +171,7 @@ struct rtadvconf #define RTADV_PREF_MEDIUM 0x0 /* Per RFC4191. */ }; -#endif /* RTADV */ +#endif /* HAVE_RTADV */ /* `zebra' daemon local interface structure. */ struct zebra_if @@ -196,7 +188,7 @@ struct zebra_if /* Installed addresses chains tree. */ struct route_table *ipv4_subnets; -#ifdef RTADV +#if defined(HAVE_RTADV) struct rtadvconf rtadv; #endif /* RTADV */ @@ -204,6 +196,16 @@ struct zebra_if struct irdp_interface irdp; #endif +#ifdef HAVE_STRUCT_SOCKADDR_DL + union { + /* note that sdl_storage is never accessed, it only exists to make space. + * all actual uses refer to sdl - but use sizeof(sdl_storage)! this fits + * best with C aliasing rules. */ + struct sockaddr_dl sdl; + struct sockaddr_storage sdl_storage; + }; +#endif + #ifdef SUNOS_5 /* the real IFF_UP state of the primary interface. * need this to differentiate between all interfaces being @@ -236,9 +238,5 @@ extern int interface_list_proc (void); #ifdef HAVE_PROC_NET_IF_INET6 extern int ifaddr_proc_ipv6 (void); #endif /* HAVE_PROC_NET_IF_INET6 */ - -#ifdef BSDI -extern int if_kvm_get_mtu (struct interface *); -#endif /* BSDI */ #endif /* _ZEBRA_INTERFACE_H */