From 8da4e9466a3a3cdbfbc36e92528a9c8f395b230c Mon Sep 17 00:00:00 2001 From: Donald Sharp Date: Fri, 20 Nov 2015 08:33:30 -0500 Subject: [PATCH] Quagga: Cleanup RTADV define The RTADV define was not being set correctly or consistently. Make the code consistent with our HAVE_IPV6 define. If the user wants to explicitly turn it off then they should run --disable-rtadv from the configure cli Signed-off-by: Donald Sharp --- zebra/interface.c | 20 ++++++++++---------- zebra/interface.h | 17 ++++------------- zebra/main.c | 6 +++--- zebra/rib.h | 17 ++++------------- zebra/rtadv.c | 4 ++-- zebra/rtadv.h | 4 ++-- 6 files changed, 25 insertions(+), 43 deletions(-) diff --git a/zebra/interface.c b/zebra/interface.c index a3d297d327..884dfedd9e 100644 --- a/zebra/interface.c +++ b/zebra/interface.c @@ -48,11 +48,11 @@ #define ZEBRA_PTM_SUPPORT -#ifdef RTADV +#if defined (HAVE_RTADV) /* Order is intentional. Matches RFC4191. This array is also used for command matching, so only modify with care. */ const char *rtadv_pref_strs[] = { "medium", "high", "INVALID", "low", 0 }; -#endif /* RTADV */ +#endif /* HAVE_RTADV */ /* Called when new interface is added. */ static int @@ -66,7 +66,7 @@ if_zebra_new_hook (struct interface *ifp) zebra_if->shutdown = IF_ZEBRA_SHUTDOWN_OFF; ifp->ptm_enable = zebra_ptm_get_enable_state(); -#ifdef RTADV +#if defined (HAVE_RTADV) { /* Set default router advertise values. */ struct rtadvconf *rtadv; @@ -92,7 +92,7 @@ if_zebra_new_hook (struct interface *ifp) rtadv->AdvPrefixList = list_new (); } -#endif /* RTADV */ +#endif /* HAVE_RTADV */ /* Initialize installed address chains tree. */ zebra_if->ipv4_subnets = route_table_init (); @@ -753,7 +753,7 @@ nbr_connected_dump_vty (struct vty *vty, struct nbr_connected *connected) vty_out (vty, "%s", VTY_NEWLINE); } -#ifdef RTADV +#if defined (HAVE_RTADV) /* Dump interface ND information to vty. */ static void nd_dump_vty (struct vty *vty, struct interface *ifp) @@ -814,7 +814,7 @@ nd_dump_vty (struct vty *vty, struct interface *ifp) VTY_NEWLINE); } } -#endif /* RTADV */ +#endif /* HAVE_RTADV */ /* Interface's information print out to vty interface. */ static void @@ -924,9 +924,9 @@ if_dump_vty (struct vty *vty, struct interface *ifp) connected_dump_vty (vty, connected); } -#ifdef RTADV +#if defined (HAVE_RTADV) nd_dump_vty (vty, ifp); -#endif /* RTADV */ +#endif /* HAVE_RTADV */ if (listhead(ifp->nbr_connected)) vty_out (vty, " Neighbor address(s):%s", VTY_NEWLINE); for (ALL_LIST_ELEMENTS_RO (ifp->nbr_connected, node, nbr_connected)) @@ -1912,9 +1912,9 @@ if_config_write (struct vty *vty) VTY_NEWLINE); } -#ifdef RTADV +#if defined (HAVE_RTADV) rtadv_config_write (vty, ifp); -#endif /* RTADV */ +#endif /* HAVE_RTADV */ #ifdef HAVE_IRDP irdp_config_write (vty, ifp); diff --git a/zebra/interface.h b/zebra/interface.h index ba76d3e845..650b62a458 100644 --- a/zebra/interface.h +++ b/zebra/interface.h @@ -37,16 +37,7 @@ #define IF_ZEBRA_SHUTDOWN_OFF 0 #define IF_ZEBRA_SHUTDOWN_ON 1 -/* Router advertisement feature. */ -#ifndef RTADV -#if (defined(LINUX_IPV6) && (defined(__GLIBC__) && __GLIBC__ >= 2 && __GLIBC_MINOR__ >= 1)) || defined(KAME) - #ifdef HAVE_RTADV - #define RTADV - #endif -#endif -#endif - -#ifdef RTADV +#if defined (HAVE_RTADV) /* Router advertisement parameter. From RFC4861, RFC6275 and RFC4191. */ struct rtadvconf { @@ -180,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 @@ -197,9 +188,9 @@ struct zebra_if /* Installed addresses chains tree. */ struct route_table *ipv4_subnets; -#ifdef RTADV +#if defined(HAVE_RTADV) struct rtadvconf rtadv; -#endif /* RTADV */ +#endif /* HAVE_RTADV */ #ifdef HAVE_IRDP struct irdp_interface irdp; diff --git a/zebra/main.c b/zebra/main.c index 4b2a89856e..8048eba71e 100644 --- a/zebra/main.c +++ b/zebra/main.c @@ -238,7 +238,7 @@ zebra_vrf_enable (vrf_id_t vrf_id, void **info) assert (zvrf); -#ifdef RTADV +#if defined (HAVE_RTADV) rtadv_init (zvrf); #endif kernel_init (zvrf); @@ -269,7 +269,7 @@ zebra_vrf_disable (vrf_id_t vrf_id, void **info) if_down (ifp); } -#ifdef RTADV +#if defined (HAVE_RTADV) rtadv_terminate (zvrf); #endif kernel_terminate (zvrf); @@ -417,7 +417,7 @@ main (int argc, char **argv) zebra_vty_init (); access_list_init (); prefix_list_init (); -#ifdef RTADV +#if defined (HAVE_RTADV) rtadv_cmd_init (); #endif #ifdef HAVE_IRDP diff --git a/zebra/rib.h b/zebra/rib.h index 3656646c9b..1f045310a5 100644 --- a/zebra/rib.h +++ b/zebra/rib.h @@ -259,16 +259,7 @@ struct static_route : ((tnexthop) = (nexthop)->next)) \ : (((recursing) = 0),((tnexthop) = (tnexthop)->next))) -/* Router advertisement feature. */ -#ifndef RTADV -#if (defined(LINUX_IPV6) && (defined(__GLIBC__) && __GLIBC__ >= 2 && __GLIBC_MINOR__ >= 1)) || defined(KAME) - #ifdef HAVE_RTADV - #define RTADV - #endif -#endif -#endif - -#if defined (RTADV) +#if defined (HAVE_RTADV) /* Structure which hold status of router advertisement. */ struct rtadv { @@ -280,7 +271,7 @@ struct rtadv struct thread *ra_read; struct thread *ra_timer; }; -#endif /* RTADV */ +#endif /* HAVE_RTADV */ #ifdef HAVE_NETLINK /* Socket interface to kernel */ @@ -338,9 +329,9 @@ struct zebra_vrf struct list *rid_lo_sorted_list; struct prefix rid_user_assigned; -#if defined (RTADV) +#if defined (HAVE_RTADV) struct rtadv rtadv; -#endif /* RTADV */ +#endif /* HAVE_RTADV */ }; /* diff --git a/zebra/rtadv.c b/zebra/rtadv.c index d48f804f77..29a29c4044 100644 --- a/zebra/rtadv.c +++ b/zebra/rtadv.c @@ -41,7 +41,7 @@ extern struct zebra_privs_t zserv_privs; -#if defined (HAVE_IPV6) && defined (RTADV) +#if defined (HAVE_IPV6) && defined (HAVE_RTADV) #ifdef OPEN_BSD #include @@ -1863,4 +1863,4 @@ rtadv_cmd_init (void) { /* Empty.*/; } -#endif /* RTADV && HAVE_IPV6 */ +#endif /* HAVE_RTADV && HAVE_IPV6 */ diff --git a/zebra/rtadv.h b/zebra/rtadv.h index 76f98cf2c8..160814b209 100644 --- a/zebra/rtadv.h +++ b/zebra/rtadv.h @@ -27,7 +27,7 @@ #include "zebra/interface.h" /* NB: RTADV is defined in zebra/interface.h above */ -#ifdef RTADV +#if defined (HAVE_RTADV) /* Router advertisement prefix. */ struct rtadv_prefix @@ -98,7 +98,7 @@ struct nd_opt_homeagent_info { /* Home Agent info */ extern const char *rtadv_pref_strs[]; -#endif /* RTADV */ +#endif /* HAVE_RTADV */ extern void rtadv_init (struct zebra_vrf *); extern void rtadv_terminate (struct zebra_vrf *); -- 2.39.5