On Thu, 7 Nov 2024 21:30:03 +0800 Xiao Liang wrote:
+class NSEnter:
- def __init__(self, ns_name):
self.ns_path = f"/run/netns/{ns_name}"
- def __enter__(self):
self.saved = open("/proc/thread-self/ns/net")
with open(self.ns_path) as ns_file:
libc.setns(ns_file.fileno(), 0)
- def __exit__(self, exc_type, exc_value, traceback):
libc.setns(self.saved.fileno(), 0)
self.saved.close()
This is quite nice, why not move it to tools/testing/selftests/net/lib/py/netns.py so others can use it too