diff --git a/zebra/rt_netlink.c b/zebra/rt_netlink.c
index 4234a44..0a6b8dd 100644
--- a/zebra/rt_netlink.c
+++ b/zebra/rt_netlink.c
@@ -52,7 +52,7 @@
 } netlink      = { -1, 0, {0}, "netlink-listen"},     /* kernel messages */
   netlink_cmd  = { -1, 0, {0}, "netlink-cmd"};        /* command channel */
 
-struct message nlmsg_str[] = {
+static struct message nlmsg_str[] = {
   {RTM_NEWROUTE, "RTM_NEWROUTE"},
   {RTM_DELROUTE, "RTM_DELROUTE"},
   {RTM_GETROUTE, "RTM_GETROUTE"},
@@ -65,7 +65,7 @@
   {0, NULL}
 };
 
-const char *nexthop_types_desc[] =  
+static const char *nexthop_types_desc[] =
 {
   "none",
   "Directly connected",
@@ -79,7 +79,6 @@
   "Null0 nexthop",
 };
 
-
 extern struct zebra_t zebrad;
 
 extern struct zebra_privs_t zserv_privs;
@@ -222,7 +221,7 @@
   return ret;
 }
 
-int
+static int
 set_netlink_blocking (struct nlsock *nl, int *flags)
 {
 
@@ -243,7 +242,7 @@
   return 0;
 }
 
-int
+static int
 set_netlink_nonblocking (struct nlsock *nl, int *flags)
 {
   /* Restore socket flags for nonblocking I/O */
@@ -493,7 +492,7 @@
 
 /* Called from interface_lookup_netlink().  This function is only used
    during bootstrap. */
-int
+static int
 netlink_interface (struct sockaddr_nl *snl, struct nlmsghdr *h)
 {
   int len;
@@ -570,7 +569,7 @@
 }
 
 /* Lookup interface IPv4/IPv6 address. */
-int
+static int
 netlink_interface_addr (struct sockaddr_nl *snl, struct nlmsghdr *h)
 {
   int len;
@@ -705,7 +704,7 @@
 }
 
 /* Looking up routing table by netlink interface. */
-int
+static int
 netlink_routing_table (struct sockaddr_nl *snl, struct nlmsghdr *h)
 {
   int len;
@@ -822,7 +821,7 @@
 };
 
 /* Routing information change from the kernel. */
-int
+static int
 netlink_route_change (struct sockaddr_nl *snl, struct nlmsghdr *h)
 {
   int len;
@@ -963,7 +962,7 @@
   return 0;
 }
 
-int
+static int
 netlink_link_change (struct sockaddr_nl *snl, struct nlmsghdr *h)
 {
   int len;
@@ -1064,7 +1063,7 @@
   return 0;
 }
 
-int
+static int
 netlink_information_fetch (struct sockaddr_nl *snl, struct nlmsghdr *h)
 {
   switch (h->nlmsg_type)
@@ -1189,7 +1188,7 @@
 
 /* Utility function  comes from iproute2. 
    Authors:	Alexey Kuznetsov, <kuznet@ms2.inr.ac.ru> */
-int
+static int
 addattr_l (struct nlmsghdr *n, int maxlen, int type, void *data, int alen)
 {
   int len;
@@ -1209,7 +1208,7 @@
   return 0;
 }
 
-int
+static int
 rta_addattr_l (struct rtattr *rta, int maxlen, int type, void *data, int alen)
 {
   int len;
@@ -1231,7 +1230,7 @@
 
 /* Utility function comes from iproute2. 
    Authors:	Alexey Kuznetsov, <kuznet@ms2.inr.ac.ru> */
-int
+static int
 addattr32 (struct nlmsghdr *n, int maxlen, int type, int data)
 {
   int len;
@@ -1259,7 +1258,7 @@
 }
 
 /* sendmsg() to netlink socket then recvmsg(). */
-int
+static int
 netlink_talk (struct nlmsghdr *n, struct nlsock *nl)
 {
   int status;
@@ -1322,7 +1321,7 @@
 }
 
 /* Routing table change via netlink interface. */
-int
+static int
 netlink_route (int cmd, int family, void *dest, int length, void *gate,
                int index, int zebra_flags, int table)
 {
@@ -1396,7 +1395,7 @@
 }
 
 /* Routing table change via netlink interface. */
-int
+static int
 netlink_route_multipath (int cmd, struct prefix *p, struct rib *rib,
                          int family)
 {
@@ -1858,7 +1857,7 @@
 #endif /* HAVE_IPV6 */
 
 /* Interface address modification. */
-int
+static int
 netlink_address (int cmd, int family, struct interface *ifp,
                  struct connected *ifc)
 {
@@ -1923,7 +1922,7 @@
 extern struct thread_master *master;
 
 /* Kernel route reflection. */
-int
+static int
 kernel_read (struct thread *thread)
 {
   int ret;
