]> git.proxmox.com Git - mirror_ifupdown2.git/commitdiff
addons: address: disable dad on no attempts
authorAdrien Banlin <a.banlin@alphalink.fr>
Fri, 25 Mar 2022 11:36:41 +0000 (12:36 +0100)
committerAdrien Banlin <a.banlin@alphalink.fr>
Tue, 5 Apr 2022 12:46:13 +0000 (14:46 +0200)
ifupdown2/addons/address.py

index a4e750fb350192763e56b60c636e1fff15333345..e26accc5fe7098f92418f60073da9992221e18c2 100644 (file)
@@ -505,6 +505,9 @@ class address(AddonWithIpBlackList, moduleBase):
 
     def __add_ip_addresses_with_attributes(self, ifaceobj, ifname, user_config_ip_addrs):
         ipv6_is_disabled = None
+        nodad = False
+        if self.ipv6_dad_handling_enabled:
+            nodad = ifaceobj.get_attr_value_first('dad-attempts') == '0'
         try:
             for ip, attributes in user_config_ip_addrs:
 
@@ -526,10 +529,11 @@ class address(AddonWithIpBlackList, moduleBase):
                         scope=attributes.get("scope"),
                         peer=attributes.get("pointopoint"),
                         broadcast=attributes.get("broadcast"),
-                        preferred_lifetime=attributes.get("preferred-lifetime")
+                        preferred_lifetime=attributes.get("preferred-lifetime"),
+                        nodad=nodad
                     )
                 else:
-                    self.netlink.addr_add(ifname, ip)
+                    self.netlink.addr_add(ifname, ip, nodad=nodad)
         except Exception as e:
             self.log_error(str(e), ifaceobj)