summaryrefslogtreecommitdiff
path: root/tests/topotests/lib/common_config.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/topotests/lib/common_config.py')
-rw-r--r--tests/topotests/lib/common_config.py75
1 files changed, 40 insertions, 35 deletions
diff --git a/tests/topotests/lib/common_config.py b/tests/topotests/lib/common_config.py
index c0572fca4c..0b97637c1e 100644
--- a/tests/topotests/lib/common_config.py
+++ b/tests/topotests/lib/common_config.py
@@ -1505,11 +1505,9 @@ def create_vrf_cfg(tgen, topo, input_dict=None, build=False):
config_data = []
if "vrfs" in c_data:
for vrf in c_data["vrfs"]:
- del_action = vrf.setdefault("delete", False)
name = vrf.setdefault("name", None)
table_id = vrf.setdefault("id", None)
- vni = vrf.setdefault("vni", None)
- del_vni = vrf.setdefault("no_vni", None)
+ del_action = vrf.setdefault("delete", False)
if del_action:
# Kernel cmd- Add VRF and table
@@ -1543,43 +1541,45 @@ def create_vrf_cfg(tgen, topo, input_dict=None, build=False):
)
rnode.run(cmd)
- if "links" in c_data:
- for destRouterLink, data in sorted(
- c_data["links"].items()
- ):
- # Loopback interfaces
- if "type" in data and data["type"] == "loopback":
- interface_name = destRouterLink
- else:
- interface_name = data["interface"]
+ for vrf in c_data["vrfs"]:
+ vni = vrf.setdefault("vni", None)
+ del_vni = vrf.setdefault("no_vni", None)
+
+ if "links" in c_data:
+ for destRouterLink, data in sorted(c_data["links"].items()):
+ # Loopback interfaces
+ if "type" in data and data["type"] == "loopback":
+ interface_name = destRouterLink
+ else:
+ interface_name = data["interface"]
- if "vrf" in data:
- vrf_list = data["vrf"]
+ if "vrf" in data:
+ vrf_list = data["vrf"]
- if type(vrf_list) is not list:
- vrf_list = [vrf_list]
+ if type(vrf_list) is not list:
+ vrf_list = [vrf_list]
- for _vrf in vrf_list:
- cmd = "ip link set {} master {}".format(
- interface_name, _vrf
- )
+ for _vrf in vrf_list:
+ cmd = "ip link set {} master {}".format(
+ interface_name, _vrf
+ )
- logger.info(
- "[DUT: %s]: Running" " kernel cmd [%s]",
- c_router,
- cmd,
- )
- rnode.run(cmd)
+ logger.info(
+ "[DUT: %s]: Running" " kernel cmd [%s]",
+ c_router,
+ cmd,
+ )
+ rnode.run(cmd)
- if vni:
- config_data.append("vrf {}".format(vrf["name"]))
- cmd = "vni {}".format(vni)
- config_data.append(cmd)
+ if vni:
+ config_data.append("vrf {}".format(vrf["name"]))
+ cmd = "vni {}".format(vni)
+ config_data.append(cmd)
- if del_vni:
- config_data.append("vrf {}".format(vrf["name"]))
- cmd = "no vni {}".format(del_vni)
- config_data.append(cmd)
+ if del_vni:
+ config_data.append("vrf {}".format(vrf["name"]))
+ cmd = "no vni {}".format(del_vni)
+ config_data.append(cmd)
if config_data:
config_data_dict[c_router] = config_data
@@ -2536,6 +2536,7 @@ def create_route_maps(tgen, input_dict, build=False):
ipv6_data = set_data.setdefault("ipv6", {})
local_preference = set_data.setdefault("locPrf", None)
metric = set_data.setdefault("metric", None)
+ metric_type = set_data.setdefault("metric-type", None)
as_path = set_data.setdefault("path", {})
weight = set_data.setdefault("weight", None)
community = set_data.setdefault("community", {})
@@ -2559,7 +2560,11 @@ def create_route_maps(tgen, input_dict, build=False):
# Metric
if metric:
- rmap_data.append("set metric {} \n".format(metric))
+ del_comm = set_data.setdefault("delete", None)
+ if del_comm:
+ rmap_data.append("no set metric {}".format(metric))
+ else:
+ rmap_data.append("set metric {}".format(metric))
# Origin
if origin: