diff -ur radvd-1.6-old/configure.in radvd-1.6/configure.in
--- radvd-1.6-old/configure.in	2008-10-14 15:10:11.000000000 +0200
+++ radvd-1.6/configure.in	2011-03-13 19:55:08.000000000 +0100
@@ -27,6 +27,11 @@
 		AC_DEFINE([_GNU_SOURCE], [], [whether compiling on Linux, glibc>=2.8 doesn't expose in6_pktinfo otherwise..])
                 arch=linux
         ;;
+	*kfreebsd*gnu*)
+		AC_MSG_RESULT(kfreebsd-gnu)
+		AC_DEFINE([_GNU_SOURCE], [], [glibc>=2.8 doesn't expose in6_pktinfo otherwise..])
+                arch=bsd44
+        ;;
         *bsd*)
 		AC_MSG_RESULT(bsd44)
                 arch=bsd44
diff -ur radvd-1.6-old/debian/radvd.init radvd-1.6/debian/radvd.init
--- radvd-1.6-old/debian/radvd.init	2011-03-13 20:31:41.000000000 +0100
+++ radvd-1.6/debian/radvd.init	2011-03-13 20:29:44.000000000 +0100
@@ -24,12 +24,15 @@
 set -e
 
 # Check for IPv6 support in kernel
-if test \! -e /proc/sys/net/ipv6; then
-  echo "IPv6 support must be enabled in the kernel for $DESC to work."
-  exit
+if [ "$(uname -s)" != "GNU/kFreeBSD" ]; then
+  if test \! -e /proc/sys/net/ipv6; then
+    echo "IPv6 support must be enabled in the kernel for $DESC to work."
+    exit
+  fi
 fi
 
 chkconfig() {
+  if [ "$(uname -s)" != "GNU/kFreeBSD" ]; then
     if [ ! -e $CONFIG -o ! -s $CONFIG ]; then
         echo ""
 	echo "* $CONFIG does not exist or is empty." 
@@ -44,6 +47,7 @@
 	echo "* radvd will *not* be started."
 	exit 0
     fi
+  fi
 }
 
 case "$1" in
