for p in sim.processes: p.communicate(b"\n")
except:
if "sim" in locals():
- for p in sim.processes: p.kill(); p.wait()
+ for p in sim.processes: p.kill(); p.wait(); p.release()
finally:
if "br-fabric" in ipdb.interfaces: ipdb.interfaces["br-fabric"].remove().commit()
if "sim" in locals(): sim.release()
+import os
import subprocess
import pyroute2
from pyroute2 import IPRoute, NetNS, IPDB, NSPopen
# move half of veth into namespace
v.net_ns_fd = ns_ipdb.nl.netns
else:
+ # delete the potentially leaf-over veth interfaces
+ subprocess.call(["ip", "link", "del", "%sa" % ifc_base_name],
+ stderr=open(os.devnull, 'w'))
try:
out_ifc = self.ipdb.create(ifname="%sa" % ifc_base_name, kind="veth",
peer="%sb" % ifc_base_name).commit()