home *** CD-ROM | disk | FTP | other *** search
/ ftp.jcu.edu.au / 2014.06.ftp.jcu.edu.au.tar / ftp.jcu.edu.au / v6.3.2b / SWBD63 / fabos-6.3.2b-10.ppc.rpm / fabos-6.3.2b.10.cpio.gz / fabos-6.3.2b.10.cpio / fabos / cliexec / ifmodeshow < prev    next >
Text File  |  2010-11-10  |  2KB  |  100 lines

  1. #!/bin/bash
  2. #
  3. # Emulate the ifModeShow command on the 4.0 Linux-based switches.
  4. #
  5.  
  6. SWBD=`/sbin/sin | /bin/sed -n -e 's/^.\+\(SWBD\)\([[:digit:]]\{1,\}\).\+$/\2/gp' 2> /dev/null`
  7.  
  8. IFACE=$1
  9. if [ "$IFACE" = "" ]; then
  10.         echo "Usage:     ifModeShow <interface>"
  11.         echo "Example:   ifModeShow \"eth0\""
  12.         exit 1
  13. fi
  14.  
  15. # bonding enable only on zentron
  16. if [ $SWBD = 62 -o $SWBD = 77 ]; then
  17.     if [ "$IFACE" != "eth0" ] && [ "$IFACE" != "eth3" ] \
  18.         && [ "$IFACE" != "bond0" ]; then
  19.         echo "ifModeShow can only be used with eth0, eth3 or bond0."
  20.         exit 1
  21.     fi
  22. else
  23.     if [ "$IFACE" != "eth0" ]; then
  24.         echo "ifModeShow can only be used with eth0."
  25.         exit 1
  26.     fi
  27. fi
  28.  
  29. if [ "$IFACE" = "bond0" ]; then
  30.     /bin/cat /proc/net/bonding/bond0 | /bin/grep "Currently Active Slave"
  31.     exit 0
  32. fi
  33.  
  34. # populate $1,$2,$3,$4,$5,$6 with output of ethmode
  35. set -- `/fabos/libexec/ethmode "$IFACE"`
  36.  
  37. # assign some more readable variable names
  38. AUTONEG=$2
  39. LINK=$5
  40. CURRENT=$6
  41.  
  42. # strings reported to user in forced mode
  43. FORCED_HALF="half duplex"
  44. FORCED_FULL="full duplex"
  45. FORCED_10="10 Mbit"
  46. FORCED_100="100 Mbit"
  47.  
  48. if [ "$LINK" -eq 0 ]; then
  49.     LINK_STRING="no link"
  50. else
  51.     LINK_STRING="link ok"
  52. fi
  53.  
  54. if [ "$AUTONEG" -eq 0 ]; then
  55.     if [ "$CURRENT" -eq 1 ]; then
  56.         FORCED_DUPLEX=$FORCED_HALF
  57.         FORCED_SPEED=$FORCED_10
  58.     elif [ "$CURRENT" -eq 2 ]; then
  59.         FORCED_DUPLEX=$FORCED_FULL
  60.         FORCED_SPEED=$FORCED_10
  61.     elif [ "$CURRENT" -eq 4 ]; then
  62.         FORCED_DUPLEX=$FORCED_HALF
  63.         FORCED_SPEED=$FORCED_100
  64.     elif [ "$CURRENT" -eq 8 ]; then
  65.         FORCED_DUPLEX=$FORCED_FULL
  66.         FORCED_SPEED=$FORCED_100
  67.     else
  68.         FORCED_SPEED="speed undetermined"
  69.         FORCED_DUPLEX="duplex undetermined"
  70.     fi
  71.     echo "Link mode:" $FORCED_SPEED"," $FORCED_DUPLEX"," $LINK_STRING
  72. else
  73.     if [ "$LINK" -eq 0 ]; then
  74.         echo "Link mode:" $LINK_STRING
  75.     else
  76.         if [ "$CURRENT" -eq 1 ]; then
  77.             AUTO_MODE="10baseT-HD"
  78.         elif [ "$CURRENT" -eq 2 ]; then
  79.             AUTO_MODE="10baseT-FD"
  80.         elif [ "$CURRENT" -eq 4 ]; then
  81.             AUTO_MODE="100baseTx-HD"
  82.         elif [ "$CURRENT" -eq 8 ]; then
  83.             AUTO_MODE="100baseTx-FD"
  84.         elif [ "$CURRENT" -eq 16 ]; then
  85.             AUTO_MODE="1000baseT-HD"
  86.         elif [ "$CURRENT" -eq 32 ]; then
  87.             AUTO_MODE="1000baseT-FD"
  88.         else
  89.             AUTO_MODE="speed and duplex undetermined"
  90.         fi
  91.         echo "Link mode: negotiated" $AUTO_MODE"," $LINK_STRING
  92.     fi
  93. fi
  94.  
  95. S=$(/sbin/ifconfig "$IFACE")
  96. S=${S#*HWaddr }
  97. S=${S%% *}
  98. echo MAC Address: $S
  99. exit 0
  100.