summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Haller <thaller@redhat.com>2021-06-10 22:38:51 +0200
committerThomas Haller <thaller@redhat.com>2021-06-22 09:47:44 +0200
commit26090bafc9fd2eceeccffb758937427ae5dd160b (patch)
tree5383b49088ce24dcef1e56835045b172dc8617f1
parent938f9b075fd4d78a74f7d566f579d1c6517501b6 (diff)
contrib: extend "test-create-many-device-setup.sh" script
-rwxr-xr-xcontrib/scripts/test-create-many-device-setup.sh33
1 files changed, 26 insertions, 7 deletions
diff --git a/contrib/scripts/test-create-many-device-setup.sh b/contrib/scripts/test-create-many-device-setup.sh
index 230833ff24..55f2a1c6bf 100755
--- a/contrib/scripts/test-create-many-device-setup.sh
+++ b/contrib/scripts/test-create-many-device-setup.sh
@@ -14,6 +14,7 @@ test -n "$ARG_OP" || die "specify the operation (setup, cleanup)"
test "$USER" = root || die "must run as root"
NUM_DEVS="${NUM_DEVS:-50}"
+NUM_VLAN_DEVS="${NUM_VLAN_DEVS:-0}"
DNSMASQ_PIDFILE="/tmp/nm-test-create-many-device-setup.dnsmasq.pid"
@@ -21,6 +22,11 @@ NM_TEST_CONF="/etc/NetworkManager/conf.d/99-my-test.conf"
TEST_NETNS="T"
+_do_service() {
+ test "$DO_SERVICE" = 1 || return 0
+ "$@"
+}
+
_dnsmasq_kill() {
pkill -F "$DNSMASQ_PIDFILE"
rm -rf "$DNSMASQ_PIDFILE"
@@ -39,16 +45,16 @@ cleanup_base() {
}
cmd_cleanup() {
- systemctl stop NetworkManager
+ _do_service systemctl stop NetworkManager
cleanup_base
systemctl unmask NetworkManager-dispatcher
systemctl enable NetworkManager-dispatcher
- systemctl start NetworkManager
+ _do_service systemctl start NetworkManager
}
cmd_setup() {
- systemctl stop NetworkManager
+ _do_service systemctl stop NetworkManager
systemctl mask NetworkManager-dispatcher
systemctl stop NetworkManager-dispatcher
@@ -78,6 +84,10 @@ cmd_setup() {
ip --netns "$TEST_NETNS" link set t-a$i up
ip --netns "$TEST_NETNS" link set t-b$i up master t-br0
done
+ for i in `seq "$NUM_VLAN_DEVS"`; do
+ ip --netns "$TEST_NETNS" link add link t-b1 name t-b1.$i type vlan id $i
+ ip --netns "$TEST_NETNS" link set t-b1.$i up master t-br0
+ done
cat <<EOF > "$NM_TEST_CONF"
[main]
@@ -92,15 +102,24 @@ level=INFO
enabled=0
EOF
- systemctl start NetworkManager
+ _do_service systemctl start NetworkManager
for i in `seq "$NUM_DEVS"`; do
ip --netns "$TEST_NETNS" link set t-a$i netns $$
done
- for i in `seq "$NUM_DEVS"`; do
- nmcli connection add save no type ethernet con-name c-a$i ifname t-a$i autoconnect no ipv4.method auto ipv6.method auto
- done
+ if [ "$DO_ADD_CON" = 1 ]; then
+ for i in `seq "$NUM_DEVS"`; do
+ nmcli connection add save no type ethernet con-name c-a$i ifname t-a$i autoconnect no ipv4.method auto ipv6.method auto
+ done
+ fi
+
+ if [ "$DO_ADD_VLAN_CON" = 1 ]; then
+ for i in `seq "$NUM_VLAN_DEVS"`; do
+ nmcli connection add save no type bridge con-name c-a1.$i-br ifname t-a1.$i.br autoconnect no ipv4.method auto ipv6.method auto bridge.stp 0
+ nmcli connection add save no type vlan con-name c-a1.$i-po ifname t-a1.$i.po autoconnect no vlan.id $i vlan.parent t-a1 master c-a1.$i-br slave-type bridge
+ done
+ fi
}