Add chassis info to psuedo ENTITY-MIB methods

This commit is contained in:
Eric Miller
2007-10-10 03:35:11 +00:00
parent 4af016ea4f
commit af038c491b

View File

@@ -514,10 +514,13 @@ sub e_index {
my $rc_ps_t = $passport->rc_ps_type() || {}; my $rc_ps_t = $passport->rc_ps_type() || {};
# We're going to hack an index: Slot/Mda/Postion # We're going to hack an index: Slot/Mda/Postion
# We're going to put power supplies in a slot # We're going to put chassis and power supplies in a slot
# which doesn't exist # which doesn't exist
my %rc_e_index; my %rc_e_index;
# Make up a chassis index
$rc_e_index{1} = 1;
# Power supplies are common, handle them first # Power supplies are common, handle them first
foreach my $idx (keys %$rc_ps_t){ foreach my $idx (keys %$rc_ps_t){
next unless $idx; next unless $idx;
@@ -575,7 +578,10 @@ sub e_class {
my %rc_e_class; my %rc_e_class;
foreach my $iid (keys %$rc_e_idx){ foreach my $iid (keys %$rc_e_idx){
if ($iid =~/^9/) { if ($iid == 1) {
$rc_e_class{$iid} = 'chassis';
}
elsif ($iid =~/^9/) {
$rc_e_class{$iid} = 'powerSupply'; $rc_e_class{$iid} = 'powerSupply';
} }
elsif ($iid =~/00$/) { elsif ($iid =~/00$/) {
@@ -593,8 +599,14 @@ sub e_descr {
my $model = $passport->model(); my $model = $passport->model();
my $rc_ps = $passport->rc_ps_detail() || {}; my $rc_ps = $passport->rc_ps_detail() || {};
my $rc_ch = $passport->rcChasType();
$rc_ch =~ s/a//;
my %rc_e_descr; my %rc_e_descr;
# Chassis
$rc_e_descr{1} = $rc_ch;
# Power supplies are common, handle them first # Power supplies are common, handle them first
foreach my $idx (keys %$rc_ps){ foreach my $idx (keys %$rc_ps){
next unless $idx; next unless $idx;
@@ -654,8 +666,14 @@ sub e_type {
my $model = $passport->model(); my $model = $passport->model();
my $rc_ps = $passport->rc_ps_type() || {}; my $rc_ps = $passport->rc_ps_type() || {};
my $rc_ch = $passport->rcChasType();
$rc_ch =~ s/a//;
my %rc_e_type; my %rc_e_type;
# Chassis
$rc_e_type{1} = $rc_ch;
# Power supplies are common, handle them first # Power supplies are common, handle them first
foreach my $idx (keys %$rc_ps){ foreach my $idx (keys %$rc_ps){
next unless $idx; next unless $idx;
@@ -717,6 +735,10 @@ sub e_hwver {
my $rc_ps = $passport->rc_ps_rev() || {}; my $rc_ps = $passport->rc_ps_rev() || {};
my %rc_e_hwver; my %rc_e_hwver;
# Chassis
$rc_e_hwver{1} = $passport->rc_ch_rev();
# Power supplies are common, handle them first # Power supplies are common, handle them first
foreach my $idx (keys %$rc_ps){ foreach my $idx (keys %$rc_ps){
next unless $idx; next unless $idx;
@@ -786,6 +808,10 @@ sub e_serial {
my $rc_ps = $passport->rc_ps_serial() || {}; my $rc_ps = $passport->rc_ps_serial() || {};
my %rc_e_serial; my %rc_e_serial;
# Chassis
$rc_e_serial{1} = $passport->rc_serial();
# Power supplies are common, handle them first # Power supplies are common, handle them first
foreach my $idx (keys %$rc_ps){ foreach my $idx (keys %$rc_ps){
next unless $idx; next unless $idx;
@@ -844,6 +870,10 @@ sub e_pos {
my %rc_e_pos; my %rc_e_pos;
foreach my $iid (keys %$rc_e_idx){ foreach my $iid (keys %$rc_e_idx){
next unless $iid; next unless $iid;
if ($iid == 1) {
$rc_e_pos{$iid} = -1;
next;
}
my $sub = substr($iid, -1); my $sub = substr($iid, -1);
my $slot = substr($iid, -6, 2); my $slot = substr($iid, -6, 2);
if ($iid =~/(00){1,2}$/) { if ($iid =~/(00){1,2}$/) {
@@ -864,10 +894,14 @@ sub e_parent {
my %rc_e_parent; my %rc_e_parent;
foreach my $iid (keys %$rc_e_idx){ foreach my $iid (keys %$rc_e_idx){
next unless $iid; next unless $iid;
if ($iid == 1) {
$rc_e_parent{$iid} = 0;
next;
}
my $mod = substr($iid, -4, 2); my $mod = substr($iid, -4, 2);
my $slot = substr($iid, -6, 2); my $slot = substr($iid, -6, 2);
if ($iid =~/(00){1,2}$/) { if ($iid =~/(00){1,2}$/) {
$rc_e_parent{$iid} = 0; $rc_e_parent{$iid} = 1;
} }
elsif ($mod != 0) { elsif ($mod != 0) {
$rc_e_parent{$iid} = "$slot"."$mod"."00"; $rc_e_parent{$iid} = "$slot"."$mod"."00";