[systemd-devel] radvd and sysctl systemd under Debian

William Hay wish at dumain.com
Fri Jan 8 08:44:57 PST 2016


I'm running a Debian Jessie ARM system whose hardware I recently upgraded.  This allowed me to upgrade
the kernel to the standard Jessie kernel and switch to systemd.  However I am having a few issues with 
getting radvd to start on boot.

Ther kernel is:
linux-image-3.16.0-4-armmp-lpae   3.16.7-ckt20-1+deb8u2

Which has CONFIG_IPV6=y meaning the various IPV6 sysctls should be available
as soon as the /proc filesystem is mounted.

/etc/sysctl.d/ contains only 99-sysctl.conf 
which is a symlink pointing to /etc/sysctl.conf

which contains the following uncommented lines:
net.ipv4.ip_forward=1
net.ipv6.conf.default.forwarding=1
net.ipv6.conf.all.forwarding=1
net.ipv6.conf.ppp0.accept_ra=2

However on boot net.ipv6.conf.all.forwarding is set to 0

Running systemctl start systemd-sysctl by hand does not change this but 
running sysctl -p does.  

To me it looks like systemd is not updating the sysctls either at boot or 
when explicitly instructed to do so.

However even if I run sysctl -p and update the above sysctls I still
cannot start radvd via systemctl.  Journalctl -u radvd  complains:
Jan 08 14:52:40 stylite radvd[1436]: Starting radvd:
Jan 08 14:52:40 stylite radvd[1436]: * IPv6 forwarding seems to be disabled.
Jan 08 14:52:40 stylite radvd[1436]: * See /usr/share/doc/radvd/README.Debian
Jan 08 14:52:40 stylite radvd[1436]: * radvd will *not* be started.

This message appears to come from /etc/init.d/radvd which checks if 
/proc/sys/net/ipv6/conf/all/forwarding is present and contains the value 1
which it does.  

Running the above init script by hand (/bin/sh -x /etc/init.d/radvd start )does i
not appear to execute the relevant code though instead an included file causes it
to try to start radvd via systemctl (makes sense on a systemd based system I guess).

AFACT the only way I can get radvd to start reliably is to either run the radvd 
binary by hand or run 

systemctl stop radvd
sysctl -p
systemctl start radvd

Despite radvd not being running in the first place.  

I thought this might be something to do with socket activation but clients on the network don't 
seem to pick up an IPV6 address/route until radvd is kicked in this manner.

Any help with getting the sysctls applied at boot and radvd started and serving addresses/routes
would be appreciated.


Thanks in advance

William

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://lists.freedesktop.org/archives/systemd-devel/attachments/20160108/27d352fc/attachment.sig>


More information about the systemd-devel mailing list