X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;f=snmp-mac-port;h=a482e3f7ac64a650236679d235bec7f249dfd6ff;hb=8362f4eaf891497a9cfd036a009d2ff8d460adfa;hp=b49f7e3e1ea0b5c3f34bfd69f0b9491d5e8a57b2;hpb=50e3222000b49db2b60fecdc3ecfd457d8b52223;p=dell-switch diff --git a/snmp-mac-port b/snmp-mac-port index b49f7e3..a482e3f 100755 --- a/snmp-mac-port +++ b/snmp-mac-port @@ -7,9 +7,15 @@ test -d $log || mkdir $log snmp_walk() { ip=$1 - #snmpwalk -O0sUX -v2c -Cc -c $COMMUNITY $ip BRIDGE-MIB::dot1dTpFdbPort | sed -e "s/^[^:]*:/$ip/" -e 's/\].*: / /' | tee $log/$ip + fping $ip 2>>/dev/shm/dead + # Q-BRIDGE-MIB dot1qFdbTable - snmpwalk -O0sUX -v2c -Cc -c $COMMUNITY $ip 1.3.6.1.2.1.17.7.1.2.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 + num=`cat $log/$ip | wc -l` + if [ $num -le 1 ] ; then + # fake vlan using only BRIDGE-MIB::dot1dTpFdbPort + snmpwalk -O0sUX -v2c -Cc -c $COMMUNITY $ip BRIDGE-MIB::dot1dTpFdbPort | sed -e "s/^[^:]*:/$ip -/" -e 's/\].*: / /' | tee -a $log/$ip + fi } if [ ! -z "$1" ] ; then