diff -u -r ../inetutils-1.9.3/libinetutils/if_index.c ./libinetutils/if_index.c
--- ../inetutils-1.9.3/libinetutils/if_index.c	2015-03-31 11:40:48.000000000 -0400
+++ ./libinetutils/if_index.c	2015-05-12 15:32:45.660145151 -0400
@@ -37,10 +37,22 @@
 #include <net/if.h>
 
 #ifndef HAVE_STRUCT_IF_NAMEINDEX
+
+#ifdef __ANDROID__
+struct if_nameindex {
+	unsigned int if_index;
+       char    *if_name;
+};
+# define ifr_ifindex     ifr_ifru.ifru_ivalue    /* interface index      */
+#endif
+
 unsigned int
 if_nametoindex (const char *ifname)
 {
   int result = 0;
+#ifdef __ANDROID__
+  return result;
+#else
 #ifdef SIOCGIFINDEX
   {
     int fd = socket (AF_INET, SOCK_DGRAM, 0);
@@ -75,11 +87,13 @@
       }
     return result;
   }
+#endif
 }
 
 void
 if_freenameindex (struct if_nameindex *ifn)
 {
+#ifndef __ANDROID__
   struct if_nameindex *ptr = ifn;
   if (!ifn)
     return;
@@ -88,6 +102,7 @@
       free (ptr->if_name);
       ++ptr;
     }
+#endif
   free (ifn);
 }
 
@@ -162,7 +177,7 @@
 	  return NULL;
 	}
 
-# if defined SIOCGIFINDEX
+# if defined SIOCGIFINDEX && !defined(__ANDROID__)
       if (ioctl (fd, SIOCGIFINDEX, cur) >= 0)
 	idx[i].if_index = cur->ifr_index;
       else