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')
|
my $master = schema('netdisco')->resultset('DevicePort')
|
||||||
->single({ip => $device->ip, port => $portrow->slave_of})) {
|
->single({ip => $device->ip, port => $portrow->slave_of})) {
|
||||||
|
|
||||||
# TODO needs refactoring - this is quite expensive
|
if (not ($portrow->is_master or defined $master->slave_of)) {
|
||||||
my $peer = schema('netdisco')->resultset('DevicePort')->find({
|
# TODO needs refactoring - this is quite expensive
|
||||||
ip => $portrow->neighbor->ip,
|
my $peer = schema('netdisco')->resultset('DevicePort')->find({
|
||||||
port => $portrow->remote_port,
|
ip => $portrow->neighbor->ip,
|
||||||
}) if $portrow->neighbor;
|
port => $portrow->remote_port,
|
||||||
|
}) if $portrow->neighbor;
|
||||||
|
|
||||||
$master->update({
|
$master->update({
|
||||||
remote_ip => ($peer ? $peer->ip : $remote_ip),
|
remote_ip => ($peer ? $peer->ip : $remote_ip),
|
||||||
remote_port => ($peer ? $peer->slave_of : undef ),
|
remote_port => ($peer ? $peer->slave_of : undef ),
|
||||||
is_uplink => \"true",
|
is_uplink => \"true",
|
||||||
manual_topo => \"false",
|
manual_topo => \"false",
|
||||||
});
|
});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user