diff --git a/zebra/zebra_vty.c b/zebra/zebra_vty.c
index 9830e5b..ad91d95 100644
--- a/zebra/zebra_vty.c
+++ b/zebra/zebra_vty.c
@@ -27,8 +27,10 @@
 #include "table.h"
 #include "rib.h"
 
+#include "zebra/zserv.h"
+
 /* Return route type string for VTY output.  */
-const char *
+static const char *
 route_type_str (u_char type)
 {
   switch (type)
@@ -59,7 +61,7 @@
 };
 
 /* Return route type string for VTY output.  */
-char
+static const char
 route_type_char (u_char type)
 {
   switch (type)
@@ -90,7 +92,7 @@
 };
 
 /* General fucntion for static route. */
-int
+static int
 zebra_static_ipv4 (struct vty *vty, int add_cmd, const char *dest_str,
 		   const char *mask_str, const char *gate_str,
 		   const char *flag_str, const char *distance_str)
@@ -535,7 +537,7 @@
 }
 
 /* New RIB.  Detailed information for IPv4 route. */
-void
+static void
 vty_show_ip_route_detail (struct vty *vty, struct route_node *rn)
 {
   struct rib *rib;
@@ -641,7 +643,7 @@
     }
 }
 
-void
+static void
 vty_show_ip_route (struct vty *vty, struct route_node *rn, struct rib *rib)
 {
   struct nexthop *nexthop;
@@ -1008,7 +1010,7 @@
   return CMD_SUCCESS;
 }
 
-void
+static void
 zebra_show_ip_route (struct vty *vty, struct vrf *vrf)
 {
   vty_out (vty, "IP routing table name is %s(%d)%s",
@@ -1059,7 +1061,7 @@
 }
 
 /* Write IPv4 static route configuration. */
-int
+static int
 static_config_ipv4 (struct vty *vty)
 {
   struct route_node *rn;
@@ -1115,7 +1117,7 @@
 
 #ifdef HAVE_IPV6
 /* General fucntion for IPv6 static route. */
-int
+static int
 static_ipv6_func (struct vty *vty, int add_cmd, const char *dest_str,
 		  const char *gate_str, const char *ifname,
 		  const char *flag_str, const char *distance_str)
@@ -1420,7 +1422,7 @@
 }
 
 /* New RIB.  Detailed information for IPv6 route. */
-void
+static void
 vty_show_ipv6_route_detail (struct vty *vty, struct route_node *rn)
 {
   struct rib *rib;
@@ -1535,7 +1537,7 @@
     }
 }
 
-void
+static void
 vty_show_ipv6_route (struct vty *vty, struct route_node *rn,
 		     struct rib *rib)
 {
@@ -1867,7 +1869,7 @@
 
 
 /* Write IPv6 static route configuration. */
-int
+static int
 static_config_ipv6 (struct vty *vty)
 {
   struct route_node *rn;
@@ -1921,7 +1923,7 @@
 #endif /* HAVE_IPV6 */
 
 /* Static ip route configuration write function. */
-int
+static int
 zebra_ip_config (struct vty *vty)
 {
   int write = 0;
@@ -1939,7 +1941,7 @@
 
 /* Route VTY.  */
 void
-zebra_vty_route_init ()
+zebra_vty_init (void)
 {
   install_node (&ip_node, zebra_ip_config);
 
@@ -2014,9 +2016,3 @@
   install_element (ENABLE_NODE, &show_ipv6_route_prefix_longer_cmd);
 #endif /* HAVE_IPV6 */
 }
-
-void
-zebra_vty_init ()
-{
-  zebra_vty_route_init ();
-}
