1
0
mirror of https://github.com/CumulusNetworks/ifupdown2.git synced 2024-05-06 15:54:50 +00:00

addons: addressvirtual: add support for VRRP attribute

syntax: vrrp ID ip[4|6]

Signed-off-by: Julien Fortin <julien@cumulusnetworks.com>
This commit is contained in:
Julien Fortin
2019-01-25 09:58:25 +08:00
parent 1d35560dc6
commit 5bc963f0ad
2 changed files with 485 additions and 199 deletions

View File

@@ -934,23 +934,24 @@ class LinkUtils(utilsBase):
interface_name = ifname
if addr_virtual_ifaceobj:
for virtual in addr_virtual_ifaceobj.get_attr_value('address-virtual') or []:
for ip in virtual.split():
try:
IPNetwork(ip)
config_addrs.add(ip)
except:
pass
saved_ifaceobjs = statemanager.statemanager_api.get_ifaceobjs(addr_virtual_ifaceobj.name)
for saved_ifaceobj in saved_ifaceobjs or []:
for virtual in saved_ifaceobj.get_attr_value('address-virtual') or []:
for attr_name in ["address-virtual", "vrrp"]:
for virtual in addr_virtual_ifaceobj.get_attr_value(attr_name) or []:
for ip in virtual.split():
try:
IPNetwork(ip)
config_addrs.add(ip)
except:
pass
saved_ifaceobjs = statemanager.statemanager_api.get_ifaceobjs(addr_virtual_ifaceobj.name)
for saved_ifaceobj in saved_ifaceobjs or []:
for virtual in saved_ifaceobj.get_attr_value(attr_name) or []:
for ip in virtual.split():
try:
IPNetwork(ip)
config_addrs.add(ip)
except:
pass
else:
if ifaceobj:
for addr in ifaceobj.get_attr_value('address') or []: