import json,os,socket,sys state={"netns":os.readlink("/proc/self/ns/net"),"interfaces":socket.if_nameindex(),"routes":open("/proc/net/route").read(),"ipv6Routes":open("/proc/net/ipv6_route").read()} print("ERR ISOLATION "+json.dumps(state),flush=True) assert state["netns"] != sys.argv[1], "network namespace was not isolated" assert [name for _,name in state["interfaces"]] == ["lo"], "non-loopback interface present" assert len(state["routes"].splitlines()) == 1, "IPv4 route present" assert all(line.split()[-1] == "lo" for line in state["ipv6Routes"].splitlines()), "non-loopback IPv6 route present" if len(sys.argv)>2: os.execv(sys.argv[2],sys.argv[2:])