Bug#827424: systemd-networkd IPv6AcceptRouterAdvertisements doesn't work
Michael Berg
michael.berg at misumasu.com
Thu Jun 16 01:23:06 BST 2016
Package: systemd
Version: 230-2
Severity: normal
According on the systemd.network manual page:
IPv6AcceptRouterAdvertisements=
Force the setting of the accept_ra ...
Takes a boolean.
... note that systemd's setting of 1
corresponds to kernel's setting of 2.
This documented behavior is not the behavior that I am seeing.
IPv6AcceptRouterAdvertisements always results in accept_ra=1.
Since this system also performs routing (forwarding is enabled),
this means that router advertisements are ignored.
The interface in question is a bridge interface named br_32.
The contents of /etc/systemd/network/br_32.network are
=====
[Match]
Name=br_32
[Network]
IPv6AcceptRouterAdvertisements=yes
IPv6PrivacyExtensions=yes
=====
The following sequence of commands show what I'm experiencing.
=====
# systemctl restart systemd-networkd.service
# sysctl net.ipv6.conf.br_32.accept_ra
net.ipv6.conf.br_32.accept_ra = 1
# sysctl -w net.ipv6.conf.br_32.accept_ra=2
# sysctl net.ipv6.conf.br_32.accept_ra
net.ipv6.conf.br_32.accept_ra = 2
# systemctl restart systemd-networkd.service
# sysctl net.ipv6.conf.br_32.accept_ra
net.ipv6.conf.br_32.accept_ra = 1
=====
So systemd-networkd does not set accept_ra=2 as indicated
in the manual page and as required in my network configuation.
I can manually set accept_ra=2 for that interace with `sysctl -w`,
and then everything works correctly (RAs are accepted and SLAAC works).
However, restarting systemd-networkd sets accept_ra back to 1,
disabling acceptance of future RAs.
I've also tried setting IPv6AcceptRouterAdvertisements=2.
Unfortunately, this is unsupported syntax as it "Takes a boolean."
So I'm unable to set or keep accept_ra=2 via systemd-networkd,
and I can't set it via /etc/sysctl.conf since systemd-networkd.service
will clobber the sysctl.conf setting when it runs.
Please fix systemd-networkd so that IPv6AcceptRouterAdvertisements
behaves as described in the manual page.
-- Package-specific info:
-- System Information:
Debian Release: stretch/sid
APT prefers unstable
APT policy: (990, 'unstable'), (1, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386
Kernel: Linux 4.6.0-1-amd64 (SMP w/8 CPU cores)
Locale: LANG=en_US.utf8, LC_CTYPE=en_US.utf8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
Versions of packages systemd depends on:
ii adduser 3.114
ii libacl1 2.2.52-3
ii libapparmor1 2.10-4
ii libaudit1 1:2.5.2-1
ii libblkid1 2.28-5
ii libc6 2.22-11
ii libcap2 1:2.25-1
ii libcap2-bin 1:2.25-1
ii libcryptsetup4 2:1.7.0-2
ii libgcrypt20 1.7.0-2
ii libgpg-error0 1.22-2
ii libkmod2 22-1.1
ii liblzma5 5.1.1alpha+20120614-2.1
ii libmount1 2.28-5
ii libpam0g 1.1.8-3.3
ii libseccomp2 2.3.1-2
ii libselinux1 2.5-3
ii libsystemd0 230-2
ii mount 2.28-5
ii util-linux 2.28-5
Versions of packages systemd recommends:
ii dbus 1.10.8-1
ii libpam-systemd 230-2
Versions of packages systemd suggests:
ii systemd-container 230-2
ii systemd-ui 3-4
Versions of packages systemd is related to:
ii udev 230-2
-- Configuration Files:
/etc/systemd/resolved.conf changed [not included]
/etc/systemd/timesyncd.conf changed [not included]
-- no debconf information
More information about the Pkg-systemd-maintainers
mailing list