From 6deceb6bd176c8036164a53a8b5e1b23e762ccf2 Mon Sep 17 00:00:00 2001 From: Brian de Wolf <> Date: Tue, 25 May 2010 23:30:20 +0000 Subject: [PATCH] Fix for C1900 bp_index not containing interfaces. --- ChangeLog | 2 ++ Info/Layer2/C1900.pm | 19 +++++++++++++++++++ 2 files changed, 21 insertions(+) diff --git a/ChangeLog b/ChangeLog index f6ace254..61cbe1fa 100644 --- a/ChangeLog +++ b/ChangeLog @@ -10,6 +10,8 @@ version 2.02 () + Added L3::Pf for FreeBSD PFSense Firewalls (max) * Added specific functions for neighbor mgmt addresses to CDP class * Implemented os_bin() method in CiscoStats + + [2980787] Fix for C1900 bp_index not containing interfaces. + (Brian De Wolf) version 2.01 (06/12/09) + Added CiscoStpExtensions Class (Carlos Vicente) diff --git a/Info/Layer2/C1900.pm b/Info/Layer2/C1900.pm index a5288559..3224e6d9 100644 --- a/Info/Layer2/C1900.pm +++ b/Info/Layer2/C1900.pm @@ -251,6 +251,18 @@ sub i_vlan_membership { return $i_vlan_membership; } +sub bp_index { + my $c1900 = shift; + my $partial = shift; + + my $if_index = $c1900->i_index($partial); + my $index = $c1900->orig_bp_index($partial) || {}; + foreach my $iid ( keys %$if_index ) { + $index->{$iid} = $iid if(!defined $index->{$iid}); + } + return $index; +} + 1; __END__ @@ -432,6 +444,13 @@ bridge group IDs. print "Port: $port VLAN: $vlan\n"; } + +=item $c1900->bp_index() + +Returns a bp_index that contains the original bp_index entries and extra +entries for those interfaces listed in if_index, as some C1900 devices do not +return complete bp_indexes. + =back =head2 F Switch Port Table Entries: