diff --git a/ChangeLog b/ChangeLog index 3b20be58..8c020488 100644 --- a/ChangeLog +++ b/ChangeLog @@ -23,6 +23,8 @@ version 3.11 L3::Netscreen * Fix Extreme XOS i_vlan_membership - Revert [28bbe0], fix bug with untagged being added to @ret twice (Robert Kerr) + * Skip default CPU management addresses on VSP and 8800/8600 series in + L3::Passport to prevent erroneous duplicate addresses version 3.10 (2013-12-16) diff --git a/Info/Layer3/Passport.pm b/Info/Layer3/Passport.pm index 8db75e88..6af9dd24 100644 --- a/Info/Layer3/Passport.pm +++ b/Info/Layer3/Passport.pm @@ -433,6 +433,10 @@ sub ip_index { foreach my $ip ( keys %$ip_index ) { my $iid = $ip_index->{$ip}; next unless defined $iid; + # Skip VSP default CPU addresses + next if ($ip =~ /^192\.168\.1\.1/); + # Skip default CPU addresses + next if ($ip =~ /^192\.168\.168\.16[89]/); $ip_index{$ip} = $iid; } @@ -447,6 +451,8 @@ sub ip_index { foreach my $cid ( keys %$cpu_ip ) { my $c_ip = $cpu_ip->{$cid}; next unless defined $c_ip; + # Skip default CPU addresses + next if ($c_ip =~ /192\.168\.168\.16[89]/); $ip_index{$c_ip} = $cid; } @@ -467,6 +473,10 @@ sub ip_netmask { my %ip_index; foreach my $iid ( keys %$ip_mask ) { + # Skip VSP default CPU addresses + next if ($iid =~ /^192\.168\.1\./); + # Skip default CPU addresses + next if ($iid =~ /^192\.168\.168\.16[89]/); my $mask = $ip_mask->{$iid}; next unless defined $mask; @@ -485,6 +495,8 @@ sub ip_netmask { foreach my $iid ( keys %$cpu_mask ) { my $c_ip = $cpu_ip->{$iid}; next unless defined $c_ip; + # Skip default CPU addresses + next if ($c_ip =~ /192\.168\.168\.16[89]/); my $c_mask = $cpu_mask->{$iid}; next unless defined $c_mask;