filter log/ filenames into sw.command
[dell-switch] / snmp-mac-port
index 8143d67..7c08066 100755 (executable)
@@ -7,7 +7,10 @@ test -d $log || mkdir $log
 
 snmp_walk() {
        ip=$1
-       fping $ip 2>>/dev/shm/dead
+       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
@@ -28,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"