Veritas-bu

[Veritas-bu] Network performances dropped since upgrade

2005-02-25 08:10:33
Subject: [Veritas-bu] Network performances dropped since upgrade
From: pkeating AT bank-banque-canada DOT ca (Paul Keating)
Date: Fri, 25 Feb 2005 08:10:33 -0500
LOL
Definitely more robust!
Wouldn't leave you stuck with a headless system with no network
connectivity (Like I've done in the past)
;o)

Paul

> -----Original Message-----
> From: Dave Markham [mailto:dave.markham AT fjserv DOT net] 
> Sent: February 25, 2005 5:22 AM
> To: Paul Keating
> Cc: veritas-bu AT mailman.eng.auburn DOT edu
> Subject: Re: [Veritas-bu] Network performances dropped since upgrade
> 
> 
> To add to this check the network switch is not set to auto 
> negotiation. 
> I have had issues with bge interfaces before where some switches were 
> set incorrectly and the ndd commands defaulted back.
> 
> I work out the instance and set it in a script as below :-
> 
> 
> #!/usr/bin/sh
> 
> #v2.0 21-09-04 Fixed BGE again after testing. DM
> 
> version=`awk '/^#v/ {print $1}' $0| tail -1|cut -c3-6`
> 
> #Set bge/ce interface speed to 100(default) or 1000 Mbps
> speed=100
> 
> do_check_bge()
> {
>         DEV=$1
>         INST=$2
> 
>         echo "+-------------------+"
>         echo ""
>         if [ `ndd $DEV${INST} link_status` = 0 ];then
>                 echo "$DEV${INST} status is down";else
>                 echo "$DEV${INST} status is up"
>         fi
> 
>         if [ `ndd $DEV${INST} link_speed` = 1000 ];then
>                 echo "$DEV${INST} link speed 1000 Mbps";else
>                         if [ `ndd $DEV${INST} link_speed` = 100 ];then
>                                 echo "$DEV${INST} link speed 
> 100 Mbps";else
>                                 echo "$DEV${INST} link speed 10 Mbps"
>                         fi
>         fi
> 
>         if [ `ndd $DEV${INST} link_duplex` = 0 ];then
>                 echo "$DEV${INST} link mode Half-Duplex";else
>                 echo "$DEV${INST} link mode Full-Duplex"
>         fi
> 
>         if [ `ndd $DEV${INST} adv_autoneg_cap` = 0 ];then
>                 echo "$DEV${INST} Auto-Negotiation-OFF";else
>                 echo "$DEV${INST} Auto-Negotiation-ON"
>         fi
>         if [ `ndd $DEV${INST} adv_pause_cap` = 0 ];then
>                 echo "$DEV${INST} PAUSE capability Off(default)";else
>                 echo "$DEV${INST} PAUSE capability On(Send 
> and receive)"
>         fi
>         if [ `ndd $DEV${INST} adv_asym_pause_cap` = 0 ];then
>                 echo "$DEV${INST} Asymetric PAUSE Off(default)";else
>                 echo "$DEV${INST} Asymetric PAUSE On"
>         fi
> }
> 
> do_set_bge()
> {
>         DEV=$1
>         INST=$2
>         SPEED=$3
>         if [ $SPEED = 1000 ];then
>                 echo "Setting $DEV${INST} adv_1000fdx_cap 1"
>                 ndd -set $DEV${INST} adv_1000fdx_cap 1
>                 echo "Setting $DEV${INST} adv_1000hdx_cap 0"
>                 ndd -set $DEV${INST} adv_1000hdx_cap 0
>                 echo "Setting $DEV${INST} adv_100fdx_cap 0"
>                 ndd -set $DEV${INST} adv_100fdx_cap 0
>                 echo "Setting $DEV${INST} adv_100hdx_cap 0"
>                 ndd -set $DEV${INST} adv_100hdx_cap 0
>         fi
>         if [ $SPEED = 100 ];then
>                 echo "Setting $DEV${INST} adv_1000fdx_cap 0"
>                 ndd -set $DEV${INST} adv_1000fdx_cap 0
>                 echo "Setting $DEV${INST} adv_1000hdx_cap 0"
>                 ndd -set $DEV${INST} adv_1000hdx_cap 0
>                 echo "Setting $DEV${INST} adv_100fdx_cap 1"
>                 ndd -set $DEV${INST} adv_100fdx_cap 1
>                 echo "Setting $DEV${INST} adv_100hdx_cap 0"
>                 ndd -set $DEV${INST} adv_100hdx_cap 0
>         fi
>         echo "Setting $DEV${INST} adv_autoneg_cap 0"
>         ndd -set $DEV${INST} adv_autoneg_cap 0
>         echo "Setting $DEV${INST} adv_pause_cap 0"
>         ndd -set $DEV${INST} adv_pause_cap 0
>         echo "Setting $DEV${INST} adv_asym_pause_cap 0"
>         ndd -set $DEV${INST} adv_asym_pause_cap 0
> }
> 
> # Workings
> 
> case "$1" in
> 'check')
> 
>         # Check bge or ce speed
>         if [ $speed -ne 100 ];then
>                 if [ $speed -ne 1000 ];then
>                         echo "ERROR: bge/ce interface speed not set 
> correctly."
>                         echo "Adjust 'speed=' at beginning of script. 
> (Default = 100)"
>                         exit
>                 fi
>                 y=y # Remove if can sort or loop above
>         fi
> 
>        ### BGe gigabit interface different
>         BGE_=`nawk '$NF == "\"bge\"" {print $2}' 
> /etc/path_to_inst | uniq`
>         if [ "$BGE_" != "" ];then
>                 echo ""
>                 echo "NOTE:\nIf adv_asym_pause_cap = 1 
> adv_pause_cap = 1 
> pauses are received"
>                 echo "If adv_asym_pause_cap = 1 adv_pause_cap 
> = 0 pauses 
> are transmitted"
>                 for x in ${BGE_};do
>                         do_check_bge /dev/bge $x $speed
>                 done
> 
>                 ANS=`ckyorn -p "Do you want to force all nics $speed 
> Mbps , Full-Duplex, Auto Negotiation
> off?~"`
>                 if [ $ANS = y ] || [ $ANS = Y ] || [ $ANS = 
> YES ] || [ 
> $ANS = yes ];then
>                         echo "Setting Interfaces"
>                         for x in ${BGE_};do
>                                 do_set_bge /dev/bge $x $speed
>                         done
>                 fi
>         fi
> 
> ;;
> 
> 'start')
> 
>         # Check bge speed
>         if [ $speed -ne 100 ];then
>                 if [ $speed -ne 1000 ];then
>                         echo "ERROR: bge interface speed not set 
> correctly.\nAdjust 'speed=' at beginning
> of script. (Default = 100)" |mailx -s "S70report_force_nics startup 
> error" root
>                         exit
>                 fi
>                 y=y
>         fi
> 
>         ### Bge gigabit interface different
>         BGE_=`nawk '$NF == "\"bge\"" {print $2}' 
> /etc/path_to_inst | uniq`
>         if [ "$BGE_" != "" ];then
>                 for x in ${BGE_};do
>                         do_set_bge /dev/bge $x $speed
>                 done
>         fi
> 
> ;;
> 
> 'version')
>         # Display Version info
>         echo ""
>         echo "\t$0 Version[$version]"
>         echo ""
>         exit 0
> ;;
> 
> *)
>         echo "Usage: $0 { check | start | version }"
>         exit 1
> esac
> exit 0
> 
> 
> 
>