summaryrefslogtreecommitdiffstats
path: root/test/TEST-60-BONDBRIDGEVLAN/server-init.sh
diff options
context:
space:
mode:
Diffstat (limited to 'test/TEST-60-BONDBRIDGEVLAN/server-init.sh')
-rwxr-xr-xtest/TEST-60-BONDBRIDGEVLAN/server-init.sh140
1 files changed, 140 insertions, 0 deletions
diff --git a/test/TEST-60-BONDBRIDGEVLAN/server-init.sh b/test/TEST-60-BONDBRIDGEVLAN/server-init.sh
new file mode 100755
index 0000000..3b0f55e
--- /dev/null
+++ b/test/TEST-60-BONDBRIDGEVLAN/server-init.sh
@@ -0,0 +1,140 @@
+#!/bin/sh
+exec < /dev/console > /dev/console 2>&1
+set -x
+export PATH=/usr/sbin:/usr/bin:/sbin:/bin
+export TERM=linux
+export PS1='nfstest-server:\w\$ '
+stty sane
+echo "made it to the rootfs!"
+echo server > /proc/sys/kernel/hostname
+
+wait_for_if_link() {
+ local cnt=0
+ local li
+
+ while [ $cnt -lt 600 ]; do
+ ip link show
+
+ li=$(ip -o link show dev "$1" 2> /dev/null)
+ [ -n "$li" ] && return 0
+ sleep 0.1
+ cnt=$((cnt + 1))
+ done
+ return 1
+}
+
+wait_for_if_up() {
+ local cnt=0
+ local li
+ while [ $cnt -lt 200 ]; do
+ li=$(ip -o link show up dev "$1")
+ [ -n "$li" ] && return 0
+ sleep 0.1
+ cnt=$((cnt + 1))
+ done
+ return 1
+}
+
+wait_for_route_ok() {
+ local cnt=0
+ while [ $cnt -lt 200 ]; do
+ li=$(ip route show)
+ [ -n "$li" ] && [ -z "${li##*"$1"*}" ] && return 0
+ sleep 0.1
+ cnt=$((cnt + 1))
+ done
+ return 1
+}
+
+linkup() {
+ wait_for_if_link "$1" 2> /dev/null && ip link set "$1" up 2> /dev/null && wait_for_if_up "$1" 2> /dev/null
+}
+
+udevadm settle
+
+ip link show
+
+wait_for_if_link enx525401123456
+wait_for_if_link enx525401123457
+wait_for_if_link enx525401123458
+wait_for_if_link enx525401123459
+
+ip link set dev enx525401123456 name net1
+ip link set dev enx525401123457 name net2
+ip link set dev enx525401123458 name net3
+ip link set dev enx525401123459 name net4
+
+modprobe --all -b -q 8021q bonding
+: > /dev/watchdog
+
+ip addr add 127.0.0.1/8 dev lo
+linkup lo
+
+ip addr add 192.168.50.1/24 dev net1
+linkup net1
+: > /dev/watchdog
+
+ip link add dev net2.1 link net2 type vlan id 1
+ip link add dev net2.2 link net2 type vlan id 2
+ip link add dev net2.3 link net2 type vlan id 3
+ip link add dev net2.4 link net2 type vlan id 4
+ip addr add 192.168.54.1/24 dev net2.1
+ip addr add 192.168.55.1/24 dev net2.2
+ip addr add 192.168.56.1/24 dev net2.3
+ip addr add 192.168.57.1/24 dev net2.4
+linkup net2
+ip link set dev net2.1 up
+ip link set dev net2.2 up
+ip link set dev net2.3 up
+ip link set dev net2.4 up
+
+ip link add bond0 type bond
+ip link set net3 master bond0
+ip link set net4 master bond0
+ip link set net3 up
+ip link set net4 up
+ip link set bond0 up
+ip addr add 192.168.51.1/24 dev bond0
+
+: > /dev/watchdog
+modprobe af_packet
+: > /dev/watchdog
+modprobe sunrpc
+: > /dev/watchdog
+mount -t rpc_pipefs sunrpc /var/lib/nfs/rpc_pipefs
+: > /dev/watchdog
+[ -x /sbin/portmap ] && portmap
+: > /dev/watchdog
+mkdir -p /run/rpcbind
+[ -x /sbin/rpcbind ] && rpcbind
+: > /dev/watchdog
+modprobe nfsd
+: > /dev/watchdog
+mount -t nfsd nfsd /proc/fs/nfsd
+: > /dev/watchdog
+exportfs -r
+: > /dev/watchdog
+rpc.nfsd
+: > /dev/watchdog
+rpc.mountd
+: > /dev/watchdog
+command -v rpc.idmapd > /dev/null && [ -z "$(pidof rpc.idmapd)" ] && rpc.idmapd -S
+: > /dev/watchdog
+exportfs -r
+: > /dev/watchdog
+: > /var/lib/dhcpd/dhcpd.leases
+: > /dev/watchdog
+chmod 777 /var/lib/dhcpd/dhcpd.leases
+: > /dev/watchdog
+dhcpd -cf /etc/dhcpd.conf -lf /var/lib/dhcpd/dhcpd.leases net1 bond0
+#echo -n 'V' : > /dev/watchdog
+#sh -i
+#tcpdump -i net1
+# Wait forever for the VM to die
+echo "Serving"
+while :; do
+ sleep 10
+ : > /dev/watchdog
+done
+mount -n -o remount,ro /
+poweroff -f