hc
2024-05-13 9d77db3c730780c8ef5ccd4b66403ff5675cfe4e
kernel/tools/testing/selftests/tc-testing/plugin-lib/nsPlugin.py
....@@ -18,6 +18,8 @@
1818
1919 if self.args.namespace:
2020 self._ns_create()
21
+ else:
22
+ self._ports_create()
2123
2224 def post_suite(self, index):
2325 '''run commands after test_runner goes into a test loop'''
....@@ -27,6 +29,8 @@
2729
2830 if self.args.namespace:
2931 self._ns_destroy()
32
+ else:
33
+ self._ports_destroy()
3034
3135 def add_args(self, parser):
3236 super().add_args(parser)
....@@ -34,8 +38,8 @@
3438 'netns',
3539 'options for nsPlugin(run commands in net namespace)')
3640 self.argparser_group.add_argument(
37
- '-n', '--namespace', action='store_true',
38
- help='Run commands in namespace')
41
+ '-N', '--no-namespace', action='store_false', default=True,
42
+ dest='namespace', help='Don\'t run commands in namespace')
3943 return self.argparser
4044
4145 def adjust_command(self, stage, command):
....@@ -60,7 +64,7 @@
6064 cmdlist.insert(0, self.args.NAMES['NS'])
6165 cmdlist.insert(0, 'exec')
6266 cmdlist.insert(0, 'netns')
63
- cmdlist.insert(0, 'ip')
67
+ cmdlist.insert(0, self.args.NAMES['IP'])
6468 else:
6569 pass
6670
....@@ -73,26 +77,36 @@
7377 print('adjust_command: return command [{}]'.format(command))
7478 return command
7579
80
+ def _ports_create(self):
81
+ cmd = '$IP link add $DEV0 type veth peer name $DEV1'
82
+ self._exec_cmd('pre', cmd)
83
+ cmd = '$IP link set $DEV0 up'
84
+ self._exec_cmd('pre', cmd)
85
+ if not self.args.namespace:
86
+ cmd = '$IP link set $DEV1 up'
87
+ self._exec_cmd('pre', cmd)
88
+
89
+ def _ports_destroy(self):
90
+ cmd = '$IP link del $DEV0'
91
+ self._exec_cmd('post', cmd)
92
+
7693 def _ns_create(self):
7794 '''
7895 Create the network namespace in which the tests will be run and set up
7996 the required network devices for it.
8097 '''
98
+ self._ports_create()
8199 if self.args.namespace:
82
- cmd = 'ip netns add {}'.format(self.args.NAMES['NS'])
100
+ cmd = '$IP netns add {}'.format(self.args.NAMES['NS'])
83101 self._exec_cmd('pre', cmd)
84
- cmd = 'ip link add $DEV0 type veth peer name $DEV1'
102
+ cmd = '$IP link set $DEV1 netns {}'.format(self.args.NAMES['NS'])
85103 self._exec_cmd('pre', cmd)
86
- cmd = 'ip link set $DEV1 netns {}'.format(self.args.NAMES['NS'])
87
- self._exec_cmd('pre', cmd)
88
- cmd = 'ip link set $DEV0 up'
89
- self._exec_cmd('pre', cmd)
90
- cmd = 'ip -n {} link set $DEV1 up'.format(self.args.NAMES['NS'])
104
+ cmd = '$IP -n {} link set $DEV1 up'.format(self.args.NAMES['NS'])
91105 self._exec_cmd('pre', cmd)
92106 if self.args.device:
93
- cmd = 'ip link set $DEV2 netns {}'.format(self.args.NAMES['NS'])
107
+ cmd = '$IP link set $DEV2 netns {}'.format(self.args.NAMES['NS'])
94108 self._exec_cmd('pre', cmd)
95
- cmd = 'ip -n {} link set $DEV2 up'.format(self.args.NAMES['NS'])
109
+ cmd = '$IP -n {} link set $DEV2 up'.format(self.args.NAMES['NS'])
96110 self._exec_cmd('pre', cmd)
97111
98112 def _ns_destroy(self):
....@@ -101,7 +115,7 @@
101115 devices as well)
102116 '''
103117 if self.args.namespace:
104
- cmd = 'ip netns delete {}'.format(self.args.NAMES['NS'])
118
+ cmd = '$IP netns delete {}'.format(self.args.NAMES['NS'])
105119 self._exec_cmd('post', cmd)
106120
107121 def _exec_cmd(self, stage, command):