blob: 54bd6e6dbca0966d12450f3d982afd246f6fabc3 [file] [log] [blame]
#!/bin/sh
################################################################################
## ##
## Copyright (c) International Business Machines Corp., 2008 ##
## ##
## 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA ##
## ##
## Author: Veerendra <veeren@linux.vnet.ibm.com> ##
################################################################################
# This test scripts passes the PID of the child NS to the parent NS.
# Also it assigns the device address and starts the sshd daemon
# It checks for basic network connection between parent and child.
# It renames the network device of the child
#
# Arguments: Accepts an argument 'script' and executes on top of this
################################################################################
#set -x
# The test case ID, the test case count and the total number of test case
TCID=${TCID:-childipv6.sh}
TST_TOTAL=1
TST_COUNT=1
export TCID
export TST_COUNT
export TST_TOTAL
. initialize.sh
status=0
# Passing the PID of child
echo $$ > /tmp/FIFO1
# waiting for the virt-eth devname and IPv6 addr from parent
vnet1=`cat /tmp/FIFO2`
# Assigning the dev addresses
ifconfig $vnet1 $IP2/24 up > /dev/null 2>&1
ifconfig lo up
sleep 2
#starting the sshd inside the child NS
/usr/sbin/sshd -p $PORT
if [ $? = 0 ]; then
debug "INFO: started the sshd @ port no $PORT"
sshpid=`ps -ef | grep "sshd -p $PORT" | awk '{ print $2 ; exit 0} ' `
else
tst_resm TFAIL "Failed in starting ssh @ port $PORT"
status=1
fi
childIPv6=`ip -6 addr show dev $vnet1 | awk ' /inet6/ { print $2 } ' | awk -F"/" ' { print $1 } '`
echo $childIPv6 >> /tmp/FIFO3
parIPv6=`cat /tmp/FIFO4`
debug "INFO: Received the Ipv6 addr $parIPv6"
# checking if parent ns responding
ping6 -I $vnet1 -qc 2 $parIPv6 >/dev/null 2>&1
if [ $? = 0 ] ; then
tst_resm TINFO "IPv6: Pinging Parent from Child: PASS"
else
tst_resm TFAIL "IPv6: Pinging Parent from Child: FAIL"
status=1
fi
echo $status > /tmp/FIFO6
debug "INFO: Done with executing child script $0"
cleanup $sshpid $vnet1
exit $status