X-Git-Url: http://git.rot13.org/?p=dell-switch;a=blobdiff_plain;f=snmp-mac-port;h=8ddf0436d8cfc5504e1118c6b943db193573b4f8;hp=bf7f579f8d12d83352740bc59e3dc8a66d221237;hb=HEAD;hpb=9842667291b5fead4885b63fade90c626c3a088e diff --git a/snmp-mac-port b/snmp-mac-port index bf7f579..7c08066 100755 --- a/snmp-mac-port +++ b/snmp-mac-port @@ -7,8 +7,14 @@ test -d $log || mkdir $log snmp_walk() { ip=$1 + if ! fping $ip 2>>/dev/shm/dead ; then + echo "ERROR: $ip" + return + fi + # Q-BRIDGE-MIB dot1qFdbTable - snmpbulkwalk -O0sUX -v2c -Cc -c $COMMUNITY $ip 1.3.6.1.2.1.17.7.1.2.2.1.2 | sed -e 's/.*7\.1\.2\.2\.[0-9]\.[0-9]\.//' -e 's/ = [^:]*: / /' -e 's/\./ /g' | awk -v name=$ip '{ printf "%s %d %02x:%02x:%02x:%02x:%02x:%02x %d\n", name, $1, $2,$3,$4,$5,$6,$7, $8 }' | tee $log/$ip + #snmpbulkwalk -O0sUX -v2c -Cc -c $COMMUNITY $ip 1.3.6.1.2.1.17.7.1.2.2.1.2 | sed -e 's/.*7\.1\.2\.2\.[0-9]\.[0-9]\.//' -e 's/ = [^:]*: / /' -e 's/\./ /g' | awk -v name=$ip '{ printf "%s %d %02x:%02x:%02x:%02x:%02x:%02x %d\n", name, $1, $2,$3,$4,$5,$6,$7, $8 }' | tee $log/$ip + snmpbulkwalk -O0sUX -v2c -Cc -c $COMMUNITY $ip dot1qTpFdbPort | tr '[' ' ' | tr -d ']' | awk -v name=$ip '{ printf "%s %d %s %d\n",name,$2,$4,$7 }' | tee $log/$ip num=`cat $log/$ip | wc -l` if [ $num -le 1 ] ; then # fake vlan using only BRIDGE-MIB::dot1dTpFdbPort @@ -25,6 +31,15 @@ if [ ! -z "$1" ] ; then fi #( ls -d $log.last/* | sed 's/^.*\///' ; ./ips ) | sort -u | while read ip + +if [ ! -z "$1" ] ; then + snmp_walk $1 +fi + +# fetch all switches in parallel +./sw-names | parallel -j 70 $0 +exit 0 + ./sw-names | while read ip do echo "## $ip"