#!/usr/bin/perl
-#
-#
-
use warnings;
use strict;
-use Net::Telnet;
+use lib '../include';
use POSIX;
-my $password = 'removed';
-my $timeout = 15;
my $delaytime = 30;
my $poll_frequency = 60;
-# Send a command to switch and return the data recvied from the switch
-sub switch_exec($$) {
- my ($cmd, $conn) = @_;
-
- # Send the command and get data from switch
- my @data = $conn->cmd($cmd);
- my @lines = ();
- foreach my $line (@data) {
- # Remove escape-7 sequence
- $line =~ s/\x1b\x37//g;
- push (@lines, $line);
- }
-
- return @lines;
-}
-
-sub switch_connect($) {
- my ($ip) = @_;
-
-# Dump_Log => '/tmp/dumplog-queue',
- my $conn = new Net::Telnet( Timeout => $timeout,
- Errmode => 'return',
- Prompt => '/(es3024|e\d+\-\dsw)>/i');
- my $ret = $conn->open( Host => $ip);
- if (!$ret || $ret != 1) {
- return (undef);
- }
- # XXX: Just send the password as text, I did not figure out how to
- # handle authentication with only password through $conn->login().
- #$conn->login(»·Prompt => '/password[: ]*$/i',
- # Name => $password,
- # Password => $password);
- $conn->cmd($password);
- # Get rid of banner
- $conn->get;
- return ($conn);
-}
-
sub mylog {
my $msg = shift;
my $time = POSIX::ctime(time);
"./ssendfile.pl addr configfile\n");
}
-my $conn = switch_connect($ARGV[0]);
+my $conn = nms::switch_connect($ARGV[0]);
if (!defined($conn)) {
die("Could not connect to switch.\n");
}
# print "New ip: $1\n";
# $conn->cmd( String => $cmd,
# Timeout => 3);
-# $conn = switch_connect($1);
+# $conn = nms::switch_connect($1);
# if (!defined($conn)) {
# die "Could not connect to new ip: $1\n";
# }
# }
# else {
- my @data = switch_exec($cmd, $conn);
+ my @data = nms::switch_exec($cmd, $conn);
foreach my $line (@data) {
$line =~ s/[\r\n]+//g;
print "$line\n";