diff options
Diffstat (limited to 'tests/topotests/lib/common_config.py')
| -rw-r--r-- | tests/topotests/lib/common_config.py | 75 |
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: |
