Browse Source

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>
Donald Sharp 3 years ago
parent
commit
642577340c
6 changed files with 24 additions and 37 deletions
  1. 10 10
      zebra/interface.c
  2. 3 12
      zebra/interface.h
  3. 3 3
      zebra/main.c
  4. 4 8
      zebra/rib.h
  5. 2 2
      zebra/rtadv.c
  6. 2 2
      zebra/rtadv.h

+ 10 - 10
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);

+ 3 - 12
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 */
 

+ 3 - 3
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

+ 4 - 8
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 */
 };
 
 /*

+ 2 - 2
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 */

+ 2 - 2
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 *);