From: Zbigniew Jędrzejewski-Szmek Date: Wed, 30 Sep 2015 18:59:43 +0000 (-0400) Subject: man: describe IPv6AcceptRouterAdvertisements= better X-Git-Tag: v228~215^2 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=refs%2Fpull%2F1544%2Fhead;p=thirdparty%2Fsystemd.git man: describe IPv6AcceptRouterAdvertisements= better With the previous description it wasn't clear that the kernel default is being described. Add link to kernel docs. --- diff --git a/man/systemd.network.xml b/man/systemd.network.xml index a27f2ff99e1..1a33b77002b 100644 --- a/man/systemd.network.xml +++ b/man/systemd.network.xml @@ -409,11 +409,21 @@ IPv6AcceptRouterAdvertisements= - Configures Accept Router Advertisements. - This is enabled if local forwarding is disabled. - Disabled if local forwarding is enabled. - Takes a boolean. Defaults to unset. - + Force the setting of accept_ra + (router advertisements) setting for the interface. + When unset, the kernel default is used, and router + advertisements are accepted only when local forwarding + is disabled for that interface. + Takes a boolean. If true, router advertisements are + accepted, when false, router advertisements are ignored, + independently of the local forwarding state. + + See + ip-sysctl.txt + in the kernel documentation, but note that systemd's + setting of 1 corresponds to + kernel's setting of 2. + Bridge= diff --git a/src/network/networkd-link.c b/src/network/networkd-link.c index ffc9578e868..aa09065cf5d 100644 --- a/src/network/networkd-link.c +++ b/src/network/networkd-link.c @@ -1812,16 +1812,16 @@ static int link_set_ipv6_accept_ra(Link *link) { * disabled if local forwarding is enabled). * If set, ignore or enforce RA independent of local forwarding state. */ - if (link->network->ipv6_accept_ra < 0) { + if (link->network->ipv6_accept_ra < 0) /* default to accept RA if ip_forward is disabled and ignore RA if ip_forward is enabled */ v = "1"; - } else if (link->network->ipv6_accept_ra > 0) { + else if (link->network->ipv6_accept_ra > 0) /* "2" means accept RA even if ip_forward is enabled */ v = "2"; - } else { + else /* "0" means ignore RA */ v = "0"; - } + p = strjoina("/proc/sys/net/ipv6/conf/", link->ifname, "/accept_ra"); r = write_string_file(p, v, 0);