File tree Expand file tree Collapse file tree 2 files changed +34
-4
lines changed
tools/testing/selftests/net Expand file tree Collapse file tree 2 files changed +34
-4
lines changed Original file line number Diff line number Diff line change @@ -222,6 +222,31 @@ setup_ns()
222
222
NS_LIST+=(" ${ns_list[@]} " )
223
223
}
224
224
225
+ # Create netdevsim with given id and net namespace.
226
+ create_netdevsim () {
227
+ local id=" $1 "
228
+ local ns=" $2 "
229
+
230
+ modprobe netdevsim & > /dev/null
231
+ udevadm settle
232
+
233
+ echo " $id 1" | ip netns exec $ns tee /sys/bus/netdevsim/new_device > /dev/null
234
+ local dev=$( ip netns exec $ns ls /sys/bus/netdevsim/devices/netdevsim$id /net)
235
+ ip -netns $ns link set dev $dev name nsim$id
236
+ ip -netns $ns link set dev nsim$id up
237
+
238
+ echo nsim$id
239
+ }
240
+
241
+ # Remove netdevsim with given id.
242
+ cleanup_netdevsim () {
243
+ local id=" $1 "
244
+
245
+ if [ -d " /sys/bus/netdevsim/devices/netdevsim$id /net" ]; then
246
+ echo " $id " > /sys/bus/netdevsim/del_device
247
+ fi
248
+ }
249
+
225
250
tc_rule_stats_get ()
226
251
{
227
252
local dev=$1 ; shift
Original file line number Diff line number Diff line change @@ -7,10 +7,12 @@ set -o pipefail
7
7
DEV=dummy-dev0
8
8
DEV2=dummy-dev1
9
9
ALT_NAME=some-alt-name
10
+ NSIM_ADDR=2025
10
11
11
12
RET_CODE=0
12
13
13
14
cleanup () {
15
+ cleanup_netdevsim $NSIM_ADDR
14
16
cleanup_ns $NS $test_ns
15
17
}
16
18
@@ -25,12 +27,15 @@ setup_ns NS test_ns
25
27
26
28
#
27
29
# Test basic move without a rename
30
+ # Use netdevsim because it has extra asserts for notifiers.
28
31
#
29
- ip -netns $NS link add name $DEV type dummy || fail
30
- ip -netns $NS link set dev $DEV netns $test_ns ||
32
+
33
+ nsim=$( create_netdevsim $NSIM_ADDR $NS )
34
+ ip -netns $NS link set dev $nsim netns $test_ns ||
31
35
fail " Can't perform a netns move"
32
- ip -netns $test_ns link show dev $DEV >> /dev/null || fail " Device not found after move"
33
- ip -netns $test_ns link del $DEV || fail
36
+ ip -netns $test_ns link show dev $nsim >> /dev/null ||
37
+ fail " Device not found after move"
38
+ cleanup_netdevsim $NSIM_ADDR
34
39
35
40
#
36
41
# Test move with a conflict
You can’t perform that action at this time.
0 commit comments