X-Git-Url: http://gb7djk.dxcluster.net/gitweb/gitweb.cgi?a=blobdiff_plain;f=perl%2FDXProtHandle.pm;h=5e3f0597d9405d2279ad1d7fab742a3da36b39ff;hb=387b0fecfd3b200cb9c6094103954c2c0ebad7c6;hp=9a4104e5c8ad70d4d4f81bacef83fc4ea3a8e746;hpb=e4a8ea5a407f640bc6e1efd6ef6b5f88f8f0980a;p=spider.git diff --git a/perl/DXProtHandle.pm b/perl/DXProtHandle.pm index 9a4104e5..5e3f0597 100644 --- a/perl/DXProtHandle.pm +++ b/perl/DXProtHandle.pm @@ -1560,12 +1560,14 @@ sub handle_92 dbg("PCPROT: $call looped back onto $main::mycall, ignored") if isdbg('chanerr'); return; } + # this is only accepted from my "self". + # this also kills configs from PC92 nodes with external PC19 nodes that are also + # locally connected. Local nodes always take precedence. + if (DXChannel::get($call) && $call ne $self->{call}) { + dbg("PCPROT: locally connected node $call from other another node $self->{call}, ignored") if isdbg('chanerr'); + return; + } if ($is_extnode) { - # this is only accepted from my "self" - if (DXChannel::get($call) && $call ne $self->{call}) { - dbg("PCPROT: locally connected node config for $call from other another node $self->{call}, ignored") if isdbg('chanerr'); - return; - } # reparent to external node (note that we must have received a 'C' or 'A' record # from the true parent node for this external before we get one for the this node unless ($parent = Route::Node::get($call)) {