fallback to BRIDGE-MIB::dot1dTpFdbPort
authorDobrica Pavlinusic <dpavlin@rot13.org>
Sat, 23 Jun 2018 12:22:38 +0000 (14:22 +0200)
committerDobrica Pavlinusic <dpavlin@rot13.org>
Sat, 23 Jun 2018 12:22:38 +0000 (14:22 +0200)
snmp-mac-port

index db0e0bf..bf7f579 100755 (executable)
@@ -7,9 +7,13 @@ 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
        # 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
+       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