Server Fault is a question and answer site for system and network administrators. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

have been redirected from

We have a Suse Linux 11 server with network bonding which we named DBSERVER.

With the following script running on another similar machine named CLIENTMACHINE, we observe no errors when pointing the script toward DBSERVER:

(begin script)


 # parameter: IP address 

 if [ ${#*} != 1 ]
  echo "Need one parameter: IP address"
  exit 1

 echo "Please monitor log with command tail -f /root/bin/report_ping_${1}.txt"

 echo "Script began at `date +'%Y-%m-%d %T'`" >> /root/bin/report_ping_${1}.txt

 while [ 1 ]
  RESULT=`ping -c 1 "${1}" | grep transmitted`
  #echo "RESULT is ${RESULT}"

  PERCENTAGE_LOST=`echo $RESULT | awk '{ print $6 }'`


  if [ "${NUMBER_LOST}" != "0" ]
   echo "${PERCENTAGE_LOST} lost for ${1} at `date +'%Y-%m-%d %T'`" >> /root/bin/report_ping_${1}.txt

(end script)

However if we use the same script pointing from DBSERVER to CLIENTMACHINE, we observe errors in the log.

Any suggestions on what to check for?

Thanks in advance,


Forgot to say errors are intermittent! Works most of the time.

share|improve this question

You could try running tcpdump or tshark while running your script with

tcpdump -i eth0 -n -p icmp

Somewhere you should see the tcpdump output stop at either an outbound ping request or an inbound ping reply. This, of course, you can do on both the client and the server and see if both machines request and answer correctly. Since you're using bonding, you might want to tail -f /var/log/syslog or /var/log/messages and see if the kernel logs something about the bond failing over to the slave NIC.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.