Fix warnings. Didn't even look at files not compiled in Linux though.
diff --git a/zebra/rtadv.c b/zebra/rtadv.c
index e5a026e..cb29a67 100644
--- a/zebra/rtadv.c
+++ b/zebra/rtadv.c
@@ -349,7 +349,7 @@
 }
 
 void
-rtadv_process_packet (u_char *buf, int len, unsigned int ifindex, int hoplimit)
+rtadv_process_packet (u_char *buf, unsigned int len, unsigned int ifindex, int hoplimit)
 {
   struct icmp6_hdr *icmph;
   struct interface *ifp;
@@ -429,7 +429,7 @@
       return len;
     }
 
-  rtadv_process_packet (buf, len, ifindex, hoplimit);
+  rtadv_process_packet (buf, (unsigned)len, ifindex, hoplimit);
 
   return 0;
 }