#!./tclnm

set targets "
	nm-hx
	nm-hx1
	nm-sa
	nm-sc
	nm-e01
	nm-e04
	nm-e07
	nm-e10
	nm-b0s
	nm-b03
	nm-a02
	nm-a05
	nm-g01
	nm-d
	nm-spt
	"

set targets "
	nm-hx
	"

snmp default pdu prefix \
	.iso.org.dod.internet.private.enterprises.synoptics.products

set p [snmp mkpdu -l {
    .iso.org.dod.internet.mgmt.mib-2.system.sysUpTime.0
    series3000.s3000Ethernet.s3000EnetConcentrator.s3EnetConcFrmsRxOk.0
    series3000.s3000Ethernet.s3000EnetConcentrator.s3EnetConcOctetsRxOk.0
    series3000.s3000Ethernet.s3000EnetConcentrator.s3EnetConcMcastFrmsRxOk.0
    series3000.s3000Ethernet.s3000EnetConcentrator.s3EnetConcBcastFrmsRxOk.0
    series3000.s3000Ethernet.s3000EnetConcentrator.s3EnetConcColls.0
    }]

foreach i $targets {
    set s($i) [snmp open $i]
    snmp get $s($i) -mf "" -v -P $p o($i)
}
sleep 2

while {1} {
    set l 1
    foreach i $targets {
    snmp get $s($i) -mf "" -v -P $p v
	set dt [expr ([lindex $v 0]-[lindex $o($i) 0])/100]
	set fr [expr ([lindex $v 1]-[lindex $o($i) 1])/$dt]
	set by [expr ([lindex $v 2]-[lindex $o($i) 2])/$dt]
	set mc [expr ([lindex $v 3]-[lindex $o($i) 3])/$dt]
	set br [expr ([lindex $v 4]-[lindex $o($i) 4])/$dt]
	set co [expr ([lindex $v 5]-[lindex $o($i) 5])/$dt]
	puts stdout "$by $fr"
	flush stdout
	#puts stdout "[format "%s %g %g %g %g %g %g %g" \
	#   $i $dt $fr $by $mc $br $co [expr $by/12500]]"
	set o($i) $v
    }
    sleep 5
}
