diff --git a/src/lib_dal_node/gossipsub/gs_transport_connection.ml b/src/lib_dal_node/gossipsub/gs_transport_connection.ml index 4933b05d925c47d109875cd701d10c8c8eddee82..01b7d4ea592e5ef56d79b412f241b0109a87ad3f 100644 --- a/src/lib_dal_node/gossipsub/gs_transport_connection.ml +++ b/src/lib_dal_node/gossipsub/gs_transport_connection.ml @@ -172,7 +172,7 @@ let disconnections_handler gs_worker peer_id = | None -> (* Something is off, we should log something probably. *) () | Some (peer, _) -> Worker.(Disconnection {peer} |> p2p_input gs_worker) -let try_connect ?expected_peer_id p2p_layer point = +let try_connect ?expected_peer_id p2p_layer ~trusted point = let open Lwt_syntax in (* We don't wait for the promise to resolve here, because if the advertised peer is not reachable or is not responding, we might block @@ -183,7 +183,7 @@ let try_connect ?expected_peer_id p2p_layer point = Lwt.dont_wait (fun () -> let* (_ : _ P2p.connection tzresult) = - P2p.connect ?expected_peer_id p2p_layer point + P2p.connect ?expected_peer_id ~trusted p2p_layer point in return_unit) (fun exn -> @@ -238,13 +238,18 @@ let gs_worker_p2p_output_handler gs_worker p2p_layer = P2p.find_connection_by_peer_id p2p_layer peer.peer_id |> Option.iter_s (P2p.disconnect ~reason:"disconnected by Gossipsub" p2p_layer) - | Connect {peer; origin = _} -> + | Connect {peer; origin} -> + let trusted = origin = Trusted in let Types.Peer. {maybe_reachable_point; peer_id; bootstrap = _; direct = _} = peer in - try_connect ~expected_peer_id:peer_id p2p_layer maybe_reachable_point - | Connect_point {point} -> try_connect p2p_layer point + try_connect + ~trusted + ~expected_peer_id:peer_id + p2p_layer + maybe_reachable_point + | Connect_point {point} -> try_connect p2p_layer point ~trusted:false | Forget _ -> return_unit | Kick {peer} -> P2p.pool p2p_layer diff --git a/tezt/tests/dal.ml b/tezt/tests/dal.ml index ff2f4c71344a5209e955ad2b7e2c53223e182eab..132b59fdc82e3a5b421e3d3466d0d2ac886db258 100644 --- a/tezt/tests/dal.ml +++ b/tezt/tests/dal.ml @@ -4226,11 +4226,14 @@ let observe_nodes_connection_via_bootstrap ?(extra_nodes_to_restart = []) client dal_node2 dal_node3 = let nodes = dal_node2 :: dal_node3 :: extra_nodes_to_restart in let* () = List.map Dal_node.terminate nodes |> Lwt.join in + let* dal_node2_identity = Dal_node.read_identity dal_node2 in + let* dal_node3_identity = Dal_node.read_identity dal_node3 in let check_conn_event_from_2_to_3 = Dal_common.Helpers.check_new_connection_event ~main_node:dal_node2 ~other_node:dal_node3 ~is_trusted:false + ~other_peer_id:dal_node3_identity () in let check_conn_event_from_3_to_2 = @@ -4238,6 +4241,7 @@ let observe_nodes_connection_via_bootstrap ?(extra_nodes_to_restart = []) client ~main_node:dal_node3 ~other_node:dal_node2 ~is_trusted:false + ~other_peer_id:dal_node2_identity () in let* () = List.map (Dal_node.run ~wait_ready:true) nodes |> Lwt.join in