From c912e7bae7b204c1fc77d430dc0ed33c49e74b8e Mon Sep 17 00:00:00 2001 From: Alexandre Derumier Date: Tue, 9 May 2023 19:14:53 +0200 Subject: [PATCH] address: use default accept_ra|autoconf from net.ipv6.conf.all. sysctl --- ifupdown2/addons/address.py | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/ifupdown2/addons/address.py b/ifupdown2/addons/address.py index fc400883..ef981f8e 100644 --- a/ifupdown2/addons/address.py +++ b/ifupdown2/addons/address.py @@ -269,6 +269,16 @@ def __init__(self, *args, **kargs): attr="check_l3_svi_ip_forwarding") ) + try: + self.default_accept_ra = str(self.sysctl_get('net.ipv6.conf.all.accept_ra')) + except Exception: + self.default_accept_ra = 1 + + try: + self.default_autoconf = str(self.sysctl_get('net.ipv6.conf.all.autoconf')) + except Exception: + self.default_autoconf = 1 + def __policy_get_default_mtu(self): default_mtu = policymanager.policymanager_api.get_attr_default( module_name=self.__class__.__name__, @@ -1009,9 +1019,11 @@ def _sysctl_config(self, ifaceobj): try: running_accept_ra = self.cache.get_link_inet6_accept_ra(ifaceobj) + if running_accept_ra == '': + running_accept_ra = self.default_accept_ra accept_ra = ifaceobj.get_attr_value_first('accept-ra') if accept_ra is None: - accept_ra = '0' + accept_ra = self.default_accept_ra if running_accept_ra != accept_ra: self.sysctl_set('net.ipv6.conf.%s.accept_ra' @@ -1019,9 +1031,11 @@ def _sysctl_config(self, ifaceobj): accept_ra) running_autoconf = self.cache.get_link_inet6_autoconf(ifaceobj) + if running_autoconf == '': + running_autoconf = self.default_autoconf autoconf = ifaceobj.get_attr_value_first('autoconf') if autoconf is None: - autoconf = '0' + autoconf = self.default_autoconf if running_autoconf != autoconf: self.sysctl_set('net.ipv6.conf.%s.autoconf'