| 12345678910111213141516171819202122232425262728293031 |
- # SPDX-License-Identifier: GPL-2.0
- from .utils import ip
- import random
- import string
- class NetNS:
- def __init__(self, name=None):
- if name:
- self.name = name
- else:
- self.name = ''.join(random.choice(string.ascii_lowercase) for _ in range(8))
- ip('netns add ' + self.name)
- def __del__(self):
- if self.name:
- ip('netns del ' + self.name)
- self.name = None
- def __enter__(self):
- return self
- def __exit__(self, ex_type, ex_value, ex_tb):
- self.__del__()
- def __str__(self):
- return self.name
- def __repr__(self):
- return f"NetNS({self.name})"
|