package HotSaNICmod::OSdep; use RRDs; sub version { ($VERSION = '$Revision: 1.0 $') =~ s/.*(\d+\.\d+).*/$1/; my $platform; foreach (keys(%INC)) { $platform=$_ if $_ =~ /platform/; } return "$platform $VERSION"; } sub sample { #uncomment this for debug output to temp.txt #all print will be done into the file #$temp = "/opt/HotSaNIC/modules/bgp/temp.txt"; #open (TEMPFILE,">$temp"); #open (STDERR,">&TEMPFILE") || die ("open STDERR failed"); #open (STDOUT,">&TEMPFILE") || die ("open STDOUT failed"); my %args=@_; $mtime=(stat("rrd"))[9]; $now=time; utime $now,$now,"rrd"; $IWCONF = $args{IWCONFIG}; $IWLIST = $args{IWLIST}; $hostap = $args{HOSTAP}; my @IFACES=(); my @IFMACS=(); foreach (keys(%args)) { if (index($_,"IFACE:") >=0 ) { (undef,$device)=split /:/; push @IFACES,$device; } } foreach (keys(%args)) { if (index($_,"MAC,") >=0 ) { (undef,$dev,$mac)=split /,/; push @IFMACS,"$dev,$mac"; } } foreach $device (@IFACES) { if ( ! -e "rrd/$device.rrd" ) { system("./makerrd","$device","U") } } # foreach my $asnum = 0; my $pathlen = 0; my $refcnt = 0; my $signal = 0; my $voltage = 0; $command = "cat /tmp/bgp.txt"; open (FILE,"$command|"); while() { $var=$_; if ($var =~ /^10/) { @path=split(" ",$var); $pathlen=scalar(@path); if ($pathlen > 2) { # print "line: $pathlen"; # print "line: $_"; $asnum = $path[$pathlen-2]; $pathlen = $pathlen-2; # print "$asnum $pathlen\n"; if ( ! -e "rrd/$asnum.rrd" ) { system("./makerrd","$asnum","U") } RRDs::update "rrd/$asnum.rrd",time.":".$pathlen.":".$refcnt.":".$signal.":".$voltage; # if ($ERROR = RRDs::error) { print time," ",$MODNAME,": unable to update `$asnum.rrd': $ERROR"; } if ($ERROR = RRDs::error) { print time," bgp: unable to update `$asnum.rrd': $ERROR\n"; } $pathlen = 0; } } } # while close(FILE); #uncomment this for debug output to temp.txt #all print will be done into the file # close (TEMPFILE); # close (STDERR); # close (STDOUT); } 1; WebSVN - hotsanic - Blame - Rev 18 - /trunk/modules/bgp/platform/default.pm
  jablonka.czprosek.czf

hotsanic

Subversion Repositories:
[/] [trunk/] [modules/] [bgp/] [platform/] [default.pm] - Blame information for rev 18

 

Line No. Rev Author Line

Powered by WebSVN 2.2.1