1#!/bin/sh 2 3if [ -f /etc/sysconfig/network ]; then 4. /etc/sysconfig/network 5fi 6 7ib_sysfs="/sys/class/infiniband" 8newname="$HOSTNAME" 9 10 11function usage 12{ 13 echo "Usage: `basename $0` [-hv] [<name>]" 14 echo " set the node_desc field of all hca's found in \"$ib_sysfs\"" 15 echo " -h this help" 16 echo " -v view all node descriptors" 17 echo " [<name>] set name to name specified." 18 echo " Default is to use the hostname: \"$HOSTNAME\"" 19 exit 2 20} 21 22function viewall 23{ 24 for hca in `ls $ib_sysfs`; do 25 if [ -f $ib_sysfs/$hca/node_desc ]; then 26 echo -n "$hca: " 27 cat $ib_sysfs/$hca/node_desc 28 else 29 logger -s "Failed to set node_desc for : $hca" 30 fi 31 done 32 exit 0 33} 34 35while getopts "hv" flag 36do 37 case $flag in 38 "h") usage;; 39 "v") viewall;; 40 esac 41done 42 43shift $(($OPTIND - 1)) 44 45if [ "$1" != "" ]; then 46 newname="$1" 47fi 48 49for hca in `ls $ib_sysfs`; do 50 if [ -f $ib_sysfs/$hca/node_desc ]; then 51 echo -n "$newname" >> $ib_sysfs/$hca/node_desc 52 else 53 logger -s "Failed to set node_desc for : $hca" 54 fi 55done 56 57exit 0 58