do not set master neigh if master is a slave
This commit is contained in:
		| @@ -792,18 +792,20 @@ sub store_neighbors { | ||||
|           my $master = schema('netdisco')->resultset('DevicePort') | ||||
|               ->single({ip => $device->ip, port => $portrow->slave_of})) { | ||||
|  | ||||
|           # TODO needs refactoring - this is quite expensive | ||||
|           my $peer = schema('netdisco')->resultset('DevicePort')->find({ | ||||
|               ip   => $portrow->neighbor->ip, | ||||
|               port => $portrow->remote_port, | ||||
|           }) if $portrow->neighbor; | ||||
|           if (not ($portrow->is_master or defined $master->slave_of)) { | ||||
|               # TODO needs refactoring - this is quite expensive | ||||
|               my $peer = schema('netdisco')->resultset('DevicePort')->find({ | ||||
|                   ip   => $portrow->neighbor->ip, | ||||
|                   port => $portrow->remote_port, | ||||
|               }) if $portrow->neighbor; | ||||
|  | ||||
|           $master->update({ | ||||
|             remote_ip => ($peer ? $peer->ip : $remote_ip), | ||||
|             remote_port => ($peer ? $peer->slave_of : undef ), | ||||
|             is_uplink => \"true", | ||||
|             manual_topo => \"false", | ||||
|           }); | ||||
|               $master->update({ | ||||
|                   remote_ip => ($peer ? $peer->ip : $remote_ip), | ||||
|                   remote_port => ($peer ? $peer->slave_of : undef ), | ||||
|                   is_uplink => \"true", | ||||
|                   manual_topo => \"false", | ||||
|               }); | ||||
|           } | ||||
|       } | ||||
|   } | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user