diff options
author | Trinity Pointard <trinity.pointard@gmail.com> | 2021-11-08 09:25:14 +0100 |
---|---|---|
committer | Trinity Pointard <trinity.pointard@gmail.com> | 2021-11-08 09:25:14 +0100 |
commit | 179d18fcecafc209d127604f78f18baa7f4926f1 (patch) | |
tree | 6bf4495f4b814219808c34d0da4200a0d45858c1 /net.py | |
parent | 610e5549033364a437a3e264716508ff2b6c43a0 (diff) | |
download | mknet-179d18fcecafc209d127604f78f18baa7f4926f1.tar.gz mknet-179d18fcecafc209d127604f78f18baa7f4926f1.zip |
add support for upstream port and add garage example script
Diffstat (limited to 'net.py')
-rw-r--r-- | net.py | 14 |
1 files changed, 11 insertions, 3 deletions
@@ -1,4 +1,5 @@ import subprocess +import os _netns = ["ip", "netns"] def run_netns(*cmd): @@ -8,9 +9,16 @@ def run_netns(*cmd): return process class ns: - def list(): - process = run_netns("list") - return [ns for ns in process.stdout.split("\n") if ns.startswith("testnet-")] + def name_unconfined(): + if "unconfined" not in ns.list(True): + run_netns("attach", "unconfined", str(os.getpid())) + + def list(include_unconfined = False): + try: + nss = os.listdir("/var/run/netns") + return [ns for ns in nss if ns.startswith("testnet-") or include_unconfined and ns == "unconfined"] + except FileNotFoundError: + return [] def forget(name): run_netns("del", name) |