Browse Source

zebra: fix up compilation without rtadv/IPv6

let's ground the rtadv.h file if route advertisements are disabled. And
fix up the CLI for it, as well as move the "show ip mroute" to its
proper place.

  * zebra/rtadv.h: #ifdef RTADV
  * zebra/main.c: #ifdef RTADV
  * zebra/zebra_vty.c: move "show ip mroute" out of #ifdef IPV6

From: Joachim Nilsson <troglobit@gmail.com>
[moved #ifdef RTADV to rtadv.h]
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
Joachim Nilsson 8 years ago
parent
commit
36735ed988
3 changed files with 41 additions and 39 deletions
  1. 2 0
      zebra/main.c
  2. 5 0
      zebra/rtadv.h
  3. 34 39
      zebra/zebra_vty.c

+ 2 - 0
zebra/main.c

@@ -327,7 +327,9 @@ main (int argc, char **argv)
   zebra_vty_init ();
   access_list_init ();
   prefix_list_init ();
+#ifdef RTADV
   rtadv_init ();
+#endif
 #ifdef HAVE_IRDP
   irdp_init();
 #endif

+ 5 - 0
zebra/rtadv.h

@@ -26,6 +26,9 @@
 #include "vty.h"
 #include "zebra/interface.h"
 
+/* NB: RTADV is defined in zebra/interface.h above */
+#ifdef RTADV
+
 /* Router advertisement prefix. */
 struct rtadv_prefix
 {
@@ -96,4 +99,6 @@ struct nd_opt_homeagent_info {  /* Home Agent info */
 
 extern const char *rtadv_pref_strs[];
 
+#endif /* RTADV */
+
 #endif /* _ZEBRA_RTADV_H */

+ 34 - 39
zebra/zebra_vty.c

@@ -1197,6 +1197,40 @@ DEFUN (show_ip_protocol,
     return CMD_SUCCESS;
 }
 
+/*
+ * Show IP mroute command to dump the BGP Multicast
+ * routing table
+ */
+DEFUN (show_ip_mroute,
+       show_ip_mroute_cmd,
+       "show ip mroute",
+       SHOW_STR
+       IP_STR
+       "IP Multicast routing table\n")
+{
+  struct route_table *table;
+  struct route_node *rn;
+  struct rib *rib;
+  int first = 1;
+
+  table = vrf_table (AFI_IP, SAFI_MULTICAST, 0);
+  if (! table)
+    return CMD_SUCCESS;
+
+  /* Show all IPv4 routes. */
+  for (rn = route_top (table); rn; rn = route_next (rn))
+    for (rib = rn->info; rib; rib = rib->next)
+      {
+       if (first)
+         {
+	   vty_out (vty, SHOW_ROUTE_V4_HEADER);
+           first = 0;
+         }
+       vty_show_ip_route (vty, rn, rib);
+      }
+  return CMD_SUCCESS;
+}
+
 
 #ifdef HAVE_IPV6
 /* General fucntion for IPv6 static route. */
@@ -1952,40 +1986,6 @@ DEFUN (show_ipv6_route_summary,
 }
 
 /*
- * Show IP mroute command to dump the BGP Multicast 
- * routing table
- */
-DEFUN (show_ip_mroute,
-       show_ip_mroute_cmd,
-       "show ip mroute",
-       SHOW_STR
-       IP_STR
-       "IP Multicast routing table\n")
-{
-  struct route_table *table;
-  struct route_node *rn;
-  struct rib *rib;
-  int first = 1;
-
-  table = vrf_table (AFI_IP, SAFI_MULTICAST, 0);
-  if (! table)
-    return CMD_SUCCESS;
-
-  /* Show all IPv4 routes. */
-  for (rn = route_top (table); rn; rn = route_next (rn))
-    for (rib = rn->info; rib; rib = rib->next)
-      {
-       if (first)
-         {
-	   vty_out (vty, SHOW_ROUTE_V4_HEADER);
-           first = 0;
-         }
-       vty_show_ip_route (vty, rn, rib);
-      }
-  return CMD_SUCCESS;
-}
-
-/*
  * Show IPv6 mroute command.Used to dump
  * the Multicast routing table.
  */
@@ -2020,11 +2020,6 @@ DEFUN (show_ipv6_mroute,
   return CMD_SUCCESS;
 }
 
-
-
-
-
-
 /* Write IPv6 static route configuration. */
 static int
 static_config_ipv6 (struct vty *vty)