ports/152972: [patch] net/freenet6 breaks rtadvd(8)

J.R. Oldroyd fbsd at opal.com
Thu Dec 9 22:50:09 UTC 2010

>Number:         152972
>Category:       ports
>Synopsis:       [patch] net/freenet6 breaks rtadvd(8)
>Confidential:   no
>Severity:       serious
>Priority:       high
>Responsible:    freebsd-ports-bugs
>State:          open
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Thu Dec 09 22:50:08 UTC 2010
>Originator:     J.R. Oldroyd
>Release:        FreeBSD 8.2-PRERELEASE i386
System: FreeBSD xx.opal.com 8.2-PRERELEASE FreeBSD 8.2-PRERELEASE #5: Sat Dec 4 23:01:56 EST 2010 xx at xx.opal.com:/usr/obj/usr/src/sys/XX i386
The net/freenet6 port takes it upon itself to manipulate the rtadvd(8) daemon.

Doing so might make sense in the event that there is a single network behind
the freenet6 IPv6 tunnel and the entire prefix is to be deployed on that single

However, if there is a more sophisticated IPv6 subnet setup with the freenet6
prefix split between several networks, freenet6's attempt to manipulate rtadvd
will not work properly.

The patch below removes the rtadvd start/stop from freenet6, allowing rtadvd
to be configured and run independently of freenet6.  Alternative patches, which
more cleverly determine when freenet6 should or should not start/stop rtadvd
would also be acceptable.
Configure /etc/rtadvd.conf for separate IPv6 subnets on multiple network interfaces.
Configure rtadvd_interfaces in /etc/rc.conf to have list of multiple interfaces.
Run rtadvd; observe RAs going to those multiple interfaces.
Start freenet6.
Observe that rtadvd has been killed and is now restarted with only freenet6's
TSP_HOME_INTERFACE interface argument.
Observe no RAs going to the other interfaces any more.
--- gw6c-freebsd.sh.orig	2010-12-07 00:16:12.000000000 -0500
+++ gw6c-freebsd.sh	2010-12-07 00:20:59.000000000 -0500
@@ -119,7 +119,7 @@
     ExecNoCheck $ifconfig $TSP_HOME_INTERFACE inet6 $TSP_PREFIX::1 delete
     # Kill router advertisement daemon gracefully (SIGTERM)
-    KillProcess rtadvd
+#    KillProcess rtadvd
   # Delete any routes
@@ -225,8 +225,8 @@
       Display 1 "Adding prefix to $TSP_HOME_INTERFACE"
       Exec $ifconfig $TSP_HOME_INTERFACE inet6 $TSP_PREFIX::1 prefixlen 64  
       # Router advertisement startup
-      KillProcess rtadvd
-      Exec $rtadvd $TSP_HOME_INTERFACE  
+#      KillProcess rtadvd
+#      Exec $rtadvd $TSP_HOME_INTERFACE  

More information about the freebsd-ports-bugs mailing list