summaryrefslogtreecommitdiffstats
path: root/tests/topotests
diff options
context:
space:
mode:
Diffstat (limited to 'tests/topotests')
-rw-r--r--tests/topotests/bfd_vrf_topo1/test_bfd_vrf_topo1.py6
-rw-r--r--tests/topotests/bgp_evpn_rt5/test_bgp_evpn.py6
-rw-r--r--tests/topotests/bgp_vrf_netns/test_bgp_vrf_netns_topo.py6
-rw-r--r--tests/topotests/lib/topogen.py6
-rw-r--r--tests/topotests/lib/topotest.py6
-rw-r--r--tests/topotests/ospf_netns_vrf/test_ospf_netns_vrf.py6
6 files changed, 20 insertions, 16 deletions
diff --git a/tests/topotests/bfd_vrf_topo1/test_bfd_vrf_topo1.py b/tests/topotests/bfd_vrf_topo1/test_bfd_vrf_topo1.py
index f6adff61d..f00af34e3 100644
--- a/tests/topotests/bfd_vrf_topo1/test_bfd_vrf_topo1.py
+++ b/tests/topotests/bfd_vrf_topo1/test_bfd_vrf_topo1.py
@@ -84,11 +84,9 @@ def setup_module(mod):
router.net.set_intf_netns(rname + "-eth2", ns, up=True)
for rname, router in router_list.items():
- router.load_config(TopoRouter.RD_MGMTD, None, "--vrfwnetns")
+ router.use_netns_vrf()
router.load_config(
- TopoRouter.RD_ZEBRA,
- os.path.join(CWD, "{}/zebra.conf".format(rname)),
- "--vrfwnetns",
+ TopoRouter.RD_ZEBRA, os.path.join(CWD, "{}/zebra.conf".format(rname))
)
router.load_config(
TopoRouter.RD_BFD, os.path.join(CWD, "{}/bfdd.conf".format(rname))
diff --git a/tests/topotests/bgp_evpn_rt5/test_bgp_evpn.py b/tests/topotests/bgp_evpn_rt5/test_bgp_evpn.py
index a9636a92f..c874cbed6 100644
--- a/tests/topotests/bgp_evpn_rt5/test_bgp_evpn.py
+++ b/tests/topotests/bgp_evpn_rt5/test_bgp_evpn.py
@@ -136,11 +136,9 @@ def setup_module(mod):
for rname, router in router_list.items():
if rname == "r1":
- router.load_config(TopoRouter.RD_MGMTD, None, "--vrfwnetns")
+ router.use_netns_vrf()
router.load_config(
- TopoRouter.RD_ZEBRA,
- os.path.join(CWD, "{}/zebra.conf".format(rname)),
- "--vrfwnetns",
+ TopoRouter.RD_ZEBRA, os.path.join(CWD, "{}/zebra.conf".format(rname))
)
else:
router.load_config(
diff --git a/tests/topotests/bgp_vrf_netns/test_bgp_vrf_netns_topo.py b/tests/topotests/bgp_vrf_netns/test_bgp_vrf_netns_topo.py
index 028bc3535..4aa440413 100644
--- a/tests/topotests/bgp_vrf_netns/test_bgp_vrf_netns_topo.py
+++ b/tests/topotests/bgp_vrf_netns/test_bgp_vrf_netns_topo.py
@@ -94,11 +94,9 @@ def setup_module(module):
router.net.set_intf_netns("r1-eth0", ns, up=True)
# run daemons
- router.load_config(TopoRouter.RD_MGMTD, None, "--vrfwnetns")
+ router.use_netns_vrf()
router.load_config(
- TopoRouter.RD_ZEBRA,
- os.path.join(CWD, "{}/zebra.conf".format("r1")),
- "--vrfwnetns",
+ TopoRouter.RD_ZEBRA, os.path.join(CWD, "{}/zebra.conf".format("r1"))
)
router.load_config(
TopoRouter.RD_BGP, os.path.join(CWD, "{}/bgpd.conf".format("r1"))
diff --git a/tests/topotests/lib/topogen.py b/tests/topotests/lib/topogen.py
index 0a9a84a4b..8b1bd6e1a 100644
--- a/tests/topotests/lib/topogen.py
+++ b/tests/topotests/lib/topogen.py
@@ -819,6 +819,12 @@ class TopoRouter(TopoGear):
gear += " TopoRouter<>"
return gear
+ def use_netns_vrf(self):
+ """
+ Use netns as VRF backend.
+ """
+ self.net.useNetnsVRF()
+
def check_capability(self, daemon, param):
"""
Checks a capability daemon against an argument option
diff --git a/tests/topotests/lib/topotest.py b/tests/topotests/lib/topotest.py
index ca6723aec..e2c70cdcc 100644
--- a/tests/topotests/lib/topotest.py
+++ b/tests/topotests/lib/topotest.py
@@ -1467,6 +1467,7 @@ class Router(Node):
self.daemons_options = {"zebra": ""}
self.reportCores = True
self.version = None
+ self.use_netns_vrf = False
self.ns_cmd = "sudo nsenter -a -t {} ".format(self.pid)
try:
@@ -1622,6 +1623,9 @@ class Router(Node):
# breakpoint()
# assert False, "can't remove IPs %s" % str(ex)
+ def useNetnsVRF(self):
+ self.use_netns_vrf = True
+
def checkCapability(self, daemon, param):
if param is not None:
daemon_path = os.path.join(self.daemondir, daemon)
@@ -1908,6 +1912,8 @@ class Router(Node):
def start_daemon(daemon, instance=None):
daemon_opts = self.daemons_options.get(daemon, "")
+ if self.use_netns_vrf:
+ daemon_opts += " -w"
# get pid and vty filenames and remove the files
m = re.match(r"(.* |^)-n (\d+)( ?.*|$)", daemon_opts)
diff --git a/tests/topotests/ospf_netns_vrf/test_ospf_netns_vrf.py b/tests/topotests/ospf_netns_vrf/test_ospf_netns_vrf.py
index 718445f01..c0a4689d4 100644
--- a/tests/topotests/ospf_netns_vrf/test_ospf_netns_vrf.py
+++ b/tests/topotests/ospf_netns_vrf/test_ospf_netns_vrf.py
@@ -87,11 +87,9 @@ def setup_module(mod):
router.net.set_intf_netns(rname + "-eth0", ns, up=True)
router.net.set_intf_netns(rname + "-eth1", ns, up=True)
- router.load_config(TopoRouter.RD_MGMTD, None, "--vrfwnetns")
+ router.use_netns_vrf()
router.load_config(
- TopoRouter.RD_ZEBRA,
- os.path.join(CWD, "{}/zebra.conf".format(rname)),
- "--vrfwnetns",
+ TopoRouter.RD_ZEBRA, os.path.join(CWD, "{}/zebra.conf".format(rname))
)
router.load_config(
TopoRouter.RD_OSPF, os.path.join(CWD, "{}/ospfd.conf".format(rname))