Signed-off-by: Alexey Kodanev <alexey.koda...@oracle.com> --- testcases/network/stress/ssh/ssh-stress | 461 ++++++++++++++++++++++++++++++ testcases/network/stress/ssh/ssh4-stress | 461 ------------------------------ testcases/network/stress/ssh/ssh6-stress | 47 --- 3 files changed, 461 insertions(+), 508 deletions(-) create mode 100644 testcases/network/stress/ssh/ssh-stress delete mode 100644 testcases/network/stress/ssh/ssh4-stress delete mode 100644 testcases/network/stress/ssh/ssh6-stress
diff --git a/testcases/network/stress/ssh/ssh-stress b/testcases/network/stress/ssh/ssh-stress new file mode 100644 index 0000000..8521b75 --- /dev/null +++ b/testcases/network/stress/ssh/ssh-stress @@ -0,0 +1,461 @@ +#!/bin/sh + +################################################################################ +## ## +## Copyright (c) International Business Machines Corp., 2005 ## +## ## +## 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 ## +## ## +## ## +################################################################################ +# +# File: +# ssh4-stress +# +# Description: +# Stress test for SSH over IPv4 +# test01 - Verify the ssh server or the kernel is not down after a large +# number of ssh sessions are created. +# test02 - Verify the ssh server or the kernel is not down after a large +# number of clients log in/out asynchronously for a long time. +# test03 - Verify the ssh server or the kernek is not down after a TCP +# traffic is forwarded via ssh port-forwarding for a long time +# +# Author: +# Mitsuru Chinen <mi...@jp.ibm.com> +# +# History: +# Oct 19 2005 - Created (Mitsuru Chinen) +# +#----------------------------------------------------------------------- +# Uncomment line below for debug output. +#trace_logic=${trace_logic:-"set -x"} +$trace_logic + +# Make sure the value of LTPROOT +LTPROOT=${LTPROOT:-`(cd ../../../../ ; pwd)`} +export LTPROOT + +# Total number of the test case +TST_TOTAL=3 +export TST_TOTAL + +# The version of IP +IP_VER=${IP_VER:-4} + +# Default of the test case ID and the test case count +TCID=ssh${IP_VER}-stress +TST_COUNT=0 +export TCID +export TST_COUNT + +# Check the environmanet variable +. check_envval || exit $TST_TOTAL + +# Dulation of the test [sec] +NS_DURATION=${NS_DURATION:-3600} # 1 hour + +# Quantity of the connection for multi connection test +CONNECTION_TOTAL=${CONNECTION_TOTAL:-4000} + +# Temporary direcotry to store sshd setting or ssh key +# Note: ssh doesn't work when those directory are under /tmp. +SSH_TMPDIR_PARENT="/root" + +# The number of the test link where tests run +LINK_NUM=${LINK_NUM:-0} + +# Network portion of the IPv4 address +IPV4_NETWORK=${IPV4_NETWORK:-"10.0.0"} + +# Host portion of the IPv4 address on the local host +LHOST_IPV4_HOST=${LHOST_IPV4_HOST:-"2"} + +# Host portion of the IPv4 address on the remote host +RHOST_IPV4_HOST=${RHOST_IPV4_HOST:-"1"} + +# Network portion of the IPv6 address +IPV6_NETWORK="fd00:1:1:1" + +# Host portion of the IPv6 address of the local host +LHOST_IPV6_HOST=":2" + +# Host portion of the IPv6 address of the remote host +RHOST_IPV6_HOST=":1" + +#----------------------------------------------------------------------- +# +# Function: +# do_cleanup +# +# Description: +# Clean up after running ssh stress test +# +#----------------------------------------------------------------------- +do_cleanup() +{ + # Stop the ssh daemon + kill `cat ${sshd_dir}/sshd.pid` + + # Delete the dictory that stores configuration files + rm -rf $sshd_dir + $LTP_RSH $RHOST "rm -rf $rhost_ssh_dir" + + # Delete the temporary files + rm -f $message_file + + # Initialize the interface + initialize_if lhost ${LINK_NUM} + initialize_if rhost ${LINK_NUM} + + # Kill the tcp traffic server + killall_tcp_traffic +} + + +#----------------------------------------------------------------------- +# +# Function: +# do_setup +# +# Description: +# Setup for the ssh stress tests +# - Assign IP address to the interfaces belong to the specified Link +# - Run a sshd daemon for testing +# - Create keys for password-less login +# +# Set Values: +# lhost_addr: IP address of the local host +# rhost_addr: IP address of the remote host +# rhost_config: ssh_config at the remote host +# +#----------------------------------------------------------------------- +do_setup() +{ + trap do_cleanup 0 + + # Get the sshd command with absolute path + SSHD=`which sshd` + if [ x"${SSHD}" = x ]; then + tst_resm TBROK "sshd daemon is not found" + exit $TST_TOTAL + fi + + # Kill the tcp traffic server + killall_tcp_traffic + + # Initialize the interface + initialize_if lhost ${LINK_NUM} + initialize_if rhost ${LINK_NUM} + + # Get the Interface name + lhost_ifname=`get_ifname lhost ${LINK_NUM}` + if [ $? -ne 0 ]; then + tst_resm TBROK "Failed to get the interface name at the local host" + exit $TST_TOTAL + fi + + case $IP_VER in + 4) + # Set IPv4 address to the interfaces + set_ipv4addr lhost $LINK_NUM ${IPV4_NETWORK} ${LHOST_IPV4_HOST} + if [ $? -ne 0 ]; then + tst_resm TBROK "Failed to add any IP address at the local host" + exit 1 + fi + set_ipv4addr rhost $LINK_NUM ${IPV4_NETWORK} ${RHOST_IPV4_HOST} + if [ $? -ne 0 ]; then + tst_resm TBROK "Failed to add any IP address at the remote host" + exit 1 + fi + + lhost_addr="${IPV4_NETWORK}.${LHOST_IPV4_HOST}" + rhost_addr="${IPV4_NETWORK}.${RHOST_IPV4_HOST}" + check_icmpv4_connectivity $lhost_ifname $rhost_addr + if [ $? -ne 0 ]; then + tst_resm TBROK "Failed to ping to $rhost_addr" + exit 1 + fi + ;; + + 6) + # Set IPv6 address to the interfaces + add_ipv6addr lhost $LINK_NUM ${IPV6_NETWORK} ${LHOST_IPV6_HOST} + if [ $? -ne 0 ]; then + tst_resm TBROK "Failed to add any IP address at the local host" + exit 1 + fi + add_ipv6addr rhost $LINK_NUM ${IPV6_NETWORK} ${RHOST_IPV6_HOST} + if [ $? -ne 0 ]; then + tst_resm TBROK "Failed to add any IP address at the remote host" + exit 1 + fi + + lhost_addr="${IPV6_NETWORK}:${LHOST_IPV6_HOST}" + rhost_addr="${IPV6_NETWORK}:${RHOST_IPV6_HOST}" + check_icmpv6_connectivity $lhost_ifname $rhost_addr + if [ $? -ne 0 ]; then + tst_resm TBROK "Failed to ping to $rhost_addr" + exit 1 + fi + ;; + + *) + tst_resm TBROK "Unknown IP version: $IP_VER" + exit 1 + ;; + esac + + # + # Start sshd for testing + # + port=`find_portbundle tcp 1025 1` + if [ $? -ne 0 ]; then + tst_resm TFAIL "No port is available." + exit 1 + fi + sshd_dir=`TMPDIR="$SSH_TMPDIR_PARENT" mktemp -d` + cat << EOD > ${sshd_dir}/sshd_config +Port $port +ListenAddress $lhost_addr +PermitRootLogin yes +AuthorizedKeysFile ${sshd_dir}/authorized_keys +PasswordAuthentication no +AllowTcpForwarding yes +TCPKeepAlive yes +UseDNS no +PidFile ${sshd_dir}/sshd.pid +EOD + + + $SSHD -f ${sshd_dir}/sshd_config + if [ $? -ne 0 ]; then + tst_resm TBROK "Failed to run sshd daemon." + exit 1 + fi + + # + # Generate configuration file and key at the remote host + # + rhost_ssh_dir=`$LTP_RSH $RHOST "mktemp -d -p $SSH_TMPDIR_PARENT"` + ret=`$LTP_RSH $RHOST '( cd '$rhost_ssh_dir' && ssh-keygen -t rsa -N "" -f id_rsa ) >/dev/null 2>&1 ; echo $?'` + if [ $ret -ne 0 ]; then + tst_resm TBROK "Failed to generate key." + exit 1 + fi + + rhost_config=${rhost_ssh_dir}/ssh_config + rmtshell="$LTP_RSH" + echo $LTP_RSH | grep "rsh.*-n" >/dev/null 2>&1 + if [ $? -eq 0 ]; then + rmtshell="`echo $LTP_RSH | sed "s/-n//"`" + fi + + cat << EOD | $rmtshell $RHOST "cat > $rhost_config" +Port $port +StrictHostKeyChecking no +PasswordAuthentication no +UserKnownHostsFile $rhost_ssh_dir/known_hosts +IdentityFile $rhost_ssh_dir/id_rsa +EOD + $LTP_RSH $RHOST "cd $rhost_ssh_dir && cat id_rsa.pub" > ${sshd_dir}/authorized_keys + $LTP_RSH $RHOST "chmod 700 $rhost_ssh_dir ; chmod 600 $rhost_ssh_dir/*" + + chmod 700 $sshd_dir + chmod 600 $sshd_dir/* +} + + +#----------------------------------------------------------------------- +# +# Function: +# test01 +# +# Description: +# Verify the ssh connectivity is not broken after creating a large +# number of ssh sessions +# +#----------------------------------------------------------------------- +test01() +{ + TCID=ssh${IP_VER}-stress01 + TST_COUNT=1 + tst_resm TINFO "Verify the ssh connectivity over IPv${IP_VER} is not broken after creating ${CONNECTION_TOTAL} ssh sessions" + + # Script name at the remote host + rmtscript="ssh-stress01-rmt" + + # Run the script at the remote host + message_file=`mktemp -p $TMPDIR` + not_run_rmtscript=true + for rmtdir in ${LTPROOT}/testcases/bin ${PWD} ; do + ret=`$LTP_RSH $RHOST 'test -x '${rmtdir}/${rmtscript}' ; echo $?'` + if [ $ret -eq 0 ]; then + not_run_rmtscript=false + $LTP_RSH $RHOST "${rmtdir}/${rmtscript} $IP_VER $lhost_addr $rhost_config $CONNECTION_TOTAL" > $message_file + break + fi + done + if $not_run_rmtscript ; then + tst_resm TBROK "Failed to run the test script at the remote host" + rm -f $message_file + exit 1 + fi + + if [ -s $message_file ]; then + tst_resm TFAIL "`cat $message_file`" + rm -f $message_file + return 1 + else + tst_resm TPASS "Test is finished successfully." + rm -f $message_file + return 0 + fi + +} + + +#----------------------------------------------------------------------- +# +# Function: +# test02 +# +# Description: +# Verify the ssh connectivity is not broken after logged in/out +# by many clients asynchronously for a long time +# +#----------------------------------------------------------------------- +test02() +{ + TCID=ssh${IP_VER}-stress02 + TST_COUNT=2 + tst_resm TINFO "Verify the ssh connectivity over IPv${IP_VER} is not broken after logged in/out by many clients asynchronously in ${NS_DURATION}[sec]" + tst_resm TINFO "The number of client is not over $CONNECTION_TOTAL" + + # Script name at the remote host + rmtscript="ssh-stress02-rmt" + + # Run the script at the remote host + message_file=`mktemp -p $TMPDIR` + not_run_rmtscript=true + for rmtdir in ${LTPROOT}/testcases/bin ${PWD} ; do + ret=`$LTP_RSH $RHOST 'test -x '${rmtdir}/${rmtscript}' ; echo $?'` + if [ $ret -eq 0 ]; then + not_run_rmtscript=false + $LTP_RSH $RHOST "${rmtdir}/${rmtscript} $IP_VER $lhost_addr $rhost_config $CONNECTION_TOTAL $NS_DURATION" > $message_file + break + fi + done + if $not_run_rmtscript ; then + tst_resm TBROK "Failed to run the test script at the remote host" + rm -f $message_file + exit 1 + fi + + if [ -s $message_file ]; then + tst_resm TFAIL "`cat $message_file`" + rm -f $message_file + return 1 + else + tst_resm TPASS "Test is finished successfully." + rm -f $message_file + return 0 + fi +} + + +#----------------------------------------------------------------------- +# +# Function: +# test03 +# +# Description: +# Verify the ssh connectivity is not broken after forwarding TCP traffic +# for a long time +# +#----------------------------------------------------------------------- +test03() +{ + TCID=ssh${IP_VER}-stress03 + TST_COUNT=3 + tst_resm TINFO "Verify the ssh connectivity over IPv${IP_VER} is not broken after forwarding TCP traffic in ${NS_DURATION}[sec]" + + # Script name at the remote host + rmtscript="ssh-stress03-rmt" + + # Run a TCP traffic server + traffic_port=`find_portbundle tcp 1025 1` || exit 1 + info_file=`mktemp -p $TMPDIR` + ns-tcpserver -b -f $IP_VER -p $traffic_port -o $info_file + if [ $? -ne 0 ]; then + tst_resm TFAIL "Failed to run a tcp traffic server." + rm -f $info_file + exit 1 + fi + + while true ; do + if [ -s $info_file ]; then + break + fi + done + + server_pid=`grep PID: $info_file | cut -f 2 -d ' '` + rm -f $info_file + + # Run the script at the remote host + message_file=`mktemp -p $TMPDIR` + not_run_rmtscript=true + for rmtdir in ${LTPROOT}/testcases/bin ${PWD} ; do + ret=`$LTP_RSH $RHOST 'test -x '${rmtdir}/${rmtscript}' ; echo $?'` + if [ $ret -eq 0 ]; then + not_run_rmtscript=false + $LTP_RSH $RHOST "${rmtdir}/${rmtscript} $LTPROOT $IP_VER $lhost_addr $rhost_config $traffic_port $NS_DURATION" > $message_file + break + fi + done + if $not_run_rmtscript ; then + tst_resm TBROK "Failed to run the test script at the remote host" + rm -f $message_file + exit 1 + fi + + if [ -s $message_file ]; then + tst_resm TFAIL "`cat $message_file`" + rm -f $message_file + return 1 + else + tst_resm TPASS "Test is finished successfully." + rm -f $message_file + return 0 + fi +} + + +#----------------------------------------------------------------------- +# +# Main +# +# Exit Value: +# The number of the failure +# +#----------------------------------------------------------------------- + +RC=0 +do_setup +test01 || RC=`expr $RC + 1` +test02 || RC=`expr $RC + 1` +test03 || RC=`expr $RC + 1` + +exit $RC diff --git a/testcases/network/stress/ssh/ssh4-stress b/testcases/network/stress/ssh/ssh4-stress deleted file mode 100644 index 8521b75..0000000 --- a/testcases/network/stress/ssh/ssh4-stress +++ /dev/null @@ -1,461 +0,0 @@ -#!/bin/sh - -################################################################################ -## ## -## Copyright (c) International Business Machines Corp., 2005 ## -## ## -## 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 ## -## ## -## ## -################################################################################ -# -# File: -# ssh4-stress -# -# Description: -# Stress test for SSH over IPv4 -# test01 - Verify the ssh server or the kernel is not down after a large -# number of ssh sessions are created. -# test02 - Verify the ssh server or the kernel is not down after a large -# number of clients log in/out asynchronously for a long time. -# test03 - Verify the ssh server or the kernek is not down after a TCP -# traffic is forwarded via ssh port-forwarding for a long time -# -# Author: -# Mitsuru Chinen <mi...@jp.ibm.com> -# -# History: -# Oct 19 2005 - Created (Mitsuru Chinen) -# -#----------------------------------------------------------------------- -# Uncomment line below for debug output. -#trace_logic=${trace_logic:-"set -x"} -$trace_logic - -# Make sure the value of LTPROOT -LTPROOT=${LTPROOT:-`(cd ../../../../ ; pwd)`} -export LTPROOT - -# Total number of the test case -TST_TOTAL=3 -export TST_TOTAL - -# The version of IP -IP_VER=${IP_VER:-4} - -# Default of the test case ID and the test case count -TCID=ssh${IP_VER}-stress -TST_COUNT=0 -export TCID -export TST_COUNT - -# Check the environmanet variable -. check_envval || exit $TST_TOTAL - -# Dulation of the test [sec] -NS_DURATION=${NS_DURATION:-3600} # 1 hour - -# Quantity of the connection for multi connection test -CONNECTION_TOTAL=${CONNECTION_TOTAL:-4000} - -# Temporary direcotry to store sshd setting or ssh key -# Note: ssh doesn't work when those directory are under /tmp. -SSH_TMPDIR_PARENT="/root" - -# The number of the test link where tests run -LINK_NUM=${LINK_NUM:-0} - -# Network portion of the IPv4 address -IPV4_NETWORK=${IPV4_NETWORK:-"10.0.0"} - -# Host portion of the IPv4 address on the local host -LHOST_IPV4_HOST=${LHOST_IPV4_HOST:-"2"} - -# Host portion of the IPv4 address on the remote host -RHOST_IPV4_HOST=${RHOST_IPV4_HOST:-"1"} - -# Network portion of the IPv6 address -IPV6_NETWORK="fd00:1:1:1" - -# Host portion of the IPv6 address of the local host -LHOST_IPV6_HOST=":2" - -# Host portion of the IPv6 address of the remote host -RHOST_IPV6_HOST=":1" - -#----------------------------------------------------------------------- -# -# Function: -# do_cleanup -# -# Description: -# Clean up after running ssh stress test -# -#----------------------------------------------------------------------- -do_cleanup() -{ - # Stop the ssh daemon - kill `cat ${sshd_dir}/sshd.pid` - - # Delete the dictory that stores configuration files - rm -rf $sshd_dir - $LTP_RSH $RHOST "rm -rf $rhost_ssh_dir" - - # Delete the temporary files - rm -f $message_file - - # Initialize the interface - initialize_if lhost ${LINK_NUM} - initialize_if rhost ${LINK_NUM} - - # Kill the tcp traffic server - killall_tcp_traffic -} - - -#----------------------------------------------------------------------- -# -# Function: -# do_setup -# -# Description: -# Setup for the ssh stress tests -# - Assign IP address to the interfaces belong to the specified Link -# - Run a sshd daemon for testing -# - Create keys for password-less login -# -# Set Values: -# lhost_addr: IP address of the local host -# rhost_addr: IP address of the remote host -# rhost_config: ssh_config at the remote host -# -#----------------------------------------------------------------------- -do_setup() -{ - trap do_cleanup 0 - - # Get the sshd command with absolute path - SSHD=`which sshd` - if [ x"${SSHD}" = x ]; then - tst_resm TBROK "sshd daemon is not found" - exit $TST_TOTAL - fi - - # Kill the tcp traffic server - killall_tcp_traffic - - # Initialize the interface - initialize_if lhost ${LINK_NUM} - initialize_if rhost ${LINK_NUM} - - # Get the Interface name - lhost_ifname=`get_ifname lhost ${LINK_NUM}` - if [ $? -ne 0 ]; then - tst_resm TBROK "Failed to get the interface name at the local host" - exit $TST_TOTAL - fi - - case $IP_VER in - 4) - # Set IPv4 address to the interfaces - set_ipv4addr lhost $LINK_NUM ${IPV4_NETWORK} ${LHOST_IPV4_HOST} - if [ $? -ne 0 ]; then - tst_resm TBROK "Failed to add any IP address at the local host" - exit 1 - fi - set_ipv4addr rhost $LINK_NUM ${IPV4_NETWORK} ${RHOST_IPV4_HOST} - if [ $? -ne 0 ]; then - tst_resm TBROK "Failed to add any IP address at the remote host" - exit 1 - fi - - lhost_addr="${IPV4_NETWORK}.${LHOST_IPV4_HOST}" - rhost_addr="${IPV4_NETWORK}.${RHOST_IPV4_HOST}" - check_icmpv4_connectivity $lhost_ifname $rhost_addr - if [ $? -ne 0 ]; then - tst_resm TBROK "Failed to ping to $rhost_addr" - exit 1 - fi - ;; - - 6) - # Set IPv6 address to the interfaces - add_ipv6addr lhost $LINK_NUM ${IPV6_NETWORK} ${LHOST_IPV6_HOST} - if [ $? -ne 0 ]; then - tst_resm TBROK "Failed to add any IP address at the local host" - exit 1 - fi - add_ipv6addr rhost $LINK_NUM ${IPV6_NETWORK} ${RHOST_IPV6_HOST} - if [ $? -ne 0 ]; then - tst_resm TBROK "Failed to add any IP address at the remote host" - exit 1 - fi - - lhost_addr="${IPV6_NETWORK}:${LHOST_IPV6_HOST}" - rhost_addr="${IPV6_NETWORK}:${RHOST_IPV6_HOST}" - check_icmpv6_connectivity $lhost_ifname $rhost_addr - if [ $? -ne 0 ]; then - tst_resm TBROK "Failed to ping to $rhost_addr" - exit 1 - fi - ;; - - *) - tst_resm TBROK "Unknown IP version: $IP_VER" - exit 1 - ;; - esac - - # - # Start sshd for testing - # - port=`find_portbundle tcp 1025 1` - if [ $? -ne 0 ]; then - tst_resm TFAIL "No port is available." - exit 1 - fi - sshd_dir=`TMPDIR="$SSH_TMPDIR_PARENT" mktemp -d` - cat << EOD > ${sshd_dir}/sshd_config -Port $port -ListenAddress $lhost_addr -PermitRootLogin yes -AuthorizedKeysFile ${sshd_dir}/authorized_keys -PasswordAuthentication no -AllowTcpForwarding yes -TCPKeepAlive yes -UseDNS no -PidFile ${sshd_dir}/sshd.pid -EOD - - - $SSHD -f ${sshd_dir}/sshd_config - if [ $? -ne 0 ]; then - tst_resm TBROK "Failed to run sshd daemon." - exit 1 - fi - - # - # Generate configuration file and key at the remote host - # - rhost_ssh_dir=`$LTP_RSH $RHOST "mktemp -d -p $SSH_TMPDIR_PARENT"` - ret=`$LTP_RSH $RHOST '( cd '$rhost_ssh_dir' && ssh-keygen -t rsa -N "" -f id_rsa ) >/dev/null 2>&1 ; echo $?'` - if [ $ret -ne 0 ]; then - tst_resm TBROK "Failed to generate key." - exit 1 - fi - - rhost_config=${rhost_ssh_dir}/ssh_config - rmtshell="$LTP_RSH" - echo $LTP_RSH | grep "rsh.*-n" >/dev/null 2>&1 - if [ $? -eq 0 ]; then - rmtshell="`echo $LTP_RSH | sed "s/-n//"`" - fi - - cat << EOD | $rmtshell $RHOST "cat > $rhost_config" -Port $port -StrictHostKeyChecking no -PasswordAuthentication no -UserKnownHostsFile $rhost_ssh_dir/known_hosts -IdentityFile $rhost_ssh_dir/id_rsa -EOD - $LTP_RSH $RHOST "cd $rhost_ssh_dir && cat id_rsa.pub" > ${sshd_dir}/authorized_keys - $LTP_RSH $RHOST "chmod 700 $rhost_ssh_dir ; chmod 600 $rhost_ssh_dir/*" - - chmod 700 $sshd_dir - chmod 600 $sshd_dir/* -} - - -#----------------------------------------------------------------------- -# -# Function: -# test01 -# -# Description: -# Verify the ssh connectivity is not broken after creating a large -# number of ssh sessions -# -#----------------------------------------------------------------------- -test01() -{ - TCID=ssh${IP_VER}-stress01 - TST_COUNT=1 - tst_resm TINFO "Verify the ssh connectivity over IPv${IP_VER} is not broken after creating ${CONNECTION_TOTAL} ssh sessions" - - # Script name at the remote host - rmtscript="ssh-stress01-rmt" - - # Run the script at the remote host - message_file=`mktemp -p $TMPDIR` - not_run_rmtscript=true - for rmtdir in ${LTPROOT}/testcases/bin ${PWD} ; do - ret=`$LTP_RSH $RHOST 'test -x '${rmtdir}/${rmtscript}' ; echo $?'` - if [ $ret -eq 0 ]; then - not_run_rmtscript=false - $LTP_RSH $RHOST "${rmtdir}/${rmtscript} $IP_VER $lhost_addr $rhost_config $CONNECTION_TOTAL" > $message_file - break - fi - done - if $not_run_rmtscript ; then - tst_resm TBROK "Failed to run the test script at the remote host" - rm -f $message_file - exit 1 - fi - - if [ -s $message_file ]; then - tst_resm TFAIL "`cat $message_file`" - rm -f $message_file - return 1 - else - tst_resm TPASS "Test is finished successfully." - rm -f $message_file - return 0 - fi - -} - - -#----------------------------------------------------------------------- -# -# Function: -# test02 -# -# Description: -# Verify the ssh connectivity is not broken after logged in/out -# by many clients asynchronously for a long time -# -#----------------------------------------------------------------------- -test02() -{ - TCID=ssh${IP_VER}-stress02 - TST_COUNT=2 - tst_resm TINFO "Verify the ssh connectivity over IPv${IP_VER} is not broken after logged in/out by many clients asynchronously in ${NS_DURATION}[sec]" - tst_resm TINFO "The number of client is not over $CONNECTION_TOTAL" - - # Script name at the remote host - rmtscript="ssh-stress02-rmt" - - # Run the script at the remote host - message_file=`mktemp -p $TMPDIR` - not_run_rmtscript=true - for rmtdir in ${LTPROOT}/testcases/bin ${PWD} ; do - ret=`$LTP_RSH $RHOST 'test -x '${rmtdir}/${rmtscript}' ; echo $?'` - if [ $ret -eq 0 ]; then - not_run_rmtscript=false - $LTP_RSH $RHOST "${rmtdir}/${rmtscript} $IP_VER $lhost_addr $rhost_config $CONNECTION_TOTAL $NS_DURATION" > $message_file - break - fi - done - if $not_run_rmtscript ; then - tst_resm TBROK "Failed to run the test script at the remote host" - rm -f $message_file - exit 1 - fi - - if [ -s $message_file ]; then - tst_resm TFAIL "`cat $message_file`" - rm -f $message_file - return 1 - else - tst_resm TPASS "Test is finished successfully." - rm -f $message_file - return 0 - fi -} - - -#----------------------------------------------------------------------- -# -# Function: -# test03 -# -# Description: -# Verify the ssh connectivity is not broken after forwarding TCP traffic -# for a long time -# -#----------------------------------------------------------------------- -test03() -{ - TCID=ssh${IP_VER}-stress03 - TST_COUNT=3 - tst_resm TINFO "Verify the ssh connectivity over IPv${IP_VER} is not broken after forwarding TCP traffic in ${NS_DURATION}[sec]" - - # Script name at the remote host - rmtscript="ssh-stress03-rmt" - - # Run a TCP traffic server - traffic_port=`find_portbundle tcp 1025 1` || exit 1 - info_file=`mktemp -p $TMPDIR` - ns-tcpserver -b -f $IP_VER -p $traffic_port -o $info_file - if [ $? -ne 0 ]; then - tst_resm TFAIL "Failed to run a tcp traffic server." - rm -f $info_file - exit 1 - fi - - while true ; do - if [ -s $info_file ]; then - break - fi - done - - server_pid=`grep PID: $info_file | cut -f 2 -d ' '` - rm -f $info_file - - # Run the script at the remote host - message_file=`mktemp -p $TMPDIR` - not_run_rmtscript=true - for rmtdir in ${LTPROOT}/testcases/bin ${PWD} ; do - ret=`$LTP_RSH $RHOST 'test -x '${rmtdir}/${rmtscript}' ; echo $?'` - if [ $ret -eq 0 ]; then - not_run_rmtscript=false - $LTP_RSH $RHOST "${rmtdir}/${rmtscript} $LTPROOT $IP_VER $lhost_addr $rhost_config $traffic_port $NS_DURATION" > $message_file - break - fi - done - if $not_run_rmtscript ; then - tst_resm TBROK "Failed to run the test script at the remote host" - rm -f $message_file - exit 1 - fi - - if [ -s $message_file ]; then - tst_resm TFAIL "`cat $message_file`" - rm -f $message_file - return 1 - else - tst_resm TPASS "Test is finished successfully." - rm -f $message_file - return 0 - fi -} - - -#----------------------------------------------------------------------- -# -# Main -# -# Exit Value: -# The number of the failure -# -#----------------------------------------------------------------------- - -RC=0 -do_setup -test01 || RC=`expr $RC + 1` -test02 || RC=`expr $RC + 1` -test03 || RC=`expr $RC + 1` - -exit $RC diff --git a/testcases/network/stress/ssh/ssh6-stress b/testcases/network/stress/ssh/ssh6-stress deleted file mode 100644 index 3096c3e..0000000 --- a/testcases/network/stress/ssh/ssh6-stress +++ /dev/null @@ -1,47 +0,0 @@ -#!/bin/sh - -################################################################################ -## ## -## Copyright (c) International Business Machines Corp., 2005 ## -## ## -## 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 ## -## ## -## ## -################################################################################ -# -# File: -# ssh6-stress -# -# Description: -# This script is the stress test for ssh over IPv6 -# -# Setup: -# See ltp-yyyymmdd/testcases/network/stress/README -# -# Author: -# Mitsuru Chinen <mi...@jp.ibm.com> -# -# History: -# Oct 19 2005 - Created (Mitsuru Chinen) -# -#----------------------------------------------------------------------- -# Uncomment line below for debug output. -#trace_logic=${trace_logic:-"set -x"} -$trace_logic - -# The version of IP -IP_VER=6 - -. ssh4-stress -- 1.7.1 ------------------------------------------------------------------------------ New Year. New Location. New Benefits. New Data Center in Ashburn, VA. GigeNET is offering a free month of service with a new server in Ashburn. Choose from 2 high performing configs, both with 100TB of bandwidth. Higher redundancy.Lower latency.Increased capacity.Completely compliant. http://p.sf.net/sfu/gigenet _______________________________________________ Ltp-list mailing list Ltp-list@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/ltp-list