--- a/rarpd.c
+++ b/rarpd.c
@@ -55,10 +55,10 @@ struct iflink
 	unsigned char	lladdr[16];
 	char		name[IFNAMSIZ];
-	struct ifaddr 	*ifa_list;
+	struct kern_ifaddr 	*ifa_list;
 } *ifl_list;
 
-struct ifaddr
+struct kern_ifaddr
 {
-	struct ifaddr 	*next;
+	struct kern_ifaddr 	*next;
 	__u32		prefix;
 	__u32		mask;
@@ -92,5 +92,5 @@ void load_if(void)
 	struct ifreq *ifrp, *ifend;
 	struct iflink *ifl;
-	struct ifaddr *ifa;
+	struct kern_ifaddr *ifa;
 	struct ifconf ifc;
 	struct ifreq ibuf[256];
@@ -183,5 +183,5 @@ void load_if(void)
 			if (mask == 0 || prefix == 0)
 				continue;
-			ifa = (struct ifaddr*)malloc(sizeof(*ifa));
+			ifa = (struct kern_ifaddr*)malloc(sizeof(*ifa));
 			memset(ifa, 0, sizeof(*ifa));
 			ifa->local = addr;
@@ -239,8 +239,8 @@ int bootable(__u32 addr)
 }
 
-struct ifaddr *select_ipaddr(int ifindex, __u32 *sel_addr, __u32 **alist)
+struct kern_ifaddr *select_ipaddr(int ifindex, __u32 *sel_addr, __u32 **alist)
 {
 	struct iflink *ifl;
-	struct ifaddr *ifa;
+	struct kern_ifaddr *ifa;
 	int retry = 0;
 	int i;
@@ -298,5 +298,5 @@ struct rarp_map *rarp_lookup(int ifindex
 	if (r == NULL) {
 		if (hatype == ARPHRD_ETHER && halen == 6) {
-			struct ifaddr *ifa;
+			struct kern_ifaddr *ifa;
 			struct hostent *hp;
 			char ename[256];
@@ -371,5 +371,5 @@ int put_myipaddr(unsigned char **ptr_p, 
 	__u32 laddr = 0;
 	struct iflink *ifl;
-	struct ifaddr *ifa;
+	struct kern_ifaddr *ifa;
 
 	for (ifl=ifl_list; ifl; ifl = ifl->next)
