]> git.proxmox.com Git - mirror_ifupdown2.git/blobdiff - ifupdown2/addons/addressvirtual.py
addons: addressvirtual: ifquery -r doesn't display link-local address
[mirror_ifupdown2.git] / ifupdown2 / addons / addressvirtual.py
index 99c40085df67897f294976999e3833e3f4b132c1..0748023373dc7ece225f47b967d0f04ce533f96f 100644 (file)
@@ -577,13 +577,19 @@ class addressvirtual(moduleBase):
         for av in address_virtuals:
             macvlan_ifacename = os.path.basename(av)
             rhwaddress = self.ipcmd.link_get_hwaddress(macvlan_ifacename)
-            raddress = self.ipcmd.get_running_addrs(None, macvlan_ifacename)
+
+            raddress = []
+            for obj in ifaceobj_getfunc(ifaceobjrunning.name) or []:
+                raddress.extend(self.ipcmd.get_running_addrs(None, macvlan_ifacename, addr_virtual_ifaceobj=obj) or [])
+
+            raddress = list(set(raddress))
+
             if not raddress:
                 self.logger.warn('%s: no running addresses'
                                  %ifaceobjrunning.name)
                 raddress = []
             ifaceobjrunning.update_config('address-virtual',
-                            '%s %s' %(rhwaddress, ''.join(raddress)))
+                            '%s %s' %(rhwaddress, ' '.join(raddress)))
 
             macvlans_ipv6_addrgen_list.append((macvlan_ifacename, self.ipcmd.get_ipv6_addrgen_mode(macvlan_ifacename)))