Support for dual speed 10/100 hubs

This commit is contained in:
Eric Miller
2006-09-29 03:18:57 +00:00
parent d46842bd8e
commit 88890649bf

View File

@@ -64,6 +64,10 @@ use vars qw/$VERSION %FUNCS %GLOBALS %MIBS %MUNGE $AUTOLOAD $INIT $DEBUG/;
'bayhub_pp_index' => 's5EnPortIndx', 'bayhub_pp_index' => 's5EnPortIndx',
'bayhub_up_admin' => 's5EnPortPartStatus', 'bayhub_up_admin' => 's5EnPortPartStatus',
'bayhub_up' => 's5EnPortLinkStatus', 'bayhub_up' => 's5EnPortLinkStatus',
# S5-ETHERNET-COMMON-MIB::s5EnPortExtTable
'bayhub_p_speed' => 's5EnPortExtActiveSpeed',
'bayhub_p_cap' => 's5EnPortExtHwCapability',
'bayhub_p_adv' => 's5EnPortExtAutoNegAdv',
# S5-COMMON-STATS-MIB::s5CmSNodeTable # S5-COMMON-STATS-MIB::s5CmSNodeTable
'bayhub_nb_index' => 's5CmSNodeBrdIndx', 'bayhub_nb_index' => 's5CmSNodeBrdIndx',
'bayhub_np_index' => 's5CmSNodePortIndx', 'bayhub_np_index' => 's5CmSNodePortIndx',
@@ -96,7 +100,7 @@ sub model {
return $id unless defined $model; return $id unless defined $model;
$model =~ s/^sreg-//i; $model =~ s/^sreg-//i;
return 'Baystack Hub' if ($model =~ /BayStackEth/); return 'Baystack Hub' if ($model =~ /BayStack/);
return '5000' if ($model =~ /5000/); return '5000' if ($model =~ /5000/);
return '5005' if ($model =~ /5005/); return '5005' if ($model =~ /5005/);
return $model; return $model;
@@ -111,7 +115,7 @@ sub i_index {
my $b_index = $bayhub->bayhub_pb_index($partial) || {}; my $b_index = $bayhub->bayhub_pb_index($partial) || {};
my $p_index = $bayhub->bayhub_pp_index($partial) || {}; my $p_index = $bayhub->bayhub_pp_index($partial) || {};
my $model = $bayhub->model(); my $model = $bayhub->model() || 'Baystack Hub';
my %i_index; my %i_index;
foreach my $iid (keys %$b_index){ foreach my $iid (keys %$b_index){
@@ -207,14 +211,17 @@ sub i_speed {
my $partial = shift; my $partial = shift;
my $port_index = $bayhub->i_index() || {}; my $port_index = $bayhub->i_index() || {};
my $port_speed = $bayhub->bayhub_p_speed() || {};
my %i_speed; my %i_speed;
foreach my $iid (keys %$port_index){ foreach my $iid (keys %$port_index){
my $index = $port_index->{$iid}; my $index = $port_index->{$iid};
next unless defined $index; next unless defined $index;
next if (defined $partial and $index !~ /^$partial$/); next if (defined $partial and $index !~ /^$partial$/);
my $speed = $port_speed->{$iid} || '10 Mbps';
my $speed = '10 Mbps'; $speed = '10 Mbps' if $speed =~ /bps10M/i;
$speed = '100 Mbps' if $speed =~ /bps100M/i;
$i_speed{$index}=$speed; $i_speed{$index}=$speed;
} }
return \%i_speed; return \%i_speed;
@@ -289,7 +296,7 @@ sub bp_index {
my $b_index = $bayhub->bayhub_nb_index() || {}; my $b_index = $bayhub->bayhub_nb_index() || {};
my $p_index = $bayhub->bayhub_np_index() || {}; my $p_index = $bayhub->bayhub_np_index() || {};
my $model = $bayhub->model(); my $model = $bayhub->model() || 'Baystack Hub';
my %bp_index; my %bp_index;
foreach my $iid (keys %$b_index){ foreach my $iid (keys %$b_index){
@@ -324,7 +331,7 @@ sub fw_port {
my $b_index = $bayhub->bayhub_nb_index($partial) || {}; my $b_index = $bayhub->bayhub_nb_index($partial) || {};
my $p_index = $bayhub->bayhub_np_index($partial) || {}; my $p_index = $bayhub->bayhub_np_index($partial) || {};
my $model = $bayhub->model(); my $model = $bayhub->model() || 'Baystack Hub';
my %fw_port; my %fw_port;
foreach my $iid (keys %$b_index){ foreach my $iid (keys %$b_index){
@@ -448,7 +455,7 @@ Returns 'bay_hub'
Cross references $bayhub->id() to the SYNOPTICS-MIB and returns Cross references $bayhub->id() to the SYNOPTICS-MIB and returns
the results. the results.
Removes sreg- from the model name Removes either Baystack Hub, 5000, or 5005 depending on the model.
=back =back
@@ -514,7 +521,7 @@ Returns half, hubs do not support full duplex.
=item $bayhub->i_speed() =item $bayhub->i_speed()
Currently returns 10 Mbps. The class does not currently support 100 Mbps hubs. Returns interface speed.
=item $bayhub->i_up() =item $bayhub->i_up()