summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorckishimo <carles.kishimoto@gmail.com>2021-01-25 11:05:24 +0100
committerckishimo <carles.kishimoto@gmail.com>2021-01-26 11:01:05 +0100
commita7394afa525ebfed82d392b82f679ea1dc61c8d0 (patch)
tree1e32e583d3f1ad7a28a9db3a59abcd3ffc00e0ce
parent3ee31ad1318765109a34621c46ccd6f5183528c5 (diff)
tests: create_interfaces_cfg add ospfv3 support
Signed-off-by: ckishimo <carles.kishimoto@gmail.com>
-rw-r--r--tests/topotests/lib/common_config.py57
1 files changed, 34 insertions, 23 deletions
diff --git a/tests/topotests/lib/common_config.py b/tests/topotests/lib/common_config.py
index 427d0275c3..d372d12a74 100644
--- a/tests/topotests/lib/common_config.py
+++ b/tests/topotests/lib/common_config.py
@@ -1594,6 +1594,25 @@ def create_interfaces_cfg(tgen, topo, build=False):
-------
True or False
"""
+
+ def _create_interfaces_ospf_cfg(ospf, c_data, data, ospf_keywords):
+ interface_data = []
+ ip_ospf = "ipv6 ospf6" if ospf == "ospf6" else "ip ospf"
+ for keyword in ospf_keywords:
+ if keyword in data[ospf]:
+ intf_ospf_value = c_data["links"][destRouterLink][ospf][keyword]
+ if "delete" in data and data["delete"]:
+ interface_data.append(
+ "no {} {}".format(ip_ospf, keyword.replace("_", "-"))
+ )
+ else:
+ interface_data.append(
+ "{} {} {}".format(
+ ip_ospf, keyword.replace("_", "-"), intf_ospf_value
+ )
+ )
+ return interface_data
+
result = False
topo = deepcopy(topo)
@@ -1640,34 +1659,26 @@ def create_interfaces_cfg(tgen, topo, build=False):
else:
interface_data.append("ipv6 address {}\n".format(intf_addr))
+ ospf_keywords = [
+ "hello_interval",
+ "dead_interval",
+ "network",
+ "priority",
+ "cost",
+ ]
if "ospf" in data:
- ospf_keywords = [
- "area",
- "hello_interval",
- "dead_interval",
- "network",
- "priority",
- "cost",
- ]
- for keyword in ospf_keywords:
- if keyword in data["ospf"]:
- intf_ospf_value = c_data["links"][destRouterLink]["ospf"][
- keyword
- ]
- if "delete" in data and data["delete"]:
- interface_data.append(
- "no ip ospf {}".format(keyword.replace("_", "-"))
- )
- else:
- interface_data.append(
- "ip ospf {} {}".format(
- keyword.replace("_", "-"), intf_ospf_value
- )
- )
+ interface_data += _create_interfaces_ospf_cfg(
+ "ospf", c_data, data, ospf_keywords + ["area"]
+ )
+ if "ospf6" in data:
+ interface_data += _create_interfaces_ospf_cfg(
+ "ospf6", c_data, data, ospf_keywords
+ )
result = create_common_configuration(
tgen, c_router, interface_data, "interface_config", build=build
)
+
except InvalidCLIError:
# Traceback
errormsg = traceback.format_exc()