From ebf9808112d7ed049f461e3ae8aad82b2d65f901 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= Date: Wed, 30 Sep 2015 14:59:43 -0400 Subject: [PATCH] man: describe IPv6AcceptRouterAdvertisements= better With the previous description it wasn't clear that the kernel default is being described. Add link to kernel docs. --- man/systemd.network.xml | 20 +++++++++++++++----- src/network/networkd-link.c | 8 ++++---- 2 files changed, 19 insertions(+), 9 deletions(-) diff --git a/man/systemd.network.xml b/man/systemd.network.xml index a27f2ff99e..1a33b77002 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 ffc9578e86..aa09065cf5 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);