selftests: tc-testing: use netns delete from pyroute2

When pyroute2 is available, use the native netns delete routine instead
of calling iproute2 to do it. As forks are expensive with some kernel
configs, minimize its usage to avoid kselftests timeouts.

Signed-off-by: Pedro Tammela <pctammela@mojatatu.com>
Reviewed-by: Simon Horman <horms@kernel.org>
Acked-by: Jamal Hadi Salim <jhs@mojatatu.com>
Link: https://lore.kernel.org/r/20231117171208.2066136-4-pctammela@mojatatu.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
Pedro Tammela 2023-11-17 14:12:05 -03:00 committed by Jakub Kicinski
parent 50a5988a7a
commit 3d5026fc5a

View file

@ -64,7 +64,10 @@ class SubPlugin(TdcPlugin):
if self.args.verbose:
print('{}.post_case'.format(self.sub_class))
self._ns_destroy()
if netlink == True:
self._nl_ns_destroy()
else:
self._ns_destroy()
def post_suite(self, index):
if self.args.verbose:
@ -174,6 +177,10 @@ class SubPlugin(TdcPlugin):
'''
self._exec_cmd_batched('pre', self._ns_create_cmds())
def _nl_ns_destroy(self):
ns = self.args.NAMES['NS']
netns.remove(ns)
def _ns_destroy_cmd(self):
return self._replace_keywords('netns delete {}'.format(self.args.NAMES['NS']))