]> git.ipfire.org Git - thirdparty/dracut.git/blob - test/TEST-60-BONDBRIDGEVLANIFCFG/server-init.sh
b002b8ad99cf67708fd6ba87ac39d2d04209fd49
[thirdparty/dracut.git] / test / TEST-60-BONDBRIDGEVLANIFCFG / server-init.sh
1 #!/bin/sh
2 exec < /dev/console > /dev/console 2>&1
3 set -x
4 export PATH=/sbin:/bin:/usr/sbin:/usr/bin
5 export TERM=linux
6 export PS1='nfstest-server:\w\$ '
7 stty sane
8 echo "made it to the rootfs!"
9 echo server > /proc/sys/kernel/hostname
10
11 wait_for_if_link() {
12 local cnt=0
13 local li
14
15 while [ $cnt -lt 600 ]; do
16 ip link show
17
18 li=$(ip -o link show dev "$1" 2> /dev/null)
19 [ -n "$li" ] && return 0
20 if [[ $2 ]]; then
21 li=$(ip -o link show dev "$2" 2> /dev/null)
22 [ -n "$li" ] && return 0
23 fi
24 sleep 0.1
25 cnt=$((cnt + 1))
26 done
27 return 1
28 }
29
30 wait_for_if_up() {
31 local cnt=0
32 local li
33 while [ $cnt -lt 200 ]; do
34 li=$(ip -o link show up dev "$1")
35 [ -n "$li" ] && return 0
36 sleep 0.1
37 cnt=$((cnt + 1))
38 done
39 return 1
40 }
41
42 wait_for_route_ok() {
43 local cnt=0
44 while [ $cnt -lt 200 ]; do
45 li=$(ip route show)
46 [ -n "$li" ] && [ -z "${li##*$1*}" ] && return 0
47 sleep 0.1
48 cnt=$((cnt + 1))
49 done
50 return 1
51 }
52
53 linkup() {
54 wait_for_if_link "$1" 2> /dev/null && ip link set "$1" up 2> /dev/null && wait_for_if_up "$1" 2> /dev/null
55 }
56
57 udevadm settle
58
59 ip link show
60
61 wait_for_if_link eth0 ens3
62 wait_for_if_link eth1 ens4
63 wait_for_if_link eth2 ens5
64 wait_for_if_link eth3 ens6
65
66 modprobe --all -b -q 8021q ipvlan macvlan
67 : > /dev/watchdog
68 ip addr add 127.0.0.1/8 dev lo
69 linkup lo
70 ip link set dev eth0 name ens3
71 ip addr add 192.168.50.1/24 dev ens3
72 linkup ens3
73 : > /dev/watchdog
74 ip link set dev eth1 name ens4
75 ip link add dev ens4.1 link ens4 type vlan id 1
76 ip link add dev ens4.2 link ens4 type vlan id 2
77 ip link add dev ens4.3 link ens4 type vlan id 3
78 ip link add dev ens4.4 link ens4 type vlan id 4
79 ip addr add 192.168.54.1/24 dev ens4.1
80 ip addr add 192.168.55.1/24 dev ens4.2
81 ip addr add 192.168.56.1/24 dev ens4.3
82 ip addr add 192.168.57.1/24 dev ens4.4
83 linkup ens4
84 ip link set dev ens4.1 up
85 ip link set dev ens4.2 up
86 ip link set dev ens4.3 up
87 ip link set dev ens4.4 up
88 ip link set dev eth2 name ens5
89 ip addr add 192.168.51.1/24 dev ens5
90 linkup ens5
91 ip link set dev eth3 name ens6
92 linkup ens6
93 : > /dev/watchdog
94 modprobe af_packet
95 : > /dev/watchdog
96 modprobe sunrpc
97 : > /dev/watchdog
98 mount -t rpc_pipefs sunrpc /var/lib/nfs/rpc_pipefs
99 : > /dev/watchdog
100 [ -x /sbin/portmap ] && portmap
101 : > /dev/watchdog
102 mkdir -p /run/rpcbind
103 [ -x /sbin/rpcbind ] && rpcbind
104 : > /dev/watchdog
105 modprobe nfsd
106 : > /dev/watchdog
107 mount -t nfsd nfsd /proc/fs/nfsd
108 : > /dev/watchdog
109 exportfs -r
110 : > /dev/watchdog
111 rpc.nfsd
112 : > /dev/watchdog
113 rpc.mountd
114 : > /dev/watchdog
115 rpc.idmapd -S
116 : > /dev/watchdog
117 exportfs -r
118 : > /dev/watchdog
119 : > /var/lib/dhcpd/dhcpd.leases
120 : > /dev/watchdog
121 chmod 777 /var/lib/dhcpd/dhcpd.leases
122 : > /dev/watchdog
123 dhcpd -cf /etc/dhcpd.conf -lf /var/lib/dhcpd/dhcpd.leases ens3 ens5
124 #echo -n 'V' : > /dev/watchdog
125 #sh -i
126 #tcpdump -i ens3
127 # Wait forever for the VM to die
128 echo "Serving"
129 while :; do
130 sleep 10
131 : > /dev/watchdog
132 done
133 mount -n -o remount,ro /
134 poweroff -f