summaryrefslogtreecommitdiff
path: root/tests/topotests/lib/topogen.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/topotests/lib/topogen.py')
-rw-r--r--tests/topotests/lib/topogen.py15
1 files changed, 13 insertions, 2 deletions
diff --git a/tests/topotests/lib/topogen.py b/tests/topotests/lib/topogen.py
index d04d7b4257..4d7c56423e 100644
--- a/tests/topotests/lib/topogen.py
+++ b/tests/topotests/lib/topogen.py
@@ -850,12 +850,23 @@ class TopoRouter(TopoGear):
result = self.run(grep_cmd, warn=False).strip()
if result:
self.load_config(daemon, "")
+ if daemonstr == "ospf":
+ grep_cmd = "grep -E 'router ospf ([0-9]+*)' {} | grep -o -E '([0-9]*)'".format(
+ source_path
+ )
+ result = self.run(grep_cmd, warn=False)
+ if result: # instances
+ instances = result.split("\n")
+ for inst in instances:
+ if inst != "":
+ self.load_config(daemon, "", None, inst)
+
else:
for item in daemons:
daemon, param = item
self.load_config(daemon, "", param)
- def load_config(self, daemon, source=None, param=None):
+ def load_config(self, daemon, source=None, param=None, instance=None):
"""Loads daemon configuration from the specified source
Possible daemon values are: TopoRouter.RD_ZEBRA, TopoRouter.RD_RIP,
TopoRouter.RD_RIPNG, TopoRouter.RD_OSPF, TopoRouter.RD_OSPF6,
@@ -873,7 +884,7 @@ class TopoRouter(TopoGear):
"""
daemonstr = self.RD.get(daemon)
self.logger.debug('loading "{}" configuration: {}'.format(daemonstr, source))
- return self.net.loadConf(daemonstr, source, param)
+ return self.net.loadConf(daemonstr, source, param, instance)
def check_router_running(self):
"""