--- /dev/null
+Index: quagga-0.99.21/zebra/main.c
+===================================================================
+--- quagga-0.99.21.orig/zebra/main.c
++++ quagga-0.99.21/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
+Index: quagga-0.99.21/zebra/rtadv.h
+===================================================================
+--- quagga-0.99.21.orig/zebra/rtadv.h
++++ quagga-0.99.21/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
+
+ extern const char *rtadv_pref_strs[];
+
++#endif /* RTADV */
++
+ #endif /* _ZEBRA_RTADV_H */
+Index: quagga-0.99.21/zebra/zebra_vty.c
+===================================================================
+--- quagga-0.99.21.orig/zebra/zebra_vty.c
++++ quagga-0.99.21/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;
++}
++
+ \f
+ #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)