]> git.proxmox.com Git - mirror_ifupdown2.git/commitdiff
addons: address: policy: l3_intf_arp_accept accept arp_accept value
authorJulien Fortin <jfortin@nvidia.com>
Fri, 27 May 2022 09:58:34 +0000 (11:58 +0200)
committerJulien Fortin <jfortin@nvidia.com>
Fri, 27 May 2022 09:58:34 +0000 (11:58 +0200)
the policy l3_intf_arp_accept now accepts boolean value True(1)/False(0) as well
as normal arp_accept values

Signed-off-by: Julien Fortin <jfortin@nvidia.com>
ifupdown2/addons/address.py

index d4766b2ed7dfafc32de6ab76307a037bb87f795c..33c0338e8d6b349a7c5ad3eb94ccd0f8425cb83f 100644 (file)
@@ -9,6 +9,8 @@ import json
 import time
 import subprocess
 
+from distutils.util import strtobool
+
 try:
     from ifupdown2.lib.addon import AddonWithIpBlackList
     from ifupdown2.nlmanager.nlmanager import Link
@@ -226,9 +228,21 @@ class address(AddonWithIpBlackList, moduleBase):
                 module_name=self.__class__.__name__,
                 attr='l3_intf_arp_accept'
             ),
-            default=False
+            default=0
         )
 
+        try:
+            l3_intf_arp_accept_str = policymanager.policymanager_api.get_module_globals(
+                module_name=self.__class__.__name__,
+                attr="l3_intf_arp_accept"
+            )
+            try:
+                self.l3_intf_arp_accept = int(l3_intf_arp_accept_str)
+            except:
+                self.l3_intf_arp_accept = int(strtobool(l3_intf_arp_accept_str))
+        except:
+            self.l3_intf_arp_accept = 0
+
         self.l3_intf_default_gateway_set_onlink = utils.get_boolean_from_string(
             policymanager.policymanager_api.get_module_globals(
                 module_name=self.__class__.__name__,
@@ -441,7 +455,7 @@ class address(AddonWithIpBlackList, moduleBase):
                 if self.l3_intf_arp_accept:
                     if up:
                         self.write_file('/proc/sys/net/ipv4/conf/%s' % ifaceobj.name +
-                                        '/arp_accept', '1')
+                                        '/arp_accept', str(self.l3_intf_arp_accept))
                     else:
                         self.write_file('/proc/sys/net/ipv4/conf/%s' % ifaceobj.name +
                                         '/arp_accept', '0')