use Net::Telnet;
package nms;
+
+use base 'Exporter';
+our @EXPORT = qw(switch_connect switch_exec);
+
BEGIN {
require "config.pm";
eval {
sub switch_connect($) {
my ($ip) = @_;
-# Dump_Log => '/tmp/dumplog-queue',
my $conn = new Net::Telnet( Timeout => $nms::config::telnet_timeout,
+# Dump_Log => '/tmp/dumplog-queue',
Errmode => 'return',
- Prompt => '/(es3024|e\d+\-\dsw)>/i');
+# Prompt => '/ES-3023>/');
+ Prompt => '/(ES-3024|e\d{1,2}\-\dsw)>/i');
my $ret = $conn->open( Host => $ip);
if (!$ret || $ret != 1) {
return (undef);
}
# Send a command to switch and return the data recvied from the switch
-sub switch_exec($$) {
- my ($cmd, $conn) = @_;
+sub switch_exec {
+ my ($cmd, $conn, $print) = @_;
# Send the command and get data from switch
- my @data = $conn->cmd($cmd);
+ my @data;
+ if (defined($print)) {
+ $conn->print($cmd);
+ return;
+ } else {
+ @data = $conn->cmd($cmd);
+ }
my @lines = ();
foreach my $line (@data) {
# Remove escape-7 sequence