Message ID | 20231117171208.2066136-4-pctammela@mojatatu.com (mailing list archive) |
---|---|
State | Accepted |
Commit | 3d5026fc5adbc796a0547fcef19d997786e0bb31 |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | selftests: tc-testing: more updates to tdc | expand |
On Fri, Nov 17, 2023 at 02:12:05PM -0300, Pedro Tammela wrote: > 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> I have a suggestion for a follow up below, but this change looks good to me. Reviewed-by: Simon Horman <horms@kernel.org> > --- > .../testing/selftests/tc-testing/plugin-lib/nsPlugin.py | 9 ++++++++- > 1 file changed, 8 insertions(+), 1 deletion(-) > > diff --git a/tools/testing/selftests/tc-testing/plugin-lib/nsPlugin.py b/tools/testing/selftests/tc-testing/plugin-lib/nsPlugin.py > index 2b8cbfdf1083..920dcbedc395 100644 > --- a/tools/testing/selftests/tc-testing/plugin-lib/nsPlugin.py > +++ b/tools/testing/selftests/tc-testing/plugin-lib/nsPlugin.py > @@ -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() As an aside, I think it would to rename _ns_* to _iproute2_ns_* or similar, to make the distinction with _nl_ns_* clearer. > > 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'])) > > -- > 2.40.1 >
diff --git a/tools/testing/selftests/tc-testing/plugin-lib/nsPlugin.py b/tools/testing/selftests/tc-testing/plugin-lib/nsPlugin.py index 2b8cbfdf1083..920dcbedc395 100644 --- a/tools/testing/selftests/tc-testing/plugin-lib/nsPlugin.py +++ b/tools/testing/selftests/tc-testing/plugin-lib/nsPlugin.py @@ -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']))
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> --- .../testing/selftests/tc-testing/plugin-lib/nsPlugin.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-)