i suspect it's part of an IPv4 prefix. ip/rarpd.c has if(myipaddr(myip, net) < 0) but uchar myip[4]; yet myipaddr now sets IPaddrlen (16) bytes and static char *efmt is allocated close to myip in data. if that becomes uchar myip[IPaddrlen]; and the subsequent memmove(rp->spa, myip, sizeof(rp->spa)); becomes v6tov4(rp->spa, myip); it might work, but then again that might just be the first of several changes required. i haven't got appropriate devices here to test rarpd