From 223c616cb0560c0a8ba92759ebb7c268e430f294 Mon Sep 17 00:00:00 2001 From: Oliver Gorwits Date: Mon, 1 Apr 2019 23:15:44 +0100 Subject: [PATCH] better var names and change logic to skip port --- lib/App/Netdisco/Worker/Plugin/Discover/VLANs.pm | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/lib/App/Netdisco/Worker/Plugin/Discover/VLANs.pm b/lib/App/Netdisco/Worker/Plugin/Discover/VLANs.pm index 84d0aadf..b11f50a4 100644 --- a/lib/App/Netdisco/Worker/Plugin/Discover/VLANs.pm +++ b/lib/App/Netdisco/Worker/Plugin/Discover/VLANs.pm @@ -33,7 +33,7 @@ register_worker({ phase => 'main', driver => 'snmp' }, sub { # build port vlans suitable for DBIC foreach my $entry (keys %$i_vlan_membership_untagged, keys %$i_vlan_membership) { - my %port_vseen = (); + my %this_port_vlans = (); my $port = $interfaces->{$entry} or next; my $type = $i_vlan_type->{$entry}; @@ -45,7 +45,7 @@ register_worker({ phase => 'main', driver => 'snmp' }, sub { foreach my $vlan (@{ $i_vlan_membership_untagged->{$entry} }) { next unless defined $vlan and $vlan; - next if ++$port_vseen{$vlan} > 1; + next if $this_port_vlans{$vlan}; my $native = ((defined $i_vlan->{$entry}) and ($vlan eq $i_vlan->{$entry})) ? "t" : "f"; push @portvlans, { @@ -56,12 +56,14 @@ register_worker({ phase => 'main', driver => 'snmp' }, sub { vlantype => $type, last_discover => \'now()', }; + + ++$this_port_vlans{$vlan}; ++$p_seen{$vlan}; } foreach my $vlan (@{ $i_vlan_membership->{$entry} }) { next unless defined $vlan and $vlan; - next if ++$port_vseen{$vlan} > 1; + next if $this_port_vlans{$vlan}; my $native = ((defined $i_vlan->{$entry}) and ($vlan eq $i_vlan->{$entry})) ? "t" : "f"; my $egress = ((defined $i_vlan->{$entry}) and ($vlan eq $i_vlan->{$entry})) ? "f" : "t"; @@ -73,6 +75,8 @@ register_worker({ phase => 'main', driver => 'snmp' }, sub { vlantype => $type, last_discover => \'now()', }; + + ++$this_port_vlans{$vlan}; ++$p_seen{$vlan}; } } @@ -90,7 +94,7 @@ register_worker({ phase => 'main', driver => 'snmp' }, sub { my %d_seen = (); my @devicevlans = (); - # add unnamed vlans to the device + # add named vlans to the device foreach my $entry (keys %$v_name) { my $vlan = $v_index->{$entry}; next unless defined $vlan and $vlan;