Skip to content

Commit 6374a56

Browse files
idoschdavem330
authored andcommitted
selftests: rtnetlink: Test bridge enslavement with different parent IDs
Test that an upper device of netdevs with different parent IDs can be enslaved to a bridge. The test fails without previous commit. Signed-off-by: Ido Schimmel <[email protected]> Reviewed-by: Jiri Pirko <[email protected]> Reviewed-by: Nikolay Aleksandrov <[email protected]> Signed-off-by: David S. Miller <[email protected]>
1 parent e1b9efe commit 6374a56

File tree

1 file changed

+47
-0
lines changed

1 file changed

+47
-0
lines changed

Diff for: tools/testing/selftests/net/rtnetlink.sh

+47
Original file line numberDiff line numberDiff line change
@@ -1175,6 +1175,51 @@ kci_test_neigh_get()
11751175
echo "PASS: neigh get"
11761176
}
11771177

1178+
kci_test_bridge_parent_id()
1179+
{
1180+
local ret=0
1181+
sysfsnet=/sys/bus/netdevsim/devices/netdevsim
1182+
probed=false
1183+
1184+
if [ ! -w /sys/bus/netdevsim/new_device ] ; then
1185+
modprobe -q netdevsim
1186+
check_err $?
1187+
if [ $ret -ne 0 ]; then
1188+
echo "SKIP: bridge_parent_id can't load netdevsim"
1189+
return $ksft_skip
1190+
fi
1191+
probed=true
1192+
fi
1193+
1194+
echo "10 1" > /sys/bus/netdevsim/new_device
1195+
while [ ! -d ${sysfsnet}10 ] ; do :; done
1196+
echo "20 1" > /sys/bus/netdevsim/new_device
1197+
while [ ! -d ${sysfsnet}20 ] ; do :; done
1198+
udevadm settle
1199+
dev10=`ls ${sysfsnet}10/net/`
1200+
dev20=`ls ${sysfsnet}20/net/`
1201+
1202+
ip link add name test-bond0 type bond mode 802.3ad
1203+
ip link set dev $dev10 master test-bond0
1204+
ip link set dev $dev20 master test-bond0
1205+
ip link add name test-br0 type bridge
1206+
ip link set dev test-bond0 master test-br0
1207+
check_err $?
1208+
1209+
# clean up any leftovers
1210+
ip link del dev test-br0
1211+
ip link del dev test-bond0
1212+
echo 20 > /sys/bus/netdevsim/del_device
1213+
echo 10 > /sys/bus/netdevsim/del_device
1214+
$probed && rmmod netdevsim
1215+
1216+
if [ $ret -ne 0 ]; then
1217+
echo "FAIL: bridge_parent_id"
1218+
return 1
1219+
fi
1220+
echo "PASS: bridge_parent_id"
1221+
}
1222+
11781223
kci_test_rtnl()
11791224
{
11801225
local ret=0
@@ -1224,6 +1269,8 @@ kci_test_rtnl()
12241269
check_err $?
12251270
kci_test_neigh_get
12261271
check_err $?
1272+
kci_test_bridge_parent_id
1273+
check_err $?
12271274

12281275
kci_del_dummy
12291276
return $ret

0 commit comments

Comments
 (0)