mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-08-15 22:30:43 +00:00
Merge pull request #4964 from ashish12pant/ecmp_tests
tests: Fix bgp-ecmp-topo2
This commit is contained in:
commit
7310aae9ae
@ -564,6 +564,16 @@
|
|||||||
"ipv6": "auto"
|
"ipv6": "auto"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"route_maps": {
|
||||||
|
"rmap_global": [{
|
||||||
|
"action": "permit",
|
||||||
|
"set": {
|
||||||
|
"ipv6": {
|
||||||
|
"nexthop": "prefer-global"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}]
|
||||||
|
},
|
||||||
"bgp": {
|
"bgp": {
|
||||||
"local_as": "300",
|
"local_as": "300",
|
||||||
"address_family": {
|
"address_family": {
|
||||||
@ -620,38 +630,198 @@
|
|||||||
"neighbor": {
|
"neighbor": {
|
||||||
"r2": {
|
"r2": {
|
||||||
"dest_link": {
|
"dest_link": {
|
||||||
"r3-link1": {},
|
"r3-link1": {
|
||||||
"r3-link2": {},
|
"route_maps": [{
|
||||||
"r3-link3": {},
|
"name": "rmap_global",
|
||||||
"r3-link4": {},
|
"direction": "in"
|
||||||
"r3-link5": {},
|
}]
|
||||||
"r3-link6": {},
|
},
|
||||||
"r3-link7": {},
|
"r3-link2": {
|
||||||
"r3-link8": {},
|
"route_maps": [{
|
||||||
"r3-link9": {},
|
"name": "rmap_global",
|
||||||
"r3-link10": {},
|
"direction": "in"
|
||||||
"r3-link11": {},
|
}]
|
||||||
"r3-link12": {},
|
},
|
||||||
"r3-link13": {},
|
"r3-link3": {
|
||||||
"r3-link14": {},
|
"route_maps": [{
|
||||||
"r3-link15": {},
|
"name": "rmap_global",
|
||||||
"r3-link16": {},
|
"direction": "in"
|
||||||
"r3-link17": {},
|
}]
|
||||||
"r3-link18": {},
|
},
|
||||||
"r3-link19": {},
|
"r3-link4": {
|
||||||
"r3-link20": {},
|
"route_maps": [{
|
||||||
"r3-link21": {},
|
"name": "rmap_global",
|
||||||
"r3-link22": {},
|
"direction": "in"
|
||||||
"r3-link23": {},
|
}]
|
||||||
"r3-link24": {},
|
},
|
||||||
"r3-link25": {},
|
"r3-link5": {
|
||||||
"r3-link26": {},
|
"route_maps": [{
|
||||||
"r3-link27": {},
|
"name": "rmap_global",
|
||||||
"r3-link28": {},
|
"direction": "in"
|
||||||
"r3-link29": {},
|
}]
|
||||||
"r3-link30": {},
|
},
|
||||||
"r3-link31": {},
|
"r3-link6": {
|
||||||
"r3-link32": {}
|
"route_maps": [{
|
||||||
|
"name": "rmap_global",
|
||||||
|
"direction": "in"
|
||||||
|
}]
|
||||||
|
},
|
||||||
|
"r3-link7": {
|
||||||
|
"route_maps": [{
|
||||||
|
"name": "rmap_global",
|
||||||
|
"direction": "in"
|
||||||
|
}]
|
||||||
|
},
|
||||||
|
"r3-link8": {
|
||||||
|
"route_maps": [{
|
||||||
|
"name": "rmap_global",
|
||||||
|
"direction": "in"
|
||||||
|
}]
|
||||||
|
},
|
||||||
|
"r3-link9": {
|
||||||
|
"route_maps": [{
|
||||||
|
"name": "rmap_global",
|
||||||
|
"direction": "in"
|
||||||
|
}]
|
||||||
|
},
|
||||||
|
"r3-link10": {
|
||||||
|
"route_maps": [{
|
||||||
|
"name": "rmap_global",
|
||||||
|
"direction": "in"
|
||||||
|
}]
|
||||||
|
},
|
||||||
|
"r3-link11": {
|
||||||
|
"route_maps": [{
|
||||||
|
"name": "rmap_global",
|
||||||
|
"direction": "in"
|
||||||
|
}]
|
||||||
|
},
|
||||||
|
"r3-link12": {
|
||||||
|
"route_maps": [{
|
||||||
|
"name": "rmap_global",
|
||||||
|
"direction": "in"
|
||||||
|
}]
|
||||||
|
},
|
||||||
|
"r3-link13": {
|
||||||
|
"route_maps": [{
|
||||||
|
"name": "rmap_global",
|
||||||
|
"direction": "in"
|
||||||
|
}]
|
||||||
|
},
|
||||||
|
"r3-link14": {
|
||||||
|
"route_maps": [{
|
||||||
|
"name": "rmap_global",
|
||||||
|
"direction": "in"
|
||||||
|
}]
|
||||||
|
},
|
||||||
|
"r3-link15": {
|
||||||
|
"route_maps": [{
|
||||||
|
"name": "rmap_global",
|
||||||
|
"direction": "in"
|
||||||
|
}]
|
||||||
|
},
|
||||||
|
"r3-link16": {
|
||||||
|
"route_maps": [{
|
||||||
|
"name": "rmap_global",
|
||||||
|
"direction": "in"
|
||||||
|
}]
|
||||||
|
},
|
||||||
|
"r3-link17": {
|
||||||
|
"route_maps": [{
|
||||||
|
"name": "rmap_global",
|
||||||
|
"direction": "in"
|
||||||
|
}]
|
||||||
|
},
|
||||||
|
"r3-link18": {
|
||||||
|
"route_maps": [{
|
||||||
|
"name": "rmap_global",
|
||||||
|
"direction": "in"
|
||||||
|
}]
|
||||||
|
},
|
||||||
|
"r3-link19": {
|
||||||
|
"route_maps": [{
|
||||||
|
"name": "rmap_global",
|
||||||
|
"direction": "in"
|
||||||
|
}]
|
||||||
|
},
|
||||||
|
"r3-link20": {
|
||||||
|
"route_maps": [{
|
||||||
|
"name": "rmap_global",
|
||||||
|
"direction": "in"
|
||||||
|
}]
|
||||||
|
},
|
||||||
|
"r3-link21": {
|
||||||
|
"route_maps": [{
|
||||||
|
"name": "rmap_global",
|
||||||
|
"direction": "in"
|
||||||
|
}]
|
||||||
|
},
|
||||||
|
"r3-link22": {
|
||||||
|
"route_maps": [{
|
||||||
|
"name": "rmap_global",
|
||||||
|
"direction": "in"
|
||||||
|
}]
|
||||||
|
},
|
||||||
|
"r3-link23": {
|
||||||
|
"route_maps": [{
|
||||||
|
"name": "rmap_global",
|
||||||
|
"direction": "in"
|
||||||
|
}]
|
||||||
|
},
|
||||||
|
"r3-link24": {
|
||||||
|
"route_maps": [{
|
||||||
|
"name": "rmap_global",
|
||||||
|
"direction": "in"
|
||||||
|
}]
|
||||||
|
},
|
||||||
|
"r3-link25": {
|
||||||
|
"route_maps": [{
|
||||||
|
"name": "rmap_global",
|
||||||
|
"direction": "in"
|
||||||
|
}]
|
||||||
|
},
|
||||||
|
"r3-link26": {
|
||||||
|
"route_maps": [{
|
||||||
|
"name": "rmap_global",
|
||||||
|
"direction": "in"
|
||||||
|
}]
|
||||||
|
},
|
||||||
|
"r3-link27": {
|
||||||
|
"route_maps": [{
|
||||||
|
"name": "rmap_global",
|
||||||
|
"direction": "in"
|
||||||
|
}]
|
||||||
|
},
|
||||||
|
"r3-link28": {
|
||||||
|
"route_maps": [{
|
||||||
|
"name": "rmap_global",
|
||||||
|
"direction": "in"
|
||||||
|
}]
|
||||||
|
},
|
||||||
|
"r3-link29": {
|
||||||
|
"route_maps": [{
|
||||||
|
"name": "rmap_global",
|
||||||
|
"direction": "in"
|
||||||
|
}]
|
||||||
|
},
|
||||||
|
"r3-link30": {
|
||||||
|
"route_maps": [{
|
||||||
|
"name": "rmap_global",
|
||||||
|
"direction": "in"
|
||||||
|
}]
|
||||||
|
},
|
||||||
|
"r3-link31": {
|
||||||
|
"route_maps": [{
|
||||||
|
"name": "rmap_global",
|
||||||
|
"direction": "in"
|
||||||
|
}]
|
||||||
|
},
|
||||||
|
"r3-link32": {
|
||||||
|
"route_maps": [{
|
||||||
|
"name": "rmap_global",
|
||||||
|
"direction": "in"
|
||||||
|
}]
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -574,6 +574,16 @@
|
|||||||
"ipv6": "auto"
|
"ipv6": "auto"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"route_maps": {
|
||||||
|
"rmap_global": [{
|
||||||
|
"action": "permit",
|
||||||
|
"set": {
|
||||||
|
"ipv6": {
|
||||||
|
"nexthop": "prefer-global"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}]
|
||||||
|
},
|
||||||
"bgp": {
|
"bgp": {
|
||||||
"local_as": "100",
|
"local_as": "100",
|
||||||
"address_family": {
|
"address_family": {
|
||||||
@ -630,38 +640,198 @@
|
|||||||
"neighbor": {
|
"neighbor": {
|
||||||
"r2": {
|
"r2": {
|
||||||
"dest_link": {
|
"dest_link": {
|
||||||
"r3-link1": {},
|
"r3-link1": {
|
||||||
"r3-link2": {},
|
"route_maps": [{
|
||||||
"r3-link3": {},
|
"name": "rmap_global",
|
||||||
"r3-link4": {},
|
"direction": "in"
|
||||||
"r3-link5": {},
|
}]
|
||||||
"r3-link6": {},
|
},
|
||||||
"r3-link7": {},
|
"r3-link2": {
|
||||||
"r3-link8": {},
|
"route_maps": [{
|
||||||
"r3-link9": {},
|
"name": "rmap_global",
|
||||||
"r3-link10": {},
|
"direction": "in"
|
||||||
"r3-link11": {},
|
}]
|
||||||
"r3-link12": {},
|
},
|
||||||
"r3-link13": {},
|
"r3-link3": {
|
||||||
"r3-link14": {},
|
"route_maps": [{
|
||||||
"r3-link15": {},
|
"name": "rmap_global",
|
||||||
"r3-link16": {},
|
"direction": "in"
|
||||||
"r3-link17": {},
|
}]
|
||||||
"r3-link18": {},
|
},
|
||||||
"r3-link19": {},
|
"r3-link4": {
|
||||||
"r3-link20": {},
|
"route_maps": [{
|
||||||
"r3-link21": {},
|
"name": "rmap_global",
|
||||||
"r3-link22": {},
|
"direction": "in"
|
||||||
"r3-link23": {},
|
}]
|
||||||
"r3-link24": {},
|
},
|
||||||
"r3-link25": {},
|
"r3-link5": {
|
||||||
"r3-link26": {},
|
"route_maps": [{
|
||||||
"r3-link27": {},
|
"name": "rmap_global",
|
||||||
"r3-link28": {},
|
"direction": "in"
|
||||||
"r3-link29": {},
|
}]
|
||||||
"r3-link30": {},
|
},
|
||||||
"r3-link31": {},
|
"r3-link6": {
|
||||||
"r3-link32": {}
|
"route_maps": [{
|
||||||
|
"name": "rmap_global",
|
||||||
|
"direction": "in"
|
||||||
|
}]
|
||||||
|
},
|
||||||
|
"r3-link7": {
|
||||||
|
"route_maps": [{
|
||||||
|
"name": "rmap_global",
|
||||||
|
"direction": "in"
|
||||||
|
}]
|
||||||
|
},
|
||||||
|
"r3-link8": {
|
||||||
|
"route_maps": [{
|
||||||
|
"name": "rmap_global",
|
||||||
|
"direction": "in"
|
||||||
|
}]
|
||||||
|
},
|
||||||
|
"r3-link9": {
|
||||||
|
"route_maps": [{
|
||||||
|
"name": "rmap_global",
|
||||||
|
"direction": "in"
|
||||||
|
}]
|
||||||
|
},
|
||||||
|
"r3-link10": {
|
||||||
|
"route_maps": [{
|
||||||
|
"name": "rmap_global",
|
||||||
|
"direction": "in"
|
||||||
|
}]
|
||||||
|
},
|
||||||
|
"r3-link11": {
|
||||||
|
"route_maps": [{
|
||||||
|
"name": "rmap_global",
|
||||||
|
"direction": "in"
|
||||||
|
}]
|
||||||
|
},
|
||||||
|
"r3-link12": {
|
||||||
|
"route_maps": [{
|
||||||
|
"name": "rmap_global",
|
||||||
|
"direction": "in"
|
||||||
|
}]
|
||||||
|
},
|
||||||
|
"r3-link13": {
|
||||||
|
"route_maps": [{
|
||||||
|
"name": "rmap_global",
|
||||||
|
"direction": "in"
|
||||||
|
}]
|
||||||
|
},
|
||||||
|
"r3-link14": {
|
||||||
|
"route_maps": [{
|
||||||
|
"name": "rmap_global",
|
||||||
|
"direction": "in"
|
||||||
|
}]
|
||||||
|
},
|
||||||
|
"r3-link15": {
|
||||||
|
"route_maps": [{
|
||||||
|
"name": "rmap_global",
|
||||||
|
"direction": "in"
|
||||||
|
}]
|
||||||
|
},
|
||||||
|
"r3-link16": {
|
||||||
|
"route_maps": [{
|
||||||
|
"name": "rmap_global",
|
||||||
|
"direction": "in"
|
||||||
|
}]
|
||||||
|
},
|
||||||
|
"r3-link17": {
|
||||||
|
"route_maps": [{
|
||||||
|
"name": "rmap_global",
|
||||||
|
"direction": "in"
|
||||||
|
}]
|
||||||
|
},
|
||||||
|
"r3-link18": {
|
||||||
|
"route_maps": [{
|
||||||
|
"name": "rmap_global",
|
||||||
|
"direction": "in"
|
||||||
|
}]
|
||||||
|
},
|
||||||
|
"r3-link19": {
|
||||||
|
"route_maps": [{
|
||||||
|
"name": "rmap_global",
|
||||||
|
"direction": "in"
|
||||||
|
}]
|
||||||
|
},
|
||||||
|
"r3-link20": {
|
||||||
|
"route_maps": [{
|
||||||
|
"name": "rmap_global",
|
||||||
|
"direction": "in"
|
||||||
|
}]
|
||||||
|
},
|
||||||
|
"r3-link21": {
|
||||||
|
"route_maps": [{
|
||||||
|
"name": "rmap_global",
|
||||||
|
"direction": "in"
|
||||||
|
}]
|
||||||
|
},
|
||||||
|
"r3-link22": {
|
||||||
|
"route_maps": [{
|
||||||
|
"name": "rmap_global",
|
||||||
|
"direction": "in"
|
||||||
|
}]
|
||||||
|
},
|
||||||
|
"r3-link23": {
|
||||||
|
"route_maps": [{
|
||||||
|
"name": "rmap_global",
|
||||||
|
"direction": "in"
|
||||||
|
}]
|
||||||
|
},
|
||||||
|
"r3-link24": {
|
||||||
|
"route_maps": [{
|
||||||
|
"name": "rmap_global",
|
||||||
|
"direction": "in"
|
||||||
|
}]
|
||||||
|
},
|
||||||
|
"r3-link25": {
|
||||||
|
"route_maps": [{
|
||||||
|
"name": "rmap_global",
|
||||||
|
"direction": "in"
|
||||||
|
}]
|
||||||
|
},
|
||||||
|
"r3-link26": {
|
||||||
|
"route_maps": [{
|
||||||
|
"name": "rmap_global",
|
||||||
|
"direction": "in"
|
||||||
|
}]
|
||||||
|
},
|
||||||
|
"r3-link27": {
|
||||||
|
"route_maps": [{
|
||||||
|
"name": "rmap_global",
|
||||||
|
"direction": "in"
|
||||||
|
}]
|
||||||
|
},
|
||||||
|
"r3-link28": {
|
||||||
|
"route_maps": [{
|
||||||
|
"name": "rmap_global",
|
||||||
|
"direction": "in"
|
||||||
|
}]
|
||||||
|
},
|
||||||
|
"r3-link29": {
|
||||||
|
"route_maps": [{
|
||||||
|
"name": "rmap_global",
|
||||||
|
"direction": "in"
|
||||||
|
}]
|
||||||
|
},
|
||||||
|
"r3-link30": {
|
||||||
|
"route_maps": [{
|
||||||
|
"name": "rmap_global",
|
||||||
|
"direction": "in"
|
||||||
|
}]
|
||||||
|
},
|
||||||
|
"r3-link31": {
|
||||||
|
"route_maps": [{
|
||||||
|
"name": "rmap_global",
|
||||||
|
"direction": "in"
|
||||||
|
}]
|
||||||
|
},
|
||||||
|
"r3-link32": {
|
||||||
|
"route_maps": [{
|
||||||
|
"name": "rmap_global",
|
||||||
|
"direction": "in"
|
||||||
|
}]
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -445,10 +445,10 @@ def __create_bgp_unicast_address_family(topo, input_dict, router, addr_type,
|
|||||||
bgp_data = input_dict[router]["bgp"]["address_family"]
|
bgp_data = input_dict[router]["bgp"]["address_family"]
|
||||||
neigh_data = bgp_data[addr_type]["unicast"]["neighbor"]
|
neigh_data = bgp_data[addr_type]["unicast"]["neighbor"]
|
||||||
|
|
||||||
for name, peer_dict in deepcopy(neigh_data).iteritems():
|
for peer_name, peer_dict in deepcopy(neigh_data).iteritems():
|
||||||
for dest_link, peer in peer_dict["dest_link"].iteritems():
|
for dest_link, peer in peer_dict["dest_link"].iteritems():
|
||||||
deactivate = None
|
deactivate = None
|
||||||
nh_details = topo[name]
|
nh_details = topo[peer_name]
|
||||||
# Loopback interface
|
# Loopback interface
|
||||||
if "source_link" in peer and peer["source_link"] == "lo":
|
if "source_link" in peer and peer["source_link"] == "lo":
|
||||||
for destRouterLink, data in sorted(nh_details["links"].
|
for destRouterLink, data in sorted(nh_details["links"].
|
||||||
|
@ -35,11 +35,7 @@ import ConfigParser
|
|||||||
import traceback
|
import traceback
|
||||||
import socket
|
import socket
|
||||||
import ipaddr
|
import ipaddr
|
||||||
import re
|
|
||||||
|
|
||||||
from lib import topotest
|
|
||||||
|
|
||||||
from functools import partial
|
|
||||||
from lib.topolog import logger, logger_config
|
from lib.topolog import logger, logger_config
|
||||||
from lib.topogen import TopoRouter
|
from lib.topogen import TopoRouter
|
||||||
from lib.topotest import interface_set_status
|
from lib.topotest import interface_set_status
|
||||||
@ -736,62 +732,6 @@ def retry(attempts=3, wait=2, return_is_str=True, initial_wait=0):
|
|||||||
return _retry
|
return _retry
|
||||||
|
|
||||||
|
|
||||||
def disable_v6_link_local(tgen, router, intf_name=None):
|
|
||||||
"""
|
|
||||||
Disables ipv6 link local addresses for a particular interface or
|
|
||||||
all interfaces
|
|
||||||
|
|
||||||
* `tgen`: tgen onject
|
|
||||||
* `router` : router for which hightest interface should be
|
|
||||||
calculated
|
|
||||||
* `intf_name` : Interface name for which v6 link local needs to
|
|
||||||
be disabled
|
|
||||||
"""
|
|
||||||
|
|
||||||
router_list = tgen.routers()
|
|
||||||
for rname, rnode in router_list.iteritems():
|
|
||||||
if rname != router:
|
|
||||||
continue
|
|
||||||
|
|
||||||
linklocal = []
|
|
||||||
|
|
||||||
ifaces = router_list[router].run('ip -6 address')
|
|
||||||
|
|
||||||
# Fix newlines (make them all the same)
|
|
||||||
ifaces = ('\n'.join(ifaces.splitlines()) + '\n').splitlines()
|
|
||||||
|
|
||||||
interface = None
|
|
||||||
ll_per_if_count = 0
|
|
||||||
for line in ifaces:
|
|
||||||
# Interface name
|
|
||||||
m = re.search('[0-9]+: ([^:]+)[@if0-9:]+ <', line)
|
|
||||||
if m:
|
|
||||||
interface = m.group(1).split("@")[0]
|
|
||||||
ll_per_if_count = 0
|
|
||||||
|
|
||||||
# Interface ip
|
|
||||||
m = re.search('inet6 (fe80::[0-9a-f]+:[0-9a-f]+:[0-9a-f]+'
|
|
||||||
':[0-9a-f]+[/0-9]*) scope link', line)
|
|
||||||
if m:
|
|
||||||
local = m.group(1)
|
|
||||||
ll_per_if_count += 1
|
|
||||||
if ll_per_if_count > 1:
|
|
||||||
linklocal += [["%s-%s" % (interface, ll_per_if_count), local]]
|
|
||||||
else:
|
|
||||||
linklocal += [[interface, local]]
|
|
||||||
|
|
||||||
if len(linklocal[0]) > 1:
|
|
||||||
link_local_dict = {item[0]: item[1] for item in linklocal}
|
|
||||||
|
|
||||||
for lname, laddr in link_local_dict.items():
|
|
||||||
|
|
||||||
if intf_name is not None and lname != intf_name:
|
|
||||||
continue
|
|
||||||
|
|
||||||
cmd = "ip addr del {} dev {}".format(laddr, lname)
|
|
||||||
router_list[router].run(cmd)
|
|
||||||
|
|
||||||
|
|
||||||
#############################################
|
#############################################
|
||||||
# These APIs, will used by testcase
|
# These APIs, will used by testcase
|
||||||
#############################################
|
#############################################
|
||||||
@ -821,8 +761,6 @@ def create_interfaces_cfg(tgen, topo, build=False):
|
|||||||
interface_name = destRouterLink
|
interface_name = destRouterLink
|
||||||
else:
|
else:
|
||||||
interface_name = data["interface"]
|
interface_name = data["interface"]
|
||||||
if "ipv6" in data:
|
|
||||||
disable_v6_link_local(tgen, c_router, interface_name)
|
|
||||||
interface_data.append("interface {}".format(
|
interface_data.append("interface {}".format(
|
||||||
str(interface_name)
|
str(interface_name)
|
||||||
))
|
))
|
||||||
@ -1302,13 +1240,15 @@ def create_route_maps(tgen, input_dict, build=False):
|
|||||||
|
|
||||||
# Weight
|
# Weight
|
||||||
if weight:
|
if weight:
|
||||||
rmap_data.append("set weight {} \n".format(
|
rmap_data.append("set weight {}".format(
|
||||||
weight))
|
weight))
|
||||||
if ipv6_data:
|
if ipv6_data:
|
||||||
nexthop = ipv6_data.setdefault("nexthop",None)
|
nexthop = ipv6_data.setdefault("nexthop", None)
|
||||||
if nexthop:
|
if nexthop:
|
||||||
rmap_data.append("set ipv6 next-hop \
|
rmap_data.append("set ipv6 next-hop {}".format(
|
||||||
{}".format(nexthop))
|
nexthop
|
||||||
|
))
|
||||||
|
|
||||||
# Adding MATCH and SET sequence to RMAP if defined
|
# Adding MATCH and SET sequence to RMAP if defined
|
||||||
if "match" in rmap_dict:
|
if "match" in rmap_dict:
|
||||||
match_data = rmap_dict["match"]
|
match_data = rmap_dict["match"]
|
||||||
@ -1569,19 +1509,13 @@ def shutdown_bringup_interface(tgen, dut, intf_name, ifaceaction=False):
|
|||||||
errormsg(str) or True
|
errormsg(str) or True
|
||||||
"""
|
"""
|
||||||
|
|
||||||
from topotest import interface_set_status
|
|
||||||
router_list = tgen.routers()
|
router_list = tgen.routers()
|
||||||
if ifaceaction:
|
if ifaceaction:
|
||||||
logger.info("Bringing up interface : {}".format(intf_name))
|
logger.info("Bringing up interface : {}".format(intf_name))
|
||||||
else:
|
else:
|
||||||
logger.info("Shutting down interface : {}".format(intf_name))
|
logger.info("Shutting down interface : {}".format(intf_name))
|
||||||
|
|
||||||
interface_set_status(router_list[dut], intf_name,
|
interface_set_status(router_list[dut], intf_name, ifaceaction)
|
||||||
ifaceaction)
|
|
||||||
|
|
||||||
if ifaceaction:
|
|
||||||
# Disabling v6 link local once interfac comes up back
|
|
||||||
disable_v6_link_local(tgen, dut, intf_name=intf_name)
|
|
||||||
|
|
||||||
|
|
||||||
#############################################
|
#############################################
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
# Skip pytests example directory
|
# Skip pytests example directory
|
||||||
[pytest]
|
[pytest]
|
||||||
norecursedirs = .git example-test example-topojson-test lib docker bgp-ecmp-topo2 bgp_rr_ibgp
|
norecursedirs = .git example-test example-topojson-test lib docker bgp_rr_ibgp
|
||||||
|
|
||||||
[topogen]
|
[topogen]
|
||||||
# Default configuration values
|
# Default configuration values
|
||||||
|
Loading…
Reference in New Issue
Block a user