summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDonald Sharp <sharpd@cumulusnetworks.com>2015-11-20 08:33:30 -0500
committerDonald Sharp <sharpd@cumulusnetworks.com>2015-12-08 14:16:12 -0500
commit642577340cfb7ad66d021ab2b86d72f7cdde03bc (patch)
tree981104744f3fb913ec3e5a006199e6810101ab55
parent8253b73c3c71d4102c0010f63b59b2829f3b0f90 (diff)
downloadquagga-642577340cfb7ad66d021ab2b86d72f7cdde03bc.tar.bz2
quagga-642577340cfb7ad66d021ab2b86d72f7cdde03bc.tar.xz
zebra: 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 <sharpd@cumulusnetworks.com>
-rw-r--r--zebra/interface.c20
-rw-r--r--zebra/interface.h15
-rw-r--r--zebra/main.c6
-rw-r--r--zebra/rib.h12
-rw-r--r--zebra/rtadv.c4
-rw-r--r--zebra/rtadv.h4
6 files changed, 24 insertions, 37 deletions
diff --git a/zebra/interface.c b/zebra/interface.c
index 162439fa..411712d5 100644
--- a/zebra/interface.c
+++ b/zebra/interface.c
@@ -42,11 +42,11 @@
#include "zebra/debug.h"
#include "zebra/irdp.h"
-#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
@@ -59,7 +59,7 @@ if_zebra_new_hook (struct interface *ifp)
zebra_if->multicast = IF_ZEBRA_MULTICAST_UNSPEC;
zebra_if->shutdown = IF_ZEBRA_SHUTDOWN_OFF;
-#ifdef RTADV
+#if defined (HAVE_RTADV)
{
/* Set default router advertise values. */
struct rtadvconf *rtadv;
@@ -85,7 +85,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 ();
@@ -638,7 +638,7 @@ connected_dump_vty (struct vty *vty, struct 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)
@@ -699,7 +699,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
@@ -806,9 +806,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 */
#ifdef HAVE_PROC_NET_DEV
/* Statistics print out using proc file system. */
@@ -1782,9 +1782,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 fe246043..936156eb 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__) || 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,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 */
diff --git a/zebra/main.c b/zebra/main.c
index c5d1d76c..f3c08f19 100644
--- a/zebra/main.c
+++ b/zebra/main.c
@@ -229,7 +229,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);
@@ -260,7 +260,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);
@@ -405,7 +405,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 1d3c15c3..ffe7e2ff 100644
--- a/zebra/rib.h
+++ b/zebra/rib.h
@@ -304,12 +304,8 @@ struct nexthop_vrfid
vrf_id_t vrf_id;
};
-/* Router advertisement feature. */
-#if !defined(RTADV) && defined(LINUX_IPV6) && defined(HAVE_RTADV)
-# define RTADV
-#endif
-#if defined (RTADV)
+#if defined (HAVE_RTADV)
/* Structure which hold status of router advertisement. */
struct rtadv
{
@@ -321,7 +317,7 @@ struct rtadv
struct thread *ra_read;
struct thread *ra_timer;
};
-#endif /* RTADV */
+#endif /* HAVE_RTADV */
#ifdef HAVE_NETLINK
/* Socket interface to kernel */
@@ -370,9 +366,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 f5d5b4ad..6b49cf62 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 <netinet/icmp6.h>
@@ -1813,4 +1813,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 76f98cf2..160814b2 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 *);