1#!/bin/sh 2# Copyright (c) 2017-2018 Petr Vorel <pvorel@suse.cz> 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, see <http://www.gnu.org/licenses/>. 18# 19# Author: Mitsuru Chinen <mitch@jp.ibm.com> 20 21IF_CMD='ifconfig' 22TST_CLEANUP="if_cleanup_restore" 23. if-lib.sh 24 25CHECK_INTERVAL=${CHECK_INTERVAL:-$(($IF_UPDOWN_TIMES / 20))} 26 27test_body() 28{ 29 local cmd="$CMD" 30 local iface=$(tst_iface) 31 32 tst_res TINFO "'$cmd' ups/downs $iface $IF_UPDOWN_TIMES times" 33 tst_res TINFO "check connectivity interval is $CHECK_INTERVAL" 34 35 local cnt=1 36 while [ $cnt -le $IF_UPDOWN_TIMES ]; do 37 case $cmd in 38 ifconfig) ifconfig $iface down ;; 39 ip) ip link set $iface down ;; 40 esac 41 if [ $? -ne 0 ]; then 42 tst_res TFAIL "Failed to down $iface" 43 return 44 fi 45 46 case $cmd in 47 ifconfig) ifconfig $iface up ;; 48 ip) ip link set $iface up ;; 49 esac 50 if [ $? -ne 0 ]; then 51 tst_res TFAIL "Failed to up $iface" 52 return 53 fi 54 55 check_connectivity_interval $cnt restore_ip || return 56 57 cnt=$(($cnt + 1)) 58 done 59 60 tst_res TPASS "Test is finished correctly" 61} 62 63tst_run 64