summaryrefslogtreecommitdiff
path: root/ubuntu/scripts/ltp-network.sh
blob: 313b47ba0cd4cdff9a1f27ef3e86afc7ae2d5e29 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
#!/bin/sh
#
# Run LTP network tests on Linux Linaro ubuntu
#
# Copyright (C) 2010 - 2014, Linaro Limited.
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
#
# Maintainer:
#   vincent.hsu@linaro.org
#   milosz.wasilewski@linaro.org
#   fathi.boudra@linaro.org

DIS="ubuntu"
START_DIR=$(pwd)
LTP_DIR="/opt/ltp"
INTERFACE=$1 # TEST_INTERFACE: from Dispatcher Job File
SERVER_IP=$2 # TEST_SERVER: from Dispatcher Job File
SERVER_NAME="server.ltp"
SERVER_PASSWD="2f70c6f33c8d78a717eb01296b8a4d59"

# overwrite configuration
cp $START_DIR/$DIS/scripts/ltp-network-xinetd.conf /etc/xinetd.conf
cp $START_DIR/$DIS/scripts/ltp-network-udhcpd /etc/default/udhcpd

# for rsh
cd ~
if [ -d .ssh ]; then
    rm -rf .ssh
fi
mkdir .ssh

cat > ~/.ssh/config <<-EOF
Host *
    StrictHostKeyChecking no
EOF

cat > ~/.ssh/id_rsa <<-EOF
-----BEGIN RSA PRIVATE KEY-----
MIIEpAIBAAKCAQEA3vTpHWDooU7wd8iUDa9aWKl97xX5UGr9u2geNK3lcp1ZVdnq
qetd+oaUqMLXS9KvWxk0CDxRjk9S9HAvPlsj9XlvTOYEvI03M2Vl6zew489WPXAu
OrbGk26kReR1bWVi2BkEsu8BjZtBZ828ncNWb6s/IX7IkyIEi+3QyE2lr6KuE0iL
gc+4xX/iT+suuP8RK/UPhCTVqCvpIaiURykDokEEgTqTWvfVdFYLexntOG7C3VQQ
5WZF+20AlvFAHS2CKz0GO/D0MvveD0IRAsVLy+dOgG4muNAUFMsu/Zs+r+CpHQzI
LBsstP8QEEhSFtQM4RyqoOtTlNwQrzYa4b4HXwIDAQABAoIBAQDcjE4xRpS4RLsw
8pQqOWTYwckWgZkfSMb35JXErKSFTUt61lcAgRh04z4Y9qw8kAvwxKyo3OocKTG5
JWRGfafDgr1rxzm2Psb1K3+3P17W61m26sqAQB+M5ezQSp8yeRFfDNiOHElgB82a
XnUPZpSRYEfR3XWRvhvbQ4O9MLoOUrfS613osoAzaqav0OGSUHzSsvkX7aOMfAt1
TJj1iM/I41Le14LBovqvtfG1ltDDybTmu30gAHTD6e726IS+2qlTf0QhxpHGP5RS
pxAI8AZsv4HROQIiO9l1TT+8NnatXFS2v33sUwaFtU79eQ46nGxIKGdPNhJJUc8D
tTT5IO6pAoGBAP7jaJZG+YP1tvqAkPuCxQ+T3nLX7V8hE7aZg/LZCVy1pgCavTNp
jbg2gGsAw69D5J3309kQLPYd9i6N8D5WO/9vQ3yjOQlNrgJVvTw/0RMbZLeX6iQQ
bpGniqeqqF+NZgJ5kMHbJJbWUMvnY9cEh/zTG+78jzGfpDUfGnsahaxTAoGBAN/t
2WxawvbFh7u4Hnfcn3y378WdYsWogeF05GjPoCd9+V+78X4HWvkaVvhEQFkjAP5v
2OblNN7U7YwL33JwtvbdiaLtorvXiXvSbj6yhMWItb2bqfEOh6IFWuMU5UzDaxym
UaWcEg/n+hvq+W888zTDziJvoiLKH7+lfncRdHdFAoGAE0FsykWMXgq3Cw+hZE7J
wlaCbJyhYxllmtrYHAWHboiOhOcrufGUckEzzGGfZuMzJzfsui49p042Jeg1KRBs
sexe5dCS44AJ0EVX6XBMxCvCnRgN6TGQmNJWaDo9RBKzjSZP6EU862Q/cFgHs9u0
xkXQi2prCu2rgxPZdUlYpd8CgYBfV+Y7PGnGqFQimUJfxpAhii+M9HYZsqWaWSrn
dX+7UOfc2yj3gCo75fshue2sBjtmGjlAFldsiTybZHK/Rz6f3bO8q3GeiScAkZhf
GaNud8bp9F1nRch6M81+4ma/SHVSvX4GBW2rWBolyOZrdogW70fVYbKnHWhnMQ+n
osb0AQKBgQDh7ltYaoCRxAAcWPSQvzgdHOdAfEmhXTuWVQC7HzUTOO1vWgnF7SQj
olwZnFoETACvW4DRP5zhDmqFWgmqdvhEw36aBHMlJlumpWCO9WE248ljpXUcE5p0
HE+8/JeffV2tY0KTlT4Hh3kmr2IpSKTMQjBfBZG1xUxlVz/2ZlVspQ==
-----END RSA PRIVATE KEY-----
EOF

chmod 600 ~/.ssh/id_rsa
chown -R $(whoami):$(whoami) .ssh

# network coufiguration
echo "===== network coufiguration ====="
echo 0 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
ifconfig $INTERFACE up
ifconfig $INTERFACE mtu 1500
dhclient $INTERFACE
echo "+ +" > ~/.rhosts
echo "$SERVER_IP $SERVER_NAME" >> /etc/hosts
echo $(ifconfig $INTERFACE | grep 'inet addr' | awk -F: '{print $2}' |awk '{print $1 " client.ltp"}')  >> /etc/hosts
echo "client.ltp" > /etc/hostname
hostname client.ltp

# check network status
ifconfig -a > ~/ifconfig.log
cat ~/ifconfig.log
ping -c 5 server.ltp > ~/ping.log
cat ~/ping.log
grep "100% packet loss" ~/ping.log && (echo "No network connection!!" ; exit 1)

# temporary modify server hostname
SERVER_ORI_NAME=$(rsh -n -l root $SERVER_IP hostname)
rsh -n -l root $SERVER_IP hostname $SERVER_NAME

echo "===== ltp network test start ====="
cd $LTP_DIR

# form networktests.sh
RHOST=$SERVER_NAME
export RHOST
PASSWD=$SERVER_PASSWD
export PASSWD

# for nfs test
echo "/ *(rw,sync,no_root_squash,no_subtree_check)" > /etc/exports
sed -i -e "s/$RPCMOUNTDOPTS --no-nfs-version 3/$RPCMOUNTDOPTS/g"  /etc/init.d/nfs-kernel-server
service nfs-kernel-server restart

# for sctp test
modprobe sctp

# for tcp test
service xinetd restart
#service udhcpd restart # this test need to start a dhcp server

# run test
./runltp -q -p -f multicast,nfs,rpc,sctp,ipv6_lib,tcp_cmds,tcp_cmds_addition -S $START_DIR/$DIS/scripts/ltp-network-skiplist
ifconfig $INTERFACE mtu 1500 # ip test will modify mtu to 300

# print test result
find ./results -name "LTP_RUN_ON*" -print0 |xargs -0 cat

# recover server hostname
rsh -n -l root $SERVER_IP hostname $SERVER_ORI_NAME
echo "===== ltp network test end ====="