#!/bin/ksh #--------------------------------------------------- # @(#) ken_ndd.sh 1.2@(#) (01/02/00) # SYNOPSIS: # ken_ndd.sh - display network tunable parameters # # INPUT: # arg1: [ tcp | ip | icmp | arp | udp ] (optional) # # OUTPUT: # stdout: one line per tunable parameter; field one is # parameter name; field two is current value # # PROCESSING: # use "ndd" to obtain list of paraeters for each network # device type. Then use "ndd" to obtain the current value # for each. Then use awk to format line # # MODIFICATIONS: # #--------------------------------------------------- set -a LOG=/tmp/ndd_$(hostname).$(date +%y%m%d).log rm ${LOG} 2>/dev/null # where are the executables located GREP="/usr/bin/grep" NDD="/usr/sbin/ndd" AWK="/usr/bin/awk" NAWK="/usr/bin/nawk" SORT="/usr/bin/sort" CAT="/usr/bin/cat" LIST="tcp ip icmp udp arp" if [ "$1" != "" ]; then LIST=$1 fi for TYPE in ${LIST} do echo "=============================" >> ${LOG} echo "\t/dev/${TYPE}" >> ${LOG} echo "=============================" >> ${LOG} PARM_LIST=$(${NDD} /dev/${TYPE} \? | ${GREP} "^${TYPE}_" | ${GREP} "read and write" | ${NAWK} '{split($0,a,/[ \t(]/); print a[1]; }' ) TMP_LOG=/tmp/ndd_$(hostname).$$.log rm ${TMP_LOG} 2>/dev/null for PARM in ${PARM_LIST} do echo "${PARM}\t\c" >> ${TMP_LOG} ${NDD} /dev/${TYPE} ${PARM} >> ${TMP_LOG} done ${AWK} '{printf("%-40s %15s\n",$1,$2)}' ${TMP_LOG} | ${SORT} >> ${LOG} echo "" >> ${LOG} done ${CAT} ${LOG}