1#!/bin/sh
2
3# Copyright (c) 2015 Oracle and/or its affiliates. All Rights Reserved.
4# Copyright (c) International Business Machines  Corp., 2005
5#
6# This program is free software; you can redistribute it and/or
7# modify it under the terms of the GNU General Public License as
8# published by the Free Software Foundation; either version 2 of
9# the License, or (at your option) any later version.
10#
11# This program is distributed in the hope that it would be useful,
12# but WITHOUT ANY WARRANTY; without even the implied warranty of
13# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14# GNU General Public License for more details.
15#
16# You should have received a copy of the GNU General Public License
17# along with this program; if not, write the Free Software Foundation,
18# Inc.,  51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
19#
20# Author: Mitsuru Chinen <mitch@jp.ibm.com>
21#
22
23TCID="ssh_stress01_rmt"
24TST_TOTAL=1
25
26. test.sh
27
28if [ $# -ne 4 ]; then
29	tst_brkm TBROK "Usage: $0 ipver rhost config connections"
30fi
31
32ip_ver="$1"
33server_ipaddr="$2"
34ssh_config="$3"
35connections="$4"
36
37ssh -$ip_ver -F $ssh_config $server_ipaddr \
38	"true < /dev/null > /dev/null 2>&1" > /dev/null
39
40[ $? -ne 0 ] && tst_brkm TBROK "Can't connect to '$server_ipaddr'"
41
42# Make ssh connections
43num=0
44while [ $num -lt $connections ]; do
45	ssh -$ip_ver -f -N -F $ssh_config $server_ipaddr
46	if [ $? -ne 0 ]; then
47		tst_resm TINFO "'$num' seems the max num of ssh conn"
48		break
49	fi
50	num=$(($num + 1))
51done
52
53# Disconnect all ssh connection
54all_conn=$(ps auxw | grep -Fv grep | \
55	grep "ssh[[:blank:]].*${ssh_config}" | awk '{print $2}')
56
57for ssh_pid in "$all_conn"; do
58	kill $ssh_pid
59done
60
61# Check the connectivity again
62ssh -$ip_ver -F $ssh_config $server_ipaddr \
63	"true < /dev/null > /dev/null 2>&1" > /dev/null
64if [ $? -ne 0 ]; then
65	tst_brkm TBROK "Failed to connect $server_ipaddr"
66fi
67
68tst_exit
69