[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Testbed-admins] Nortel SNMP issues: request and announcemnt



Hi,

The request is that I would like to find out the total number of
Nortel 55{1,3}0 switches are in use with emulab-based software/testbeds
so that I can impress on Nortel the importance (and monetary investment)
of fixing and ongoing problem.

When we create many vlans, or vlans with large numbers of ports,
we sometimes wedge the switches, so that they have to be restarted
or power-cycled.

Although we have a maintenance contract with Nortel, the knowledge
that a quarter-million dollars worth of Nortel gear is running
this software among several universities and research groups
might make the wheel squeak louder and get it resolved quicker;
I'ld like some data to back up that assertion.

The announcement is that I have committed a few line patch to
testbed/tbsetup/snmpit_nortel.pm that contends with a change
in the behavior of the Nortel firmware, which uses a different
method in computing the mapping module/port to ifIndex for
firmware releases >= 6.0

You might guess from reading this that merely upgrading to current
firmware did not solve the problem, and created another minor one ;-(

Regards,

Keith Sklower

--- snmpit_nortel.pm.prev       2008-10-11 01:56:44.000000000 -0700
+++ snmpit_nortel.pm    2009-03-25 12:21:18.000000000 -0700
@@ -165,6 +165,7 @@
        return undef;
 
     }
+    $self->{DESCR} = $test_case;
 
     $self->readifIndex();
 
@@ -502,7 +503,7 @@
     my $self = shift;
     my $vlan_id = shift;
     my $vlan_number = shift;
-    my $id = $self->{NAME} . ":findVlan";
+    my $id = $self->{NAME} . ":createVlan";
 
     if (!defined($vlan_number)) {
        warn "$id called without supplying vlan_number";
@@ -1409,7 +1410,13 @@
     $self->debug($self->{NAME} . "readifIndex:\n",2);
 
     if (getDeviceType($self->{NAME}) =~ /^nortel5/) {
-       ($oidbits, $oidshift) = (63, 6);
+       $self->{DESCR} =~ /SW:v(\d+)\./;
+       my $version = $1;
+       if ($version && ($version > 5)) {
+           ($oidbits, $oidshift) = (127, 7);
+       } else {  
+           ($oidbits, $oidshift) = (63, 6);
+       }
     }
     my ($rows) = snmpitBulkwalkFatal($self->{SESS}, ["rcPortIndex"]);
     foreach my $rowref (@$rows) {