From bad770ddb260d8698fd7476b2005dd971924c651 Mon Sep 17 00:00:00 2001 From: Erik Reid <erik.reid@geant.org> Date: Mon, 5 Nov 2018 11:19:05 +0100 Subject: [PATCH] handle repeated v6 interface addresses with same name --- config.py | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/config.py b/config.py index 1be548e8..62b7d140 100644 --- a/config.py +++ b/config.py @@ -165,7 +165,23 @@ def get_router_interfaces(router): "v4InterfaceName": v4InterfaceName }) - print(interfaces) + + v6IfcNames = {} + for v6InterfaceName in details["v6InterfaceName"]: + m = re.match(r'.*\.(\d+)$', v6InterfaceName["oid"]) + assert m + v6IfcNames[m.group(1)] = v6InterfaceName["value"] + + for v6AddressAndMask in details["v6AddressAndMask"]: + oid = v6AddressAndMask["oid"] + oid_info = oid[len(oid_map["v6AddressAndMask"]):] + m = re.match(r'^\.(\d+)\.(.+)$', oid_info) + assert m + interfaces.append({ + "v6Address": m.group(2), + "v6Mask": v6AddressAndMask["value"], + "v6InterfaceName": v6IfcNames[m.group(1)] + }) return interfaces """ @@ -203,7 +219,8 @@ def cli(config): with connection(config["alarms-db"]) as c: _db_test(c, r) - get_router_interfaces(r) + for i in get_router_interfaces(r): + print(i) break -- GitLab