diff --git a/beacon_node/lighthouse_network/src/behaviour/mod.rs b/beacon_node/lighthouse_network/src/behaviour/mod.rs index 4644b5b2af..4ee1ae9917 100644 --- a/beacon_node/lighthouse_network/src/behaviour/mod.rs +++ b/beacon_node/lighthouse_network/src/behaviour/mod.rs @@ -812,7 +812,11 @@ impl Behaviour { for peer_id in peers_to_dial { debug!(self.log, "Dialing cached ENR peer"; "peer_id" => %peer_id); // Remove the ENR from the cache to prevent continual re-dialing on disconnects + self.discovery.remove_cached_enr(&peer_id); + // For any dial event, inform the peer manager + let enr = self.discovery_mut().enr_of_peer(&peer_id); + self.peer_manager.inject_dialing(&peer_id, enr); self.internal_events .push_back(InternalBehaviourMessage::DialPeer(peer_id)); } @@ -1096,6 +1100,9 @@ impl NetworkBehaviourEventProcess for Behaviour< let to_dial_peers = self.peer_manager.peers_discovered(results); for peer_id in to_dial_peers { debug!(self.log, "Dialing discovered peer"; "peer_id" => %peer_id); + // For any dial event, inform the peer manager + let enr = self.discovery_mut().enr_of_peer(&peer_id); + self.peer_manager.inject_dialing(&peer_id, enr); self.internal_events .push_back(InternalBehaviourMessage::DialPeer(peer_id)); } @@ -1147,9 +1154,6 @@ impl Behaviour { if let Some(event) = self.internal_events.pop_front() { match event { InternalBehaviourMessage::DialPeer(peer_id) => { - // For any dial event, inform the peer manager - let enr = self.discovery_mut().enr_of_peer(&peer_id); - self.peer_manager.inject_dialing(&peer_id, enr); // Submit the event let handler = self.new_handler(); return Poll::Ready(NBAction::Dial {