#our $session = new Net::Telnet::Cisco(Timeout => 20,ErrMode => 'return');
sub FINAL_CHECK
{
my $session=$_[0];
$session->waitfor('/>/');
my @outputs = $session->cmd("sh vlan");
foreach $items (@outputs)
{
@hits = split(' ',$items);
if(!defined $hits[0])
{
}
elsif($hits[0] eq $vlan_number)
{
$vlaninfos[$aclCounters++] = $items;
}
}
my $lens = $#vlaninfos;
if($lens ne 0)
{
exit_script(" CREATED VLAN SUCESSFULLY ",0);
}
else
{
exit_script(" UNABLE TO CREATE VLAN PLEASE CONTACT NETWORK ADMIN ",18);
}
}
sub CREATE_VLAN_SUB
{
my $session=$_[0];
$session->waitfor('/*#/');
if($vlan_number =~ /^(\d+)/)
{
$session->cmd("vlan $vlan_number");
$session->waitfor('/(config-vlan)/');
$session->cmd("name $vlan_name");
$session->put( "\cZ" );
return $session;
}
else
{
exit_script(" Only numbers are allowed in vlan name=".$vlan_number,17);
}
}
sub CONF_TERMINAL
{
my $session=$_[0];
$session->print($cmd);
$session->print($ena_passwd);
@patten_ch = $session->waitfor('/#/');
if(defined $patten_ch[1])
{
if($patten_ch[1] =~ /#/)
{
logw("VALID ENABLE CREADENTIALS",1);
$session->print("conf t");
return $session;
}
}
else
{
exit_script(" NOT A VALID ENABLE CREDENTIALS=".$ena_passwd,16);
}
}
sub VLAN_CHECK
{
my $session=CONN_DEVICE();
my @output = $session->cmd("sh vlan | i $vlan_number");
foreach $item (@output)
{
@hit = split(' ',$item);
if(!defined $hit[0])
{
}
elsif($hit[0] eq $vlan_number)
{
$vlaninfo[$aclCounter++] = $item;
}
}
my $len = $#vlaninfo;
if($len ge 0)
{
foreach $eachvlan (@vlaninfo)
{
exit_script(" Vlan Alredy exists=".$eachvlan,15);
}
}
else
{
logw("NO VLAN FOUND",1);
$session = &CONF_TERMINAL($session);
$session = &CREATE_VLAN_SUB($session);
$session = &FINAL_CHECK($session);
}
}
sub CONN_DEVICE
{
my $session = new Net::Telnet::Cisco(Timeout => 20, ,ErrMode => 'return');
$session->open($ip);
$session->waitfor('/Username:/');
$session->print($user_name);
$session->print($passwd);
our @patten_chk = $session->waitfor('/>/');
if(defined $patten_chk[1])
{
if($patten_chk[1] =~ />/)
{
# print "Valid Creadentials ";
logw("Valid Creadentials",1);
return $session;
}
}
else
{
# print "Not valid user credentials";
exit_script("Unable to conn to device"." Possible root cause \n 1.Not valid credentials \n 2.Not valid device ip",13);
}
}
sub IP_VALIDATION
{
if($ip=~/^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/ &&(($1<=255 && $2<=255 && $3<=255 &&$4<=255 )))
{
logw("valid ip conn to device $ip ",1);
}
else
{
exit_script("Not a Valid ip=".$ip,12);
}
}
&IP_VALIDATION;
&VLAN_CHECK;
###################################################################
No comments:
Post a Comment