Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Can't get hole-punching tutorial to work reliably #2609

Closed
alexander-camuto opened this issue Apr 6, 2022 · 19 comments
Closed

Can't get hole-punching tutorial to work reliably #2609

alexander-camuto opened this issue Apr 6, 2022 · 19 comments

Comments

@alexander-camuto
Copy link

Can't get hole-punching tutorial to work reliably

I am currently trying to get the hole-punching tutorial to work across a network of identical ubuntu-server 21.10 nodes (6 Mac Minis 8GB of RAM from late 2012 solely running ubuntu-server, behind different home networks in the same city). The main variable across the nodes is thus different ISPs / routers / home network setups.

I have one relay set up, let's call it R, a listening client A and 4 other nodes that are clients attempting to dial A, let's call them {B,C,D,E}.

B and C are able to establish a direct connection to A via R reliably (the opposite also holds true - when B and C are the listeners, A this time as a dialing client is able to establish a direct connection to B and C).

Issues appear for nodes D and E. Both are able to establish an outbound circuit with the relay and the listening client is able to initiate a direct connection request for the relayed connection. Issues then appear when trying to establish this direction connection (see below).

I've also double checked that none of the machines are behind difficult NATs (i.e whether the NAT varies the machine's IP depending on destination) and that they don't require hair-pinning for NAT traversal.

Node A listener logs when Node D and E are dialing

The A-D (and A-E) connection fails on the listener side, whereby a strangely formed Multiaddr eventually causes an error (see last line). Node D eventually just issues a timeout message.

[2022-04-05T11:54:15Z INFO  client] Local peer id: PeerId("12D3KooWPjceQrSwdWXPyLLeABRXmuqt69Rg3sBYbU1Nft9HyQ6X")
[2022-04-05T11:54:15Z DEBUG libp2p_tcp] listening on 0.0.0.0:0
[2022-04-05T11:54:15Z DEBUG netlink_proto::handle] handle: forwarding new request to connection
[2022-04-05T11:54:15Z DEBUG netlink_proto::connection] reading incoming messages
[2022-04-05T11:54:15Z DEBUG netlink_proto::codecs] NetlinkCodec: decoding next message
[2022-04-05T11:54:15Z DEBUG netlink_proto::connection] forwarding unsolicited messages to the connection handle
[2022-04-05T11:54:15Z DEBUG netlink_proto::connection] forwaring responses to previous requests to the connection handle
[2022-04-05T11:54:15Z DEBUG netlink_proto::connection] handling requests
[2022-04-05T11:54:15Z DEBUG netlink_proto::connection] sending messages
[2022-04-05T11:54:15Z DEBUG netlink_proto::connection] reading incoming messages
[2022-04-05T11:54:15Z DEBUG netlink_proto::codecs] NetlinkCodec: decoding next message
[2022-04-05T11:54:15Z DEBUG netlink_proto::codecs] NetlinkCodec: decoding next message
[2022-04-05T11:54:15Z DEBUG netlink_proto::protocol::protocol] handling messages (request id = RequestId { sequence_number: 1, port: 0 })
[2022-04-05T11:54:15Z DEBUG netlink_proto::protocol::protocol] handling response to request RequestId { sequence_number: 1, port: 0 }
[2022-04-05T11:54:15Z DEBUG netlink_proto::protocol::protocol] done handling response to request RequestId { sequence_number: 1, port: 0 }
[2022-04-05T11:54:15Z DEBUG netlink_proto::codecs] NetlinkCodec: decoding next message
[2022-04-05T11:54:15Z DEBUG netlink_proto::protocol::protocol] handling messages (request id = RequestId { sequence_number: 1, port: 0 })
[2022-04-05T11:54:15Z DEBUG netlink_proto::protocol::protocol] handling response to request RequestId { sequence_number: 1, port: 0 }
[2022-04-05T11:54:15Z DEBUG netlink_proto::protocol::protocol] done handling response to request RequestId { sequence_number: 1, port: 0 }
[2022-04-05T11:54:15Z DEBUG netlink_proto::codecs] NetlinkCodec: decoding next message
[2022-04-05T11:54:15Z DEBUG netlink_proto::protocol::protocol] handling messages (request id = RequestId { sequence_number: 1, port: 0 })
[2022-04-05T11:54:15Z DEBUG netlink_proto::protocol::protocol] handling response to request RequestId { sequence_number: 1, port: 0 }
[2022-04-05T11:54:15Z DEBUG netlink_proto::protocol::protocol] done handling response to request RequestId { sequence_number: 1, port: 0 }
[2022-04-05T11:54:15Z DEBUG netlink_proto::codecs] NetlinkCodec: decoding next message
[2022-04-05T11:54:15Z DEBUG netlink_proto::codecs] NetlinkCodec: decoding next message
[2022-04-05T11:54:15Z DEBUG netlink_proto::protocol::protocol] handling messages (request id = RequestId { sequence_number: 1, port: 0 })
[2022-04-05T11:54:15Z DEBUG netlink_proto::protocol::protocol] handling response to request RequestId { sequence_number: 1, port: 0 }
[2022-04-05T11:54:15Z DEBUG netlink_proto::protocol::protocol] done handling response to request RequestId { sequence_number: 1, port: 0 }
[2022-04-05T11:54:15Z DEBUG netlink_proto::codecs] NetlinkCodec: decoding next message
[2022-04-05T11:54:15Z DEBUG netlink_proto::protocol::protocol] handling messages (request id = RequestId { sequence_number: 1, port: 0 })
[2022-04-05T11:54:15Z DEBUG netlink_proto::protocol::protocol] handling response to request RequestId { sequence_number: 1, port: 0 }
[2022-04-05T11:54:15Z DEBUG netlink_proto::protocol::protocol] done handling response to request RequestId { sequence_number: 1, port: 0 }
[2022-04-05T11:54:15Z DEBUG netlink_proto::codecs] NetlinkCodec: decoding next message
[2022-04-05T11:54:15Z DEBUG netlink_proto::protocol::protocol] handling messages (request id = RequestId { sequence_number: 1, port: 0 })
[2022-04-05T11:54:15Z DEBUG netlink_proto::protocol::protocol] handling response to request RequestId { sequence_number: 1, port: 0 }
[2022-04-05T11:54:15Z DEBUG netlink_proto::protocol::protocol] done handling response to request RequestId { sequence_number: 1, port: 0 }
[2022-04-05T11:54:15Z DEBUG netlink_proto::codecs] NetlinkCodec: decoding next message
[2022-04-05T11:54:15Z DEBUG netlink_proto::protocol::protocol] handling messages (request id = RequestId { sequence_number: 1, port: 0 })
[2022-04-05T11:54:15Z DEBUG netlink_proto::protocol::protocol] handling response to request RequestId { sequence_number: 1, port: 0 }
[2022-04-05T11:54:15Z DEBUG netlink_proto::protocol::protocol] done handling response to request RequestId { sequence_number: 1, port: 0 }
[2022-04-05T11:54:15Z DEBUG netlink_proto::codecs] NetlinkCodec: decoding next message
[2022-04-05T11:54:15Z DEBUG netlink_proto::codecs] NetlinkCodec: decoding next message
[2022-04-05T11:54:15Z DEBUG netlink_proto::protocol::protocol] handling messages (request id = RequestId { sequence_number: 1, port: 0 })
[2022-04-05T11:54:15Z DEBUG netlink_proto::protocol::protocol] handling response to request RequestId { sequence_number: 1, port: 0 }
[2022-04-05T11:54:15Z DEBUG netlink_proto::protocol::protocol] done handling response to request RequestId { sequence_number: 1, port: 0 }
[2022-04-05T11:54:15Z DEBUG netlink_proto::codecs] NetlinkCodec: decoding next message
[2022-04-05T11:54:15Z DEBUG netlink_proto::connection] forwarding unsolicited messages to the connection handle
[2022-04-05T11:54:15Z DEBUG netlink_proto::connection] forwaring responses to previous requests to the connection handle
[2022-04-05T11:54:15Z DEBUG netlink_proto::connection] handling requests
[2022-04-05T11:54:15Z DEBUG netlink_proto::connection] sending messages
[2022-04-05T11:54:15Z DEBUG netlink_proto::connection] reading incoming messages
[2022-04-05T11:54:15Z DEBUG netlink_proto::codecs] NetlinkCodec: decoding next message
[2022-04-05T11:54:15Z DEBUG netlink_proto::connection] forwarding unsolicited messages to the connection handle
[2022-04-05T11:54:15Z DEBUG netlink_proto::connection] forwaring responses to previous requests to the connection handle
[2022-04-05T11:54:15Z DEBUG netlink_proto::connection] handling requests
[2022-04-05T11:54:15Z DEBUG netlink_proto::connection] sending messages
[2022-04-05T11:54:15Z DEBUG netlink_proto::connection] reading incoming messages
[2022-04-05T11:54:15Z DEBUG netlink_proto::codecs] NetlinkCodec: decoding next message
[2022-04-05T11:54:15Z DEBUG netlink_proto::connection] forwarding unsolicited messages to the connection handle
[2022-04-05T11:54:15Z DEBUG netlink_proto::connection] forwaring responses to previous requests to the connection handle
[2022-04-05T11:54:15Z DEBUG netlink_proto::connection] handling requests
[2022-04-05T11:54:15Z DEBUG netlink_proto::connection] sending messages
[2022-04-05T11:54:15Z DEBUG netlink_proto::connection] reading incoming messages
[2022-04-05T11:54:15Z DEBUG netlink_proto::codecs] NetlinkCodec: decoding next message
[2022-04-05T11:54:15Z DEBUG netlink_proto::connection] forwarding unsolicited messages to the connection handle
[2022-04-05T11:54:15Z DEBUG netlink_proto::connection] forwaring responses to previous requests to the connection handle
[2022-04-05T11:54:15Z DEBUG netlink_proto::connection] handling requests
[2022-04-05T11:54:15Z DEBUG netlink_proto::connection] sending messages
[2022-04-05T11:54:15Z DEBUG libp2p_tcp] New listen address: /ip4/127.0.0.1/tcp/37249
[2022-04-05T11:54:15Z DEBUG libp2p_swarm] Listener ListenerId(1); New address: "/ip4/127.0.0.1/tcp/37249"
[2022-04-05T11:54:15Z INFO  client] Listening on "/ip4/127.0.0.1/tcp/37249"
[2022-04-05T11:54:15Z DEBUG netlink_proto::connection] reading incoming messages
[2022-04-05T11:54:15Z DEBUG netlink_proto::codecs] NetlinkCodec: decoding next message
[2022-04-05T11:54:15Z DEBUG netlink_proto::connection] forwarding unsolicited messages to the connection handle
[2022-04-05T11:54:15Z DEBUG netlink_proto::connection] forwaring responses to previous requests to the connection handle
[2022-04-05T11:54:15Z DEBUG netlink_proto::connection] handling requests
[2022-04-05T11:54:15Z DEBUG netlink_proto::connection] sending messages
[2022-04-05T11:54:15Z DEBUG libp2p_tcp] New listen address: /ip4/192.168.1.24/tcp/37249
[2022-04-05T11:54:15Z DEBUG libp2p_swarm] Listener ListenerId(1); New address: "/ip4/192.168.1.24/tcp/37249"
[2022-04-05T11:54:15Z INFO  client] Listening on "/ip4/192.168.1.24/tcp/37249"
[2022-04-05T11:54:15Z DEBUG netlink_proto::connection] reading incoming messages
[2022-04-05T11:54:15Z DEBUG netlink_proto::codecs] NetlinkCodec: decoding next message
[2022-04-05T11:54:15Z DEBUG netlink_proto::connection] forwarding unsolicited messages to the connection handle
[2022-04-05T11:54:15Z DEBUG netlink_proto::connection] forwaring responses to previous requests to the connection handle
[2022-04-05T11:54:15Z DEBUG netlink_proto::connection] handling requests
[2022-04-05T11:54:15Z DEBUG netlink_proto::connection] sending messages
[2022-04-05T11:54:15Z DEBUG libp2p_tcp] New listen address: /ip4/100.101.52.121/tcp/37249
[2022-04-05T11:54:15Z DEBUG libp2p_swarm] Listener ListenerId(1); New address: "/ip4/100.101.52.121/tcp/37249"
[2022-04-05T11:54:15Z INFO  client] Listening on "/ip4/100.101.52.121/tcp/37249"
[2022-04-05T11:54:15Z DEBUG netlink_proto::connection] reading incoming messages
[2022-04-05T11:54:15Z DEBUG netlink_proto::codecs] NetlinkCodec: decoding next message
[2022-04-05T11:54:15Z DEBUG netlink_proto::connection] forwarding unsolicited messages to the connection handle
[2022-04-05T11:54:15Z DEBUG netlink_proto::connection] forwaring responses to previous requests to the connection handle
[2022-04-05T11:54:15Z DEBUG netlink_proto::connection] handling requests
[2022-04-05T11:54:15Z DEBUG netlink_proto::connection] sending messages
[2022-04-05T11:54:15Z DEBUG netlink_proto::connection] reading incoming messages
[2022-04-05T11:54:15Z DEBUG netlink_proto::codecs] NetlinkCodec: decoding next message
[2022-04-05T11:54:15Z DEBUG netlink_proto::connection] forwarding unsolicited messages to the connection handle
[2022-04-05T11:54:15Z DEBUG netlink_proto::connection] forwaring responses to previous requests to the connection handle
[2022-04-05T11:54:15Z DEBUG netlink_proto::connection] handling requests
[2022-04-05T11:54:15Z DEBUG netlink_proto::connection] sending messages
[2022-04-05T11:54:15Z DEBUG netlink_proto::connection] reading incoming messages
[2022-04-05T11:54:15Z DEBUG netlink_proto::codecs] NetlinkCodec: decoding next message
[2022-04-05T11:54:15Z DEBUG netlink_proto::connection] forwarding unsolicited messages to the connection handle
[2022-04-05T11:54:15Z DEBUG netlink_proto::connection] forwaring responses to previous requests to the connection handle
[2022-04-05T11:54:15Z DEBUG netlink_proto::connection] handling requests
[2022-04-05T11:54:15Z DEBUG netlink_proto::connection] sending messages
[2022-04-05T11:54:15Z DEBUG netlink_proto::connection] reading incoming messages
[2022-04-05T11:54:15Z DEBUG netlink_proto::codecs] NetlinkCodec: decoding next message
[2022-04-05T11:54:15Z DEBUG netlink_proto::connection] forwarding unsolicited messages to the connection handle
[2022-04-05T11:54:15Z DEBUG netlink_proto::connection] forwaring responses to previous requests to the connection handle
[2022-04-05T11:54:15Z DEBUG netlink_proto::connection] handling requests
[2022-04-05T11:54:15Z DEBUG netlink_proto::connection] sending messages
[2022-04-05T11:54:15Z DEBUG netlink_proto::connection] reading incoming messages
[2022-04-05T11:54:15Z DEBUG netlink_proto::codecs] NetlinkCodec: decoding next message
[2022-04-05T11:54:15Z DEBUG netlink_proto::connection] forwarding unsolicited messages to the connection handle
[2022-04-05T11:54:15Z DEBUG netlink_proto::connection] forwaring responses to previous requests to the connection handle
[2022-04-05T11:54:15Z DEBUG netlink_proto::connection] handling requests
[2022-04-05T11:54:15Z DEBUG netlink_proto::connection] sending messages
[2022-04-05T11:54:15Z DEBUG netlink_proto::connection] reading incoming messages
[2022-04-05T11:54:15Z DEBUG netlink_proto::codecs] NetlinkCodec: decoding next message
[2022-04-05T11:54:15Z DEBUG netlink_proto::connection] forwarding unsolicited messages to the connection handle
[2022-04-05T11:54:15Z DEBUG netlink_proto::connection] forwaring responses to previous requests to the connection handle
[2022-04-05T11:54:15Z DEBUG netlink_proto::connection] handling requests
[2022-04-05T11:54:15Z DEBUG netlink_proto::connection] sending messages
[2022-04-05T11:54:15Z DEBUG netlink_proto::connection] reading incoming messages
[2022-04-05T11:54:15Z DEBUG netlink_proto::codecs] NetlinkCodec: decoding next message
[2022-04-05T11:54:15Z DEBUG netlink_proto::connection] forwarding unsolicited messages to the connection handle
[2022-04-05T11:54:15Z DEBUG netlink_proto::connection] forwaring responses to previous requests to the connection handle
[2022-04-05T11:54:15Z DEBUG netlink_proto::connection] handling requests
[2022-04-05T11:54:15Z DEBUG netlink_proto::connection] sending messages
[2022-04-05T11:54:16Z DEBUG netlink_proto::connection] reading incoming messages
[2022-04-05T11:54:16Z DEBUG netlink_proto::codecs] NetlinkCodec: decoding next message
[2022-04-05T11:54:16Z DEBUG netlink_proto::connection] forwarding unsolicited messages to the connection handle
[2022-04-05T11:54:16Z DEBUG netlink_proto::connection] forwaring responses to previous requests to the connection handle
[2022-04-05T11:54:16Z DEBUG netlink_proto::connection] handling requests
[2022-04-05T11:54:16Z DEBUG netlink_proto::connection] sending messages
[2022-04-05T11:54:16Z DEBUG netlink_proto::connection] reading incoming messages
[2022-04-05T11:54:16Z DEBUG netlink_proto::codecs] NetlinkCodec: decoding next message
[2022-04-05T11:54:16Z DEBUG netlink_proto::connection] forwarding unsolicited messages to the connection handle
[2022-04-05T11:54:16Z DEBUG netlink_proto::connection] forwaring responses to previous requests to the connection handle
[2022-04-05T11:54:16Z DEBUG netlink_proto::connection] handling requests
[2022-04-05T11:54:16Z DEBUG netlink_proto::connection] sending messages
[2022-04-05T11:54:16Z DEBUG netlink_proto::connection] reading incoming messages
[2022-04-05T11:54:16Z DEBUG netlink_proto::codecs] NetlinkCodec: decoding next message
[2022-04-05T11:54:16Z DEBUG netlink_proto::connection] forwarding unsolicited messages to the connection handle
[2022-04-05T11:54:16Z DEBUG netlink_proto::connection] forwaring responses to previous requests to the connection handle
[2022-04-05T11:54:16Z DEBUG netlink_proto::connection] handling requests
[2022-04-05T11:54:16Z DEBUG netlink_proto::connection] sending messages
[2022-04-05T11:54:16Z DEBUG netlink_proto::connection] reading incoming messages
[2022-04-05T11:54:16Z DEBUG netlink_proto::codecs] NetlinkCodec: decoding next message
[2022-04-05T11:54:16Z DEBUG netlink_proto::connection] forwarding unsolicited messages to the connection handle
[2022-04-05T11:54:16Z DEBUG netlink_proto::connection] forwaring responses to previous requests to the connection handle
[2022-04-05T11:54:16Z DEBUG netlink_proto::connection] handling requests
[2022-04-05T11:54:16Z DEBUG netlink_proto::connection] sending messages
[2022-04-05T11:54:16Z DEBUG netlink_proto::connection] reading incoming messages
[2022-04-05T11:54:16Z DEBUG netlink_proto::codecs] NetlinkCodec: decoding next message
[2022-04-05T11:54:16Z DEBUG trust_dns_proto::xfer::dns_handle] querying: myel.relay A
[2022-04-05T11:54:16Z DEBUG netlink_proto::connection] forwarding unsolicited messages to the connection handle
[2022-04-05T11:54:16Z DEBUG netlink_proto::connection] forwaring responses to previous requests to the connection handle
[2022-04-05T11:54:16Z DEBUG netlink_proto::connection] handling requests
[2022-04-05T11:54:16Z DEBUG netlink_proto::connection] sending messages
[2022-04-05T11:54:16Z DEBUG trust_dns_resolver::name_server::name_server_pool] sending request: [Query { name: Name("myel.relay"), query_type: A, query_class: IN }]
[2022-04-05T11:54:16Z DEBUG trust_dns_resolver::name_server::name_server] reconnecting: NameServerConfig { socket_addr: 127.0.0.53:53, protocol: Udp, tls_dns_name: None, trust_nx_responses: false, bind_addr: None }
[2022-04-05T11:54:16Z DEBUG trust_dns_proto::xfer] enqueueing message: [Query { name: Name("myel.relay"), query_type: A, query_class: IN }]
[2022-04-05T11:54:16Z DEBUG trust_dns_proto::udp::udp_stream] created socket successfully
[2022-04-05T11:54:16Z DEBUG trust_dns_proto::udp::udp_client_stream] received message id: 40728
[2022-04-05T11:54:16Z DEBUG trust_dns_resolver::error] Response:40728:RD,RA:NoError:1/0/0
[2022-04-05T11:54:16Z DEBUG trust_dns_resolver::error] Response:40728:RD,RA:NoError:1/0/0
[2022-04-05T11:54:16Z DEBUG libp2p_dns] Dialing /ip4/81.3.97.91/tcp/4001/p2p/12D3KooWDpJ7As7BWAwRMfu1VU2WCqNjvq387JEYKDBj4kx6nXTN
[2022-04-05T11:54:16Z DEBUG libp2p_tcp] dialing 81.3.97.91:4001
[2022-04-05T11:54:16Z DEBUG multistream_select::dialer_select] Dialer: Proposed protocol: /noise
[2022-04-05T11:54:16Z DEBUG multistream_select::dialer_select] Dialer: Received confirmation for protocol: /noise
[2022-04-05T11:54:16Z DEBUG libp2p_core::upgrade::apply] Successfully applied negotiated protocol
[2022-04-05T11:54:16Z DEBUG multistream_select::dialer_select] Dialer: Proposed protocol: /yamux/1.0.0
[2022-04-05T11:54:16Z DEBUG multistream_select::dialer_select] Dialer: Received confirmation for protocol: /yamux/1.0.0
[2022-04-05T11:54:16Z DEBUG yamux::connection] new connection: fc0da0c5 (Client)
[2022-04-05T11:54:16Z DEBUG libp2p_core::upgrade::apply] Successfully applied negotiated protocol
[2022-04-05T11:54:16Z DEBUG netlink_proto::connection] reading incoming messages
[2022-04-05T11:54:16Z DEBUG netlink_proto::codecs] NetlinkCodec: decoding next message
[2022-04-05T11:54:16Z DEBUG netlink_proto::connection] forwarding unsolicited messages to the connection handle
[2022-04-05T11:54:16Z DEBUG netlink_proto::connection] forwaring responses to previous requests to the connection handle
[2022-04-05T11:54:16Z DEBUG netlink_proto::connection] handling requests
[2022-04-05T11:54:16Z DEBUG netlink_proto::connection] sending messages
[2022-04-05T11:54:16Z DEBUG libp2p_swarm] Connection established: PeerId("12D3KooWDpJ7As7BWAwRMfu1VU2WCqNjvq387JEYKDBj4kx6nXTN") Dialer { address: "/dns4/myel.relay/tcp/4001/p2p/12D3KooWDpJ7As7BWAwRMfu1VU2WCqNjvq387JEYKDBj4kx6nXTN", role_override: Dialer }; Total (peer): 1. Total non-banned (peer): 1
[2022-04-05T11:54:16Z DEBUG netlink_proto::connection] reading incoming messages
[2022-04-05T11:54:16Z DEBUG multistream_select::listener_select] Listener: confirming protocol: /ipfs/ping/1.0.0
[2022-04-05T11:54:16Z DEBUG netlink_proto::codecs] NetlinkCodec: decoding next message
[2022-04-05T11:54:16Z DEBUG netlink_proto::connection] forwarding unsolicited messages to the connection handle
[2022-04-05T11:54:16Z DEBUG multistream_select::listener_select] Listener: sent confirmed protocol: /ipfs/ping/1.0.0
[2022-04-05T11:54:16Z DEBUG netlink_proto::connection] forwaring responses to previous requests to the connection handle
[2022-04-05T11:54:16Z DEBUG netlink_proto::connection] handling requests
[2022-04-05T11:54:16Z DEBUG libp2p_core::upgrade::apply] Successfully applied negotiated protocol
[2022-04-05T11:54:16Z DEBUG netlink_proto::connection] sending messages
[2022-04-05T11:54:16Z DEBUG libp2p_ping::protocol] Waiting for ping ...
[2022-04-05T11:54:16Z DEBUG yamux::connection] fc0da0c5: new outbound (Stream fc0da0c5/1) of (Connection fc0da0c5 Client (streams 1))
[2022-04-05T11:54:16Z DEBUG multistream_select::dialer_select] Dialer: Proposed protocol: /ipfs/ping/1.0.0
[2022-04-05T11:54:16Z DEBUG yamux::connection] fc0da0c5: new outbound (Stream fc0da0c5/3) of (Connection fc0da0c5 Client (streams 2))
[2022-04-05T11:54:16Z DEBUG multistream_select::dialer_select] Dialer: Proposed protocol: /libp2p/circuit/relay/0.2.0/hop
[2022-04-05T11:54:16Z DEBUG multistream_select::dialer_select] Dialer: Received confirmation for protocol: /ipfs/ping/1.0.0
[2022-04-05T11:54:16Z DEBUG libp2p_core::upgrade::apply] Successfully applied negotiated protocol
[2022-04-05T11:54:16Z DEBUG multistream_select::dialer_select] Dialer: Received confirmation for protocol: /libp2p/circuit/relay/0.2.0/hop
[2022-04-05T11:54:16Z DEBUG libp2p_ping::protocol] Sending pong for [142, 90, 160, 219, 38, 47, 170, 144, 58, 195, 239, 153, 204, 39, 66, 197, 207, 174, 121, 29, 23, 233, 89, 17, 238, 140, 73, 19, 144, 202, 164, 38]
[2022-04-05T11:54:16Z DEBUG netlink_proto::connection] reading incoming messages
[2022-04-05T11:54:16Z DEBUG netlink_proto::codecs] NetlinkCodec: decoding next message
[2022-04-05T11:54:16Z DEBUG netlink_proto::connection] forwarding unsolicited messages to the connection handle
[2022-04-05T11:54:16Z DEBUG netlink_proto::connection] forwaring responses to previous requests to the connection handle
[2022-04-05T11:54:16Z DEBUG netlink_proto::connection] handling requests
[2022-04-05T11:54:16Z DEBUG netlink_proto::connection] sending messages
[2022-04-05T11:54:16Z DEBUG netlink_proto::connection] reading incoming messages
[2022-04-05T11:54:16Z DEBUG libp2p_ping::protocol] Waiting for ping ...
[2022-04-05T11:54:16Z DEBUG netlink_proto::codecs] NetlinkCodec: decoding next message
[2022-04-05T11:54:16Z DEBUG netlink_proto::connection] forwarding unsolicited messages to the connection handle
[2022-04-05T11:54:16Z DEBUG netlink_proto::connection] forwaring responses to previous requests to the connection handle
[2022-04-05T11:54:16Z DEBUG netlink_proto::connection] handling requests
[2022-04-05T11:54:16Z DEBUG netlink_proto::connection] sending messages
[2022-04-05T11:54:16Z DEBUG libp2p_ping::protocol] Preparing ping payload [167, 55, 239, 96, 158, 31, 101, 32, 61, 125, 60, 230, 77, 198, 157, 13, 168, 243, 71, 240, 22, 171, 33, 220, 169, 101, 61, 33, 164, 187, 9, 57]
[2022-04-05T11:54:16Z DEBUG libp2p_ping::protocol] Awaiting pong for [167, 55, 239, 96, 158, 31, 101, 32, 61, 125, 60, 230, 77, 198, 157, 13, 168, 243, 71, 240, 22, 171, 33, 220, 169, 101, 61, 33, 164, 187, 9, 57]
[2022-04-05T11:54:16Z DEBUG libp2p_core::upgrade::apply] Successfully applied negotiated protocol
[2022-04-05T11:54:16Z DEBUG netlink_proto::connection] reading incoming messages
[2022-04-05T11:54:16Z DEBUG netlink_proto::codecs] NetlinkCodec: decoding next message
[2022-04-05T11:54:16Z DEBUG netlink_proto::connection] forwarding unsolicited messages to the connection handle
[2022-04-05T11:54:16Z DEBUG netlink_proto::connection] forwaring responses to previous requests to the connection handle
[2022-04-05T11:54:16Z DEBUG netlink_proto::connection] handling requests
[2022-04-05T11:54:16Z DEBUG netlink_proto::connection] sending messages
[2022-04-05T11:54:16Z DEBUG libp2p_swarm] Listener ListenerId(2); New address: "/dns4/myel.relay/tcp/4001/p2p/12D3KooWDpJ7As7BWAwRMfu1VU2WCqNjvq387JEYKDBj4kx6nXTN/p2p-circuit/p2p/12D3KooWPjceQrSwdWXPyLLeABRXmuqt69Rg3sBYbU1Nft9HyQ6X"
[2022-04-05T11:54:16Z DEBUG netlink_proto::connection] reading incoming messages
[2022-04-05T11:54:16Z DEBUG netlink_proto::codecs] NetlinkCodec: decoding next message
[2022-04-05T11:54:16Z DEBUG netlink_proto::connection] forwarding unsolicited messages to the connection handle
[2022-04-05T11:54:16Z DEBUG netlink_proto::connection] forwaring responses to previous requests to the connection handle
[2022-04-05T11:54:16Z DEBUG netlink_proto::connection] handling requests
[2022-04-05T11:54:16Z DEBUG netlink_proto::connection] sending messages
[2022-04-05T11:54:16Z DEBUG libp2p_swarm] Listener ListenerId(2); New address: "/ip4/81.3.97.91/tcp/4001/p2p/12D3KooWDpJ7As7BWAwRMfu1VU2WCqNjvq387JEYKDBj4kx6nXTN/p2p-circuit/p2p/12D3KooWPjceQrSwdWXPyLLeABRXmuqt69Rg3sBYbU1Nft9HyQ6X"
[2022-04-05T11:54:16Z DEBUG netlink_proto::connection] reading incoming messages
[2022-04-05T11:54:16Z DEBUG netlink_proto::codecs] NetlinkCodec: decoding next message
[2022-04-05T11:54:16Z DEBUG netlink_proto::connection] forwarding unsolicited messages to the connection handle
[2022-04-05T11:54:16Z DEBUG netlink_proto::connection] forwaring responses to previous requests to the connection handle
[2022-04-05T11:54:16Z DEBUG netlink_proto::connection] handling requests
[2022-04-05T11:54:16Z DEBUG netlink_proto::connection] sending messages
[2022-04-05T11:54:16Z DEBUG netlink_proto::connection] reading incoming messages
[2022-04-05T11:54:16Z DEBUG netlink_proto::codecs] NetlinkCodec: decoding next message
[2022-04-05T11:54:16Z DEBUG netlink_proto::connection] forwarding unsolicited messages to the connection handle
[2022-04-05T11:54:16Z DEBUG netlink_proto::connection] forwaring responses to previous requests to the connection handle
[2022-04-05T11:54:16Z DEBUG netlink_proto::connection] handling requests
[2022-04-05T11:54:16Z DEBUG netlink_proto::connection] sending messages
[2022-04-05T11:54:16Z DEBUG netlink_proto::connection] reading incoming messages
[2022-04-05T11:54:16Z DEBUG netlink_proto::codecs] NetlinkCodec: decoding next message
[2022-04-05T11:54:16Z DEBUG netlink_proto::connection] forwarding unsolicited messages to the connection handle
[2022-04-05T11:54:16Z DEBUG netlink_proto::connection] forwaring responses to previous requests to the connection handle
[2022-04-05T11:54:16Z DEBUG netlink_proto::connection] handling requests
[2022-04-05T11:54:16Z DEBUG netlink_proto::connection] sending messages
[2022-04-05T11:54:16Z DEBUG netlink_proto::connection] reading incoming messages
[2022-04-05T11:54:16Z DEBUG netlink_proto::codecs] NetlinkCodec: decoding next message
[2022-04-05T11:54:16Z DEBUG netlink_proto::connection] forwarding unsolicited messages to the connection handle
[2022-04-05T11:54:16Z DEBUG netlink_proto::connection] forwaring responses to previous requests to the connection handle
[2022-04-05T11:54:16Z DEBUG netlink_proto::connection] handling requests
[2022-04-05T11:54:16Z DEBUG netlink_proto::connection] sending messages
[2022-04-05T11:54:16Z DEBUG yamux::connection] fc0da0c5: new outbound (Stream fc0da0c5/5) of (Connection fc0da0c5 Client (streams 2))
[2022-04-05T11:54:16Z DEBUG multistream_select::dialer_select] Dialer: Proposed protocol: /ipfs/id/1.0.0
[2022-04-05T11:54:17Z DEBUG multistream_select::listener_select] Listener: confirming protocol: /ipfs/id/1.0.0
[2022-04-05T11:54:17Z DEBUG multistream_select::listener_select] Listener: sent confirmed protocol: /ipfs/id/1.0.0
[2022-04-05T11:54:17Z DEBUG libp2p_core::upgrade::apply] Successfully applied negotiated protocol
[2022-04-05T11:54:17Z DEBUG multistream_select::dialer_select] Dialer: Received confirmation for protocol: /ipfs/id/1.0.0
[2022-04-05T11:54:17Z DEBUG libp2p_core::upgrade::apply] Successfully applied negotiated protocol
[2022-04-05T11:54:17Z DEBUG netlink_proto::connection] reading incoming messages
[2022-04-05T11:54:17Z DEBUG netlink_proto::codecs] NetlinkCodec: decoding next message
[2022-04-05T11:54:17Z DEBUG netlink_proto::connection] forwarding unsolicited messages to the connection handle
[2022-04-05T11:54:17Z DEBUG netlink_proto::connection] forwaring responses to previous requests to the connection handle
[2022-04-05T11:54:17Z DEBUG netlink_proto::connection] handling requests
[2022-04-05T11:54:17Z DEBUG netlink_proto::connection] sending messages
[2022-04-05T11:54:17Z DEBUG netlink_proto::connection] reading incoming messages
[2022-04-05T11:54:17Z DEBUG netlink_proto::codecs] NetlinkCodec: decoding next message
[2022-04-05T11:54:17Z DEBUG netlink_proto::connection] forwarding unsolicited messages to the connection handle
[2022-04-05T11:54:17Z DEBUG netlink_proto::connection] forwaring responses to previous requests to the connection handle
[2022-04-05T11:54:17Z DEBUG netlink_proto::connection] handling requests
[2022-04-05T11:54:17Z DEBUG netlink_proto::connection] sending messages
[2022-04-05T11:54:17Z INFO  client] Observed address: "/ip4/87.74.68.137/tcp/37249"
[2022-04-05T11:54:17Z DEBUG netlink_proto::connection] reading incoming messages
[2022-04-05T11:54:17Z DEBUG netlink_proto::codecs] NetlinkCodec: decoding next message
[2022-04-05T11:54:17Z DEBUG netlink_proto::connection] forwarding unsolicited messages to the connection handle
[2022-04-05T11:54:17Z DEBUG netlink_proto::connection] forwaring responses to previous requests to the connection handle
[2022-04-05T11:54:17Z DEBUG netlink_proto::connection] handling requests
[2022-04-05T11:54:17Z DEBUG netlink_proto::connection] sending messages
[2022-04-05T11:54:17Z DEBUG netlink_proto::connection] reading incoming messages
[2022-04-05T11:54:17Z DEBUG netlink_proto::codecs] NetlinkCodec: decoding next message
[2022-04-05T11:54:17Z DEBUG netlink_proto::connection] forwarding unsolicited messages to the connection handle
[2022-04-05T11:54:17Z DEBUG netlink_proto::connection] forwaring responses to previous requests to the connection handle
[2022-04-05T11:54:17Z DEBUG netlink_proto::connection] handling requests
[2022-04-05T11:54:17Z DEBUG netlink_proto::connection] sending messages
[2022-04-05T11:54:21Z DEBUG multistream_select::listener_select] Listener: confirming protocol: /libp2p/circuit/relay/0.2.0/stop
[2022-04-05T11:54:21Z DEBUG multistream_select::listener_select] Listener: sent confirmed protocol: /libp2p/circuit/relay/0.2.0/stop
[2022-04-05T11:54:22Z DEBUG libp2p_core::upgrade::apply] Successfully applied negotiated protocol
[2022-04-05T11:54:22Z DEBUG netlink_proto::connection] reading incoming messages
[2022-04-05T11:54:22Z DEBUG netlink_proto::codecs] NetlinkCodec: decoding next message
[2022-04-05T11:54:22Z DEBUG netlink_proto::connection] forwarding unsolicited messages to the connection handle
[2022-04-05T11:54:22Z DEBUG netlink_proto::connection] forwaring responses to previous requests to the connection handle
[2022-04-05T11:54:22Z DEBUG netlink_proto::connection] handling requests
[2022-04-05T11:54:22Z DEBUG netlink_proto::connection] sending messages
[2022-04-05T11:54:22Z DEBUG netlink_proto::connection] reading incoming messages
[2022-04-05T11:54:22Z DEBUG netlink_proto::codecs] NetlinkCodec: decoding next message
[2022-04-05T11:54:22Z DEBUG netlink_proto::connection] forwarding unsolicited messages to the connection handle
[2022-04-05T11:54:22Z DEBUG netlink_proto::connection] forwaring responses to previous requests to the connection handle
[2022-04-05T11:54:22Z DEBUG netlink_proto::connection] handling requests
[2022-04-05T11:54:22Z DEBUG netlink_proto::connection] sending messages
[2022-04-05T11:54:22Z INFO  client] InboundCircuitEstablished { src_peer_id: PeerId("12D3KooWDpJ7As7BWAwRMfu1VU2WCqNjvq387JEYKDBj4kx6nXTN"), limit: Some(Limit { duration: Some(120s), data_in_bytes: Some(131072) }) }
[2022-04-05T11:54:22Z DEBUG netlink_proto::connection] reading incoming messages
[2022-04-05T11:54:22Z DEBUG netlink_proto::codecs] NetlinkCodec: decoding next message
[2022-04-05T11:54:22Z DEBUG netlink_proto::connection] forwarding unsolicited messages to the connection handle
[2022-04-05T11:54:22Z DEBUG netlink_proto::connection] forwaring responses to previous requests to the connection handle
[2022-04-05T11:54:22Z DEBUG netlink_proto::connection] handling requests
[2022-04-05T11:54:22Z DEBUG netlink_proto::connection] sending messages
[2022-04-05T11:54:22Z DEBUG netlink_proto::connection] reading incoming messages
[2022-04-05T11:54:22Z DEBUG netlink_proto::codecs] NetlinkCodec: decoding next message
[2022-04-05T11:54:22Z DEBUG netlink_proto::connection] forwarding unsolicited messages to the connection handle
[2022-04-05T11:54:22Z DEBUG netlink_proto::connection] forwaring responses to previous requests to the connection handle
[2022-04-05T11:54:22Z DEBUG netlink_proto::connection] handling requests
[2022-04-05T11:54:22Z DEBUG netlink_proto::connection] sending messages
[2022-04-05T11:54:22Z DEBUG netlink_proto::connection] reading incoming messages
[2022-04-05T11:54:22Z DEBUG netlink_proto::codecs] NetlinkCodec: decoding next message
[2022-04-05T11:54:22Z DEBUG netlink_proto::connection] forwarding unsolicited messages to the connection handle
[2022-04-05T11:54:22Z DEBUG netlink_proto::connection] forwaring responses to previous requests to the connection handle
[2022-04-05T11:54:22Z DEBUG netlink_proto::connection] handling requests
[2022-04-05T11:54:22Z DEBUG netlink_proto::connection] sending messages
[2022-04-05T11:54:22Z DEBUG multistream_select::listener_select] Listener: confirming protocol: /noise
[2022-04-05T11:54:22Z DEBUG multistream_select::listener_select] Listener: sent confirmed protocol: /noise
[2022-04-05T11:54:22Z DEBUG libp2p_core::upgrade::apply] Successfully applied negotiated protocol
[2022-04-05T11:54:22Z DEBUG multistream_select::listener_select] Listener: confirming protocol: /yamux/1.0.0
[2022-04-05T11:54:22Z DEBUG multistream_select::listener_select] Listener: sent confirmed protocol: /yamux/1.0.0
[2022-04-05T11:54:22Z DEBUG yamux::connection] new connection: 931849ce (Server)
[2022-04-05T11:54:22Z DEBUG libp2p_core::upgrade::apply] Successfully applied negotiated protocol
[2022-04-05T11:54:22Z DEBUG netlink_proto::connection] reading incoming messages
[2022-04-05T11:54:22Z DEBUG netlink_proto::codecs] NetlinkCodec: decoding next message
[2022-04-05T11:54:22Z DEBUG netlink_proto::connection] forwarding unsolicited messages to the connection handle
[2022-04-05T11:54:22Z DEBUG netlink_proto::connection] forwaring responses to previous requests to the connection handle
[2022-04-05T11:54:22Z DEBUG netlink_proto::connection] handling requests
[2022-04-05T11:54:22Z DEBUG netlink_proto::connection] sending messages
[2022-04-05T11:54:22Z DEBUG yamux::connection] 931849ce: new outbound (Stream 931849ce/2) of (Connection 931849ce Server (streams 0))
[2022-04-05T11:54:22Z DEBUG libp2p_swarm] Connection established: PeerId("12D3KooWH3uVF6wv47WnArKHk5p6cvgCJEb74UTmxztmQDc298L3") Listener { local_addr: "/dns4/myel.relay/tcp/4001/p2p/12D3KooWDpJ7As7BWAwRMfu1VU2WCqNjvq387JEYKDBj4kx6nXTN/p2p-circuit", send_back_addr: "/p2p/12D3KooWDpJ7As7BWAwRMfu1VU2WCqNjvq387JEYKDBj4kx6nXTN" }; Total (peer): 1. Total non-banned (peer): 1
[2022-04-05T11:54:22Z DEBUG multistream_select::dialer_select] Dialer: Proposed protocol: /ipfs/id/1.0.0
[2022-04-05T11:54:22Z DEBUG yamux::connection] 931849ce: new outbound (Stream 931849ce/4) of (Connection 931849ce Server (streams 1))
[2022-04-05T11:54:22Z INFO  client] Established connection to PeerId("12D3KooWH3uVF6wv47WnArKHk5p6cvgCJEb74UTmxztmQDc298L3") via Listener { local_addr: "/dns4/myel.relay/tcp/4001/p2p/12D3KooWDpJ7As7BWAwRMfu1VU2WCqNjvq387JEYKDBj4kx6nXTN/p2p-circuit", send_back_addr: "/p2p/12D3KooWDpJ7As7BWAwRMfu1VU2WCqNjvq387JEYKDBj4kx6nXTN" }
[2022-04-05T11:54:22Z DEBUG netlink_proto::connection] reading incoming messages
[2022-04-05T11:54:22Z DEBUG netlink_proto::codecs] NetlinkCodec: decoding next message
[2022-04-05T11:54:22Z DEBUG multistream_select::dialer_select] Dialer: Proposed protocol: /ipfs/ping/1.0.0
[2022-04-05T11:54:22Z DEBUG netlink_proto::connection] forwarding unsolicited messages to the connection handle
[2022-04-05T11:54:22Z DEBUG netlink_proto::connection] forwaring responses to previous requests to the connection handle
[2022-04-05T11:54:22Z DEBUG netlink_proto::connection] handling requests
[2022-04-05T11:54:22Z DEBUG netlink_proto::connection] sending messages
[2022-04-05T11:54:22Z DEBUG netlink_proto::connection] reading incoming messages
[2022-04-05T11:54:22Z DEBUG netlink_proto::codecs] NetlinkCodec: decoding next message
[2022-04-05T11:54:22Z DEBUG netlink_proto::connection] forwarding unsolicited messages to the connection handle
[2022-04-05T11:54:22Z DEBUG netlink_proto::connection] forwaring responses to previous requests to the connection handle
[2022-04-05T11:54:22Z DEBUG netlink_proto::connection] handling requests
[2022-04-05T11:54:22Z DEBUG netlink_proto::connection] sending messages
[2022-04-05T11:54:22Z DEBUG yamux::connection] 931849ce: new outbound (Stream 931849ce/6) of (Connection 931849ce Server (streams 2))
[2022-04-05T11:54:22Z DEBUG multistream_select::dialer_select] Dialer: Proposed protocol: /libp2p/dcutr
[2022-04-05T11:54:22Z INFO  client] InitiatedDirectConnectionUpgrade { remote_peer_id: PeerId("12D3KooWH3uVF6wv47WnArKHk5p6cvgCJEb74UTmxztmQDc298L3"), local_relayed_addr: "/dns4/myel.relay/tcp/4001/p2p/12D3KooWDpJ7As7BWAwRMfu1VU2WCqNjvq387JEYKDBj4kx6nXTN/p2p-circuit" }
[2022-04-05T11:54:22Z DEBUG netlink_proto::connection] reading incoming messages
[2022-04-05T11:54:22Z DEBUG netlink_proto::codecs] NetlinkCodec: decoding next message
[2022-04-05T11:54:22Z DEBUG netlink_proto::connection] forwarding unsolicited messages to the connection handle
[2022-04-05T11:54:22Z DEBUG netlink_proto::connection] forwaring responses to previous requests to the connection handle
[2022-04-05T11:54:22Z DEBUG netlink_proto::connection] handling requests
[2022-04-05T11:54:22Z DEBUG netlink_proto::connection] sending messages
[2022-04-05T11:54:22Z DEBUG multistream_select::listener_select] Listener: confirming protocol: /ipfs/ping/1.0.0
[2022-04-05T11:54:22Z DEBUG multistream_select::listener_select] Listener: sent confirmed protocol: /ipfs/ping/1.0.0
[2022-04-05T11:54:22Z DEBUG libp2p_core::upgrade::apply] Successfully applied negotiated protocol
[2022-04-05T11:54:22Z DEBUG multistream_select::dialer_select] Dialer: Received confirmation for protocol: /ipfs/id/1.0.0
[2022-04-05T11:54:22Z DEBUG libp2p_core::upgrade::apply] Successfully applied negotiated protocol
[2022-04-05T11:54:22Z DEBUG multistream_select::dialer_select] Dialer: Received confirmation for protocol: /ipfs/ping/1.0.0
[2022-04-05T11:54:22Z DEBUG libp2p_core::upgrade::apply] Successfully applied negotiated protocol
[2022-04-05T11:54:22Z DEBUG multistream_select::dialer_select] Dialer: Received confirmation for protocol: /libp2p/dcutr
[2022-04-05T11:54:22Z DEBUG libp2p_ping::protocol] Waiting for ping ...
[2022-04-05T11:54:22Z DEBUG libp2p_ping::protocol] Preparing ping payload [203, 238, 8, 35, 46, 125, 21, 172, 76, 20, 141, 10, 134, 35, 254, 210, 11, 75, 34, 142, 222, 145, 75, 27, 238, 184, 4, 152, 196, 120, 188, 35]
[2022-04-05T11:54:22Z DEBUG libp2p_ping::protocol] Awaiting pong for [203, 238, 8, 35, 46, 125, 21, 172, 76, 20, 141, 10, 134, 35, 254, 210, 11, 75, 34, 142, 222, 145, 75, 27, 238, 184, 4, 152, 196, 120, 188, 35]
[2022-04-05T11:54:22Z DEBUG netlink_proto::connection] reading incoming messages
[2022-04-05T11:54:22Z DEBUG netlink_proto::codecs] NetlinkCodec: decoding next message
[2022-04-05T11:54:22Z DEBUG netlink_proto::connection] forwarding unsolicited messages to the connection handle
[2022-04-05T11:54:22Z DEBUG netlink_proto::connection] forwaring responses to previous requests to the connection handle
[2022-04-05T11:54:22Z DEBUG netlink_proto::connection] handling requests
[2022-04-05T11:54:22Z DEBUG netlink_proto::connection] sending messages
[2022-04-05T11:54:22Z DEBUG multistream_select::listener_select] Listener: confirming protocol: /ipfs/id/1.0.0
[2022-04-05T11:54:22Z DEBUG multistream_select::listener_select] Listener: sent confirmed protocol: /ipfs/id/1.0.0
[2022-04-05T11:54:22Z DEBUG libp2p_core::upgrade::apply] Successfully applied negotiated protocol
[2022-04-05T11:54:22Z INFO  client] Received { peer_id: PeerId("12D3KooWH3uVF6wv47WnArKHk5p6cvgCJEb74UTmxztmQDc298L3"), info: IdentifyInfo { public_key: Ed25519(PublicKey(compressed): 6b79c57e6a95239282c4818e96112f3f3a401ba97a564c23852a3f1ea5fc), protocol_version: "/TODO/0.0.1", agent_version: "rust-libp2p/0.35.0", listen_addrs: ["/ip4/82.92.27.242/tcp/40491", "/ip4/127.0.0.1/tcp/40491", "/ip4/192.168.0.67/tcp/40491", "/ip4/100.121.184.41/tcp/40491"], protocols: ["/libp2p/circuit/relay/0.2.0/stop", "/ipfs/ping/1.0.0", "/ipfs/id/1.0.0", "/ipfs/id/push/1.0.0", "/libp2p/dcutr"], observed_addr: "/dns4/myel.relay/tcp/4001/p2p/12D3KooWDpJ7As7BWAwRMfu1VU2WCqNjvq387JEYKDBj4kx6nXTN/p2p-circuit/p2p/12D3KooWPjceQrSwdWXPyLLeABRXmuqt69Rg3sBYbU1Nft9HyQ6X" } }
[2022-04-05T11:54:22Z DEBUG netlink_proto::connection] reading incoming messages
[2022-04-05T11:54:22Z DEBUG netlink_proto::codecs] NetlinkCodec: decoding next message
[2022-04-05T11:54:22Z DEBUG netlink_proto::connection] forwarding unsolicited messages to the connection handle
[2022-04-05T11:54:22Z DEBUG netlink_proto::connection] forwaring responses to previous requests to the connection handle
[2022-04-05T11:54:22Z DEBUG netlink_proto::connection] handling requests
[2022-04-05T11:54:22Z DEBUG netlink_proto::connection] sending messages
[2022-04-05T11:54:22Z DEBUG netlink_proto::connection] reading incoming messages
[2022-04-05T11:54:22Z DEBUG netlink_proto::codecs] NetlinkCodec: decoding next message
[2022-04-05T11:54:22Z DEBUG netlink_proto::connection] forwarding unsolicited messages to the connection handle
[2022-04-05T11:54:22Z DEBUG netlink_proto::connection] forwaring responses to previous requests to the connection handle
[2022-04-05T11:54:22Z DEBUG netlink_proto::connection] handling requests
[2022-04-05T11:54:22Z DEBUG netlink_proto::connection] sending messages
[2022-04-05T11:54:22Z INFO  client] Sent { peer_id: PeerId("12D3KooWH3uVF6wv47WnArKHk5p6cvgCJEb74UTmxztmQDc298L3") }
[2022-04-05T11:54:22Z DEBUG netlink_proto::connection] reading incoming messages
[2022-04-05T11:54:22Z DEBUG netlink_proto::codecs] NetlinkCodec: decoding next message
[2022-04-05T11:54:22Z DEBUG netlink_proto::connection] forwarding unsolicited messages to the connection handle
[2022-04-05T11:54:22Z DEBUG netlink_proto::connection] forwaring responses to previous requests to the connection handle
[2022-04-05T11:54:22Z DEBUG netlink_proto::connection] handling requests
[2022-04-05T11:54:22Z DEBUG netlink_proto::connection] sending messages
[2022-04-05T11:54:22Z DEBUG libp2p_ping::protocol] Sending pong for [121, 66, 239, 67, 70, 106, 136, 173, 51, 195, 159, 84, 95, 245, 123, 159, 198, 153, 95, 185, 242, 166, 49, 173, 196, 217, 39, 237, 178, 141, 185, 203]
[2022-04-05T11:54:22Z DEBUG netlink_proto::connection] reading incoming messages
[2022-04-05T11:54:22Z DEBUG netlink_proto::codecs] NetlinkCodec: decoding next message
[2022-04-05T11:54:22Z DEBUG netlink_proto::connection] forwarding unsolicited messages to the connection handle
[2022-04-05T11:54:22Z DEBUG netlink_proto::connection] forwaring responses to previous requests to the connection handle
[2022-04-05T11:54:22Z DEBUG netlink_proto::connection] handling requests
[2022-04-05T11:54:22Z DEBUG netlink_proto::connection] sending messages
[2022-04-05T11:54:22Z DEBUG libp2p_ping::protocol] Waiting for ping ...
[2022-04-05T11:54:22Z DEBUG netlink_proto::connection] reading incoming messages
[2022-04-05T11:54:22Z DEBUG netlink_proto::codecs] NetlinkCodec: decoding next message
[2022-04-05T11:54:22Z DEBUG netlink_proto::connection] forwarding unsolicited messages to the connection handle
[2022-04-05T11:54:22Z DEBUG netlink_proto::connection] forwaring responses to previous requests to the connection handle
[2022-04-05T11:54:22Z DEBUG netlink_proto::connection] handling requests
[2022-04-05T11:54:22Z DEBUG netlink_proto::connection] sending messages
[2022-04-05T11:54:22Z DEBUG netlink_proto::connection] reading incoming messages
[2022-04-05T11:54:22Z DEBUG netlink_proto::codecs] NetlinkCodec: decoding next message
[2022-04-05T11:54:22Z DEBUG netlink_proto::connection] forwarding unsolicited messages to the connection handle
[2022-04-05T11:54:22Z DEBUG netlink_proto::connection] forwaring responses to previous requests to the connection handle
[2022-04-05T11:54:22Z DEBUG netlink_proto::connection] handling requests
[2022-04-05T11:54:22Z DEBUG netlink_proto::connection] sending messages
[2022-04-05T11:54:23Z DEBUG libp2p_core::upgrade::apply] Successfully applied negotiated protocol
[2022-04-05T11:54:23Z DEBUG netlink_proto::connection] reading incoming messages
[2022-04-05T11:54:23Z DEBUG netlink_proto::codecs] NetlinkCodec: decoding next message
[2022-04-05T11:54:23Z DEBUG netlink_proto::connection] forwarding unsolicited messages to the connection handle
[2022-04-05T11:54:23Z DEBUG netlink_proto::connection] forwaring responses to previous requests to the connection handle
[2022-04-05T11:54:23Z DEBUG netlink_proto::connection] handling requests
[2022-04-05T11:54:23Z DEBUG netlink_proto::connection] sending messages
[2022-04-05T11:54:23Z DEBUG netlink_proto::connection] reading incoming messages
[2022-04-05T11:54:23Z DEBUG netlink_proto::codecs] NetlinkCodec: decoding next message
[2022-04-05T11:54:23Z DEBUG netlink_proto::connection] forwarding unsolicited messages to the connection handle
[2022-04-05T11:54:23Z DEBUG netlink_proto::connection] forwaring responses to previous requests to the connection handle
[2022-04-05T11:54:23Z DEBUG netlink_proto::connection] handling requests
[2022-04-05T11:54:23Z DEBUG netlink_proto::connection] sending messages
[2022-04-05T11:54:23Z DEBUG libp2p_dns] Dialing /ip4/82.92.27.242/tcp/40491/p2p/12D3KooWH3uVF6wv47WnArKHk5p6cvgCJEb74UTmxztmQDc298L3
[2022-04-05T11:54:23Z DEBUG libp2p_tcp] dialing 82.92.27.242:40491
[2022-04-05T11:54:23Z DEBUG libp2p_dns] Dialing /p2p/12D3KooWDpJ7As7BWAwRMfu1VU2WCqNjvq387JEYKDBj4kx6nXTN/p2p/12D3KooWH3uVF6wv47WnArKHk5p6cvgCJEb74UTmxztmQDc298L3
[2022-04-05T11:54:23Z DEBUG libp2p_dns] Dial error: MultiaddrNotSupported("/p2p/12D3KooWDpJ7As7BWAwRMfu1VU2WCqNjvq387JEYKDBj4kx6nXTN/p2p/12D3KooWH3uVF6wv47WnArKHk5p6cvgCJEb74UTmxztmQDc298L3").

Sanity Check: Laptop dialing node A -- dialing logs

Issues also crop up on the dialer's end when attempting to hole punch to Node A using my personal laptop. Though this could be because the laptop is behind a difficult NAT (i.e the machine's IP depends on destination), I've had others replicate this issue (attempting to direct connect to A via R) on their personal laptops (on different home networks) but I can't verify the properties of their NATs to confirm a pattern.

[2022-04-05T13:47:02Z INFO  client] Local peer id: PeerId("12D3KooWQYhTNQdmr3ArTeUHRYzFg94BKyTkoWBDWez9kSCVe2Xo")
[2022-04-05T13:47:02Z DEBUG libp2p_tcp] listening on 0.0.0.0:0
[2022-04-05T13:47:02Z DEBUG libp2p_tcp] New listen address: /ip4/127.0.0.1/tcp/50653
[2022-04-05T13:47:02Z DEBUG libp2p_swarm] Listener ListenerId(1); New address: "/ip4/127.0.0.1/tcp/50653"
[2022-04-05T13:47:02Z INFO  client] Listening on "/ip4/127.0.0.1/tcp/50653"
[2022-04-05T13:47:02Z DEBUG libp2p_tcp] New listen address: /ip4/172.17.135.106/tcp/50653
[2022-04-05T13:47:02Z DEBUG libp2p_swarm] Listener ListenerId(1); New address: "/ip4/172.17.135.106/tcp/50653"
[2022-04-05T13:47:02Z INFO  client] Listening on "/ip4/172.17.135.106/tcp/50653"
[2022-04-05T13:47:02Z DEBUG libp2p_tcp] New listen address: /ip4/192.168.2.1/tcp/50653
[2022-04-05T13:47:02Z DEBUG libp2p_swarm] Listener ListenerId(1); New address: "/ip4/192.168.2.1/tcp/50653"
[2022-04-05T13:47:02Z INFO  client] Listening on "/ip4/192.168.2.1/tcp/50653"
[2022-04-05T13:47:02Z DEBUG libp2p_tcp] New listen address: /ip4/100.115.97.25/tcp/50653
[2022-04-05T13:47:02Z DEBUG libp2p_swarm] Listener ListenerId(1); New address: "/ip4/100.115.97.25/tcp/50653"
[2022-04-05T13:47:02Z INFO  client] Listening on "/ip4/100.115.97.25/tcp/50653"
[2022-04-05T13:47:03Z DEBUG libp2p_dns] Dialing /ip4/81.2.94.98/tcp/4001/p2p/12D3KooWDpJ7As7BWAwRMfu1VU2WCqNjvq387JEYKDBj4kx6nXTN
[2022-04-05T13:47:03Z DEBUG libp2p_tcp] dialing 81.2.94.98:4001
[2022-04-05T13:47:03Z DEBUG multistream_select::dialer_select] Dialer: Proposed protocol: /noise
[2022-04-05T13:47:03Z DEBUG multistream_select::dialer_select] Dialer: Received confirmation for protocol: /noise
[2022-04-05T13:47:03Z DEBUG libp2p_core::upgrade::apply] Successfully applied negotiated protocol
[2022-04-05T13:47:03Z DEBUG multistream_select::dialer_select] Dialer: Proposed protocol: /yamux/1.0.0
[2022-04-05T13:47:03Z DEBUG multistream_select::dialer_select] Dialer: Received confirmation for protocol: /yamux/1.0.0
[2022-04-05T13:47:03Z DEBUG yamux::connection] new connection: 86795a90 (Client)
[2022-04-05T13:47:03Z DEBUG libp2p_core::upgrade::apply] Successfully applied negotiated protocol
[2022-04-05T13:47:03Z DEBUG libp2p_swarm] Connection established: PeerId("12D3KooWDpJ7As7BWAwRMfu1VU2WCqNjvq387JEYKDBj4kx6nXTN") Dialer { address: "/ip4/81.2.94.98/tcp/4001/p2p/12D3KooWDpJ7As7BWAwRMfu1VU2WCqNjvq387JEYKDBj4kx6nXTN", role_override: Dialer }; Total (peer): 1. Total non-banned (peer): 1
[2022-04-05T13:47:03Z DEBUG multistream_select::listener_select] Listener: confirming protocol: /ipfs/ping/1.0.0
[2022-04-05T13:47:03Z DEBUG multistream_select::listener_select] Listener: sent confirmed protocol: /ipfs/ping/1.0.0
[2022-04-05T13:47:03Z DEBUG libp2p_core::upgrade::apply] Successfully applied negotiated protocol
[2022-04-05T13:47:03Z DEBUG libp2p_ping::protocol] Waiting for ping ...
[2022-04-05T13:47:03Z DEBUG yamux::connection] 86795a90: new outbound (Stream 86795a90/1) of (Connection 86795a90 Client (streams 1))
[2022-04-05T13:47:03Z DEBUG multistream_select::dialer_select] Dialer: Proposed protocol: /ipfs/ping/1.0.0
[2022-04-05T13:47:03Z DEBUG multistream_select::dialer_select] Dialer: Received confirmation for protocol: /ipfs/ping/1.0.0
[2022-04-05T13:47:03Z DEBUG libp2p_core::upgrade::apply] Successfully applied negotiated protocol
[2022-04-05T13:47:03Z DEBUG libp2p_ping::protocol] Sending pong for [173, 102, 102, 142, 161, 26, 74, 103, 17, 31, 17, 207, 161, 201, 79, 28, 86, 247, 13, 42, 136, 186, 103, 104, 247, 4, 135, 253, 57, 164, 8, 14]
[2022-04-05T13:47:03Z DEBUG libp2p_ping::protocol] Waiting for ping ...
[2022-04-05T13:47:03Z DEBUG libp2p_ping::protocol] Preparing ping payload [176, 100, 87, 81, 216, 205, 222, 33, 152, 144, 128, 5, 106, 92, 29, 19, 125, 63, 96, 234, 147, 185, 67, 24, 173, 0, 131, 56, 2, 26, 136, 182]
[2022-04-05T13:47:03Z DEBUG libp2p_ping::protocol] Awaiting pong for [176, 100, 87, 81, 216, 205, 222, 33, 152, 144, 128, 5, 106, 92, 29, 19, 125, 63, 96, 234, 147, 185, 67, 24, 173, 0, 131, 56, 2, 26, 136, 182]
[2022-04-05T13:47:03Z DEBUG yamux::connection] 86795a90: new outbound (Stream 86795a90/3) of (Connection 86795a90 Client (streams 2))
[2022-04-05T13:47:03Z DEBUG multistream_select::dialer_select] Dialer: Proposed protocol: /ipfs/id/1.0.0
[2022-04-05T13:47:03Z DEBUG multistream_select::listener_select] Listener: confirming protocol: /ipfs/id/1.0.0
[2022-04-05T13:47:03Z DEBUG multistream_select::listener_select] Listener: sent confirmed protocol: /ipfs/id/1.0.0
[2022-04-05T13:47:03Z DEBUG libp2p_core::upgrade::apply] Successfully applied negotiated protocol
[2022-04-05T13:47:03Z DEBUG multistream_select::dialer_select] Dialer: Received confirmation for protocol: /ipfs/id/1.0.0
[2022-04-05T13:47:03Z DEBUG libp2p_core::upgrade::apply] Successfully applied negotiated protocol
[2022-04-05T13:47:03Z INFO  client] Observed address: "/ip4/5.148.155.9/tcp/22907"
[2022-04-05T13:47:03Z DEBUG yamux::connection] 86795a90: new outbound (Stream 86795a90/5) of (Connection 86795a90 Client (streams 2))
[2022-04-05T13:47:03Z DEBUG multistream_select::dialer_select] Dialer: Proposed protocol: /libp2p/circuit/relay/0.2.0/hop
[2022-04-05T13:47:03Z DEBUG multistream_select::dialer_select] Dialer: Received confirmation for protocol: /libp2p/circuit/relay/0.2.0/hop
[2022-04-05T13:47:04Z DEBUG libp2p_core::upgrade::apply] Successfully applied negotiated protocol
[2022-04-05T13:47:04Z DEBUG multistream_select::dialer_select] Dialer: Proposed protocol: /noise
[2022-04-05T13:47:04Z INFO  client] OutboundCircuitEstablished { relay_peer_id: PeerId("12D3KooWDpJ7As7BWAwRMfu1VU2WCqNjvq387JEYKDBj4kx6nXTN"), limit: None }
[2022-04-05T13:47:04Z DEBUG multistream_select::dialer_select] Dialer: Received confirmation for protocol: /noise
[2022-04-05T13:47:04Z DEBUG libp2p_core::upgrade::apply] Successfully applied negotiated protocol
[2022-04-05T13:47:04Z DEBUG multistream_select::dialer_select] Dialer: Proposed protocol: /yamux/1.0.0
[2022-04-05T13:47:04Z DEBUG multistream_select::dialer_select] Dialer: Received confirmation for protocol: /yamux/1.0.0
[2022-04-05T13:47:04Z DEBUG yamux::connection] new connection: 3debf8cf (Client)
[2022-04-05T13:47:04Z DEBUG libp2p_core::upgrade::apply] Successfully applied negotiated protocol
[2022-04-05T13:47:04Z DEBUG multistream_select::listener_select] Listener: confirming protocol: /ipfs/id/1.0.0
[2022-04-05T13:47:04Z DEBUG multistream_select::listener_select] Listener: sent confirmed protocol: /ipfs/id/1.0.0
[2022-04-05T13:47:04Z DEBUG libp2p_swarm] Connection established: PeerId("12D3KooWPjceQrSwdWXPyLLeABRXmuqt69Rg3sBYbU1Nft9HyQ6X") Dialer { address: "/ip4/81.2.94.98/tcp/4001/p2p/12D3KooWDpJ7As7BWAwRMfu1VU2WCqNjvq387JEYKDBj4kx6nXTN/p2p-circuit/p2p/12D3KooWPjceQrSwdWXPyLLeABRXmuqt69Rg3sBYbU1Nft9HyQ6X", role_override: Dialer }; Total (peer): 1. Total non-banned (peer): 1
[2022-04-05T13:47:04Z DEBUG libp2p_core::upgrade::apply] Successfully applied negotiated protocol
[2022-04-05T13:47:04Z DEBUG multistream_select::listener_select] Listener: confirming protocol: /ipfs/ping/1.0.0
[2022-04-05T13:47:04Z DEBUG multistream_select::listener_select] Listener: sent confirmed protocol: /ipfs/ping/1.0.0
[2022-04-05T13:47:04Z DEBUG libp2p_core::upgrade::apply] Successfully applied negotiated protocol
[2022-04-05T13:47:04Z DEBUG libp2p_ping::protocol] Waiting for ping ...
[2022-04-05T13:47:04Z INFO  client] Established connection to PeerId("12D3KooWPjceQrSwdWXPyLLeABRXmuqt69Rg3sBYbU1Nft9HyQ6X") via Dialer { address: "/ip4/81.2.94.98/tcp/4001/p2p/12D3KooWDpJ7As7BWAwRMfu1VU2WCqNjvq387JEYKDBj4kx6nXTN/p2p-circuit/p2p/12D3KooWPjceQrSwdWXPyLLeABRXmuqt69Rg3sBYbU1Nft9HyQ6X", role_override: Dialer }
[2022-04-05T13:47:04Z DEBUG multistream_select::listener_select] Listener: confirming protocol: /libp2p/dcutr
[2022-04-05T13:47:04Z DEBUG multistream_select::listener_select] Listener: sent confirmed protocol: /libp2p/dcutr
[2022-04-05T13:47:04Z INFO  client] Sent { peer_id: PeerId("12D3KooWPjceQrSwdWXPyLLeABRXmuqt69Rg3sBYbU1Nft9HyQ6X") }
[2022-04-05T13:47:04Z DEBUG yamux::connection] 3debf8cf: new outbound (Stream 3debf8cf/1) of (Connection 3debf8cf Client (streams 2))
[2022-04-05T13:47:04Z DEBUG multistream_select::dialer_select] Dialer: Proposed protocol: /ipfs/ping/1.0.0
[2022-04-05T13:47:04Z DEBUG yamux::connection] 3debf8cf: new outbound (Stream 3debf8cf/3) of (Connection 3debf8cf Client (streams 3))
[2022-04-05T13:47:04Z DEBUG multistream_select::dialer_select] Dialer: Proposed protocol: /ipfs/id/1.0.0
[2022-04-05T13:47:04Z DEBUG libp2p_core::upgrade::apply] Successfully applied negotiated protocol
[2022-04-05T13:47:04Z DEBUG multistream_select::dialer_select] Dialer: Received confirmation for protocol: /ipfs/ping/1.0.0
[2022-04-05T13:47:04Z DEBUG libp2p_core::upgrade::apply] Successfully applied negotiated protocol
[2022-04-05T13:47:04Z DEBUG multistream_select::dialer_select] Dialer: Received confirmation for protocol: /ipfs/id/1.0.0
[2022-04-05T13:47:04Z DEBUG libp2p_core::upgrade::apply] Successfully applied negotiated protocol
[2022-04-05T13:47:04Z DEBUG libp2p_ping::protocol] Sending pong for [167, 148, 157, 97, 103, 3, 24, 197, 34, 111, 152, 115, 139, 206, 107, 252, 87, 236, 34, 209, 220, 47, 97, 30, 215, 174, 109, 16, 102, 3, 116, 54]
[2022-04-05T13:47:04Z DEBUG libp2p_ping::protocol] Waiting for ping ...
[2022-04-05T13:47:04Z DEBUG libp2p_ping::protocol] Preparing ping payload [241, 218, 32, 67, 96, 211, 7, 60, 16, 78, 119, 251, 70, 92, 27, 197, 249, 84, 242, 39, 62, 107, 160, 111, 113, 138, 2, 107, 171, 96, 14, 173]
[2022-04-05T13:47:04Z DEBUG libp2p_ping::protocol] Awaiting pong for [241, 218, 32, 67, 96, 211, 7, 60, 16, 78, 119, 251, 70, 92, 27, 197, 249, 84, 242, 39, 62, 107, 160, 111, 113, 138, 2, 107, 171, 96, 14, 173]
[2022-04-05T13:47:04Z INFO  client] Received { peer_id: PeerId("12D3KooWPjceQrSwdWXPyLLeABRXmuqt69Rg3sBYbU1Nft9HyQ6X"), info: IdentifyInfo { public_key: Ed25519(PublicKey(compressed): cecc157dc1ddd7295951c29888f095adb944d1b73d696e6df65d683bd4fc), protocol_version: "/TODO/0.0.1", agent_version: "rust-libp2p/0.35.0", listen_addrs: ["/ip4/87.74.68.137/tcp/43749", "/ip4/81.2.94.98/tcp/4001/p2p/12D3KooWDpJ7As7BWAwRMfu1VU2WCqNjvq387JEYKDBj4kx6nXTN/p2p-circuit/p2p/12D3KooWPjceQrSwdWXPyLLeABRXmuqt69Rg3sBYbU1Nft9HyQ6X", "/ip4/127.0.0.1/tcp/43749", "/ip4/192.168.1.24/tcp/43749", "/ip4/100.101.52.121/tcp/43749", "/dns4/london.myel.zone/tcp/4001/p2p/12D3KooWDpJ7As7BWAwRMfu1VU2WCqNjvq387JEYKDBj4kx6nXTN/p2p-circuit/p2p/12D3KooWPjceQrSwdWXPyLLeABRXmuqt69Rg3sBYbU1Nft9HyQ6X", "/ip4/81.2.94.98/tcp/4001/p2p/12D3KooWDpJ7As7BWAwRMfu1VU2WCqNjvq387JEYKDBj4kx6nXTN/p2p-circuit/p2p/12D3KooWPjceQrSwdWXPyLLeABRXmuqt69Rg3sBYbU1Nft9HyQ6X"], protocols: ["/libp2p/circuit/relay/0.2.0/stop", "/ipfs/ping/1.0.0", "/ipfs/id/1.0.0", "/ipfs/id/push/1.0.0", "/libp2p/dcutr"], observed_addr: "/p2p/12D3KooWDpJ7As7BWAwRMfu1VU2WCqNjvq387JEYKDBj4kx6nXTN" } }
[2022-04-05T13:47:04Z INFO  client] RemoteInitiatedDirectConnectionUpgrade { remote_peer_id: PeerId("12D3KooWPjceQrSwdWXPyLLeABRXmuqt69Rg3sBYbU1Nft9HyQ6X"), remote_relayed_addr: "/ip4/81.2.94.98/tcp/4001/p2p/12D3KooWDpJ7As7BWAwRMfu1VU2WCqNjvq387JEYKDBj4kx6nXTN/p2p-circuit/p2p/12D3KooWPjceQrSwdWXPyLLeABRXmuqt69Rg3sBYbU1Nft9HyQ6X" }
[2022-04-05T13:47:05Z DEBUG multistream_select::listener_select] Listener: confirming protocol: /libp2p/dcutr
[2022-04-05T13:47:05Z DEBUG multistream_select::listener_select] Listener: sent confirmed protocol: /libp2p/dcutr
[2022-04-05T13:47:05Z DEBUG libp2p_dns] Dialing /ip4/87.74.68.137/tcp/43749/p2p/12D3KooWPjceQrSwdWXPyLLeABRXmuqt69Rg3sBYbU1Nft9HyQ6X
[2022-04-05T13:47:05Z DEBUG libp2p_tcp] dialing 87.74.68.137:43749
[2022-04-05T13:47:05Z DEBUG libp2p_core::upgrade::apply] Successfully applied negotiated protocol
[2022-04-05T13:47:05Z INFO  client] RemoteInitiatedDirectConnectionUpgrade { remote_peer_id: PeerId("12D3KooWPjceQrSwdWXPyLLeABRXmuqt69Rg3sBYbU1Nft9HyQ6X"), remote_relayed_addr: "/ip4/81.2.94.98/tcp/4001/p2p/12D3KooWDpJ7As7BWAwRMfu1VU2WCqNjvq387JEYKDBj4kx6nXTN/p2p-circuit/p2p/12D3KooWPjceQrSwdWXPyLLeABRXmuqt69Rg3sBYbU1Nft9HyQ6X" }
[2022-04-05T13:47:05Z DEBUG libp2p_dns] Dialing /ip4/87.74.68.137/tcp/43749/p2p/12D3KooWPjceQrSwdWXPyLLeABRXmuqt69Rg3sBYbU1Nft9HyQ6X
[2022-04-05T13:47:05Z DEBUG libp2p_tcp] dialing 87.74.68.137:43749
[2022-04-05T13:47:05Z DEBUG libp2p_dns] Dial error: Transport(Os { code: 48, kind: AddrInUse, message: "Address already in use" }).
[2022-04-05T13:47:05Z DEBUG libp2p_swarm] Connection attempt to PeerId("12D3KooWPjceQrSwdWXPyLLeABRXmuqt69Rg3sBYbU1Nft9HyQ6X") failed with Transport([("/ip4/87.74.68.137/tcp/43749/p2p/12D3KooWPjceQrSwdWXPyLLeABRXmuqt69Rg3sBYbU1Nft9HyQ6X", Other(Custom { kind: Other, error: A(A(B(Transport(Os { code: 48, kind: AddrInUse, message: "Address already in use" })))) }))]).
[2022-04-05T13:47:05Z INFO  client] Outgoing connection error to Some(PeerId("12D3KooWPjceQrSwdWXPyLLeABRXmuqt69Rg3sBYbU1Nft9HyQ6X")): Transport([("/ip4/87.72.63.138/tcp/43749/p2p/12D3KooWPjceQrSwdWXPyLLeABRXmuqt69Rg3sBYbU1Nft9HyQ6X", Other(Custom { kind: Other, error: A(A(B(Transport(Os { code: 48, kind: AddrInUse, message: "Address already in use" })))) }))])
@mxinden
Copy link
Member

mxinden commented Apr 6, 2022

Thanks for the detailed report @alexander-camuto. Very much appreciated. I still need to give this more thought, though I have a first idea:

Issues appear for nodes D and E. Both are able to establish an outbound circuit with the relay and the listening client is able to initiate a direct connection request for the relayed connection. Issues then appear when trying to establish this direction connection (see below).

Does D and E have particularly long RTT to R but short RTT to A? I am asking, as hole punching is quite time dependent. In case these nodes are close to A but far from R, the noise in the RTT measurement for hole punching might be the cause.

@mxinden
Copy link
Member

mxinden commented Apr 6, 2022

I've also double checked that none of the machines are behind difficult NATs (i.e whether the NAT varies the machine's IP depending on destination) and that they don't require hair-pinning for NAT traversal.

Varying the IP is rare, varying the port is more usual on endpoint dependent port mapping NATs. Just to make sure, are D and E behind NATs that change the port depending on the remote endpoint they are talking to?

@alexander-camuto
Copy link
Author

alexander-camuto commented Apr 6, 2022

@mxinden thanks so much for your prompt reply

  • RTT D-A is roughly of the same order as RTT D-R (~20ms).
  • Both D and E are behind Port Restricted Cone NATs that have endpoint independent mappings (I checked this using a publicly available STUN server and the stunc command line tool ). As a sanity check I've checked the NAT types for B and C, and they too are behind Port Restricted Cone NATs.

@mxinden
Copy link
Member

mxinden commented Apr 8, 2022

@alexander-camuto is D and E significantly closer to A than B and C to A?

@alexander-camuto
Copy link
Author

@mxinden D-A RTT is roughly 20ms and B-A RTT is roughly 13ms, so of the same order / approximately equidistant.

@mxinden
Copy link
Member

mxinden commented May 3, 2022

@alexander-camuto still facing the issue? Any other information that might be helpful to debug this?

@alexander-camuto
Copy link
Author

@mxinden had to switch focus for a bit. Issue still persists but will try and come back to this to generate more information we can debug off of.

@T2JOESl4m2ZpNC
Copy link

i seem to be experiencing the same issue, what's confusing me is how did this Malformed multiaddress get here

OutgoingConnectionError ... { kind: Other, error:  A(A(MultiaddrNotSupported("/p2p/<RELAY_PEERID>/p2p/<B_PEERID>")) ... 

My Setup:

  • Relay: public VPS running modified version of https://github.com/mxinden/rust-libp2p-server
  • A peer: VM connected to a VPN network and cannot reach host.
  • B peer: my host computer also connected to a VPN network (same location different server) and cannot reach guest VM.

    RTT to A: 90ms | RTT to R: 40ms

What i tried doing:

  • connecting without a VPN on my host,
  • I also tried using the example client in the DCUTR as showed in the tutorial

but still get the error

@T2JOESl4m2ZpNC
Copy link

just now i tried switching the setup while using the dcutr client example and same libp2p-server

  • now my host A is the relay (thanks to the vpn provider i can port forward and be public)
  • The VPS which used to be the Relay is now a non reachable client (firewall) A (the Dialer)
  • and peer B stays unchanged (The Listener)

using the above setup i was able to get DirectConnectionUpgradeSucceeded, but the connection quickly resets? t can see a ESTAB happen so quickly through watch -n0.001 ss -tp, idk if this is normal

@mxinden
Copy link
Member

mxinden commented May 29, 2022

i seem to be experiencing the same issue, what's confusing me is how did this Malformed multiaddress get here

OutgoingConnectionError ... { kind: Other, error:  A(A(MultiaddrNotSupported("/p2p/<RELAY_PEERID>/p2p/<B_PEERID>")) ... 

Indeed surprising. Not sure where this is from. Does the OutgoingConnectionError only contain a single (namely the MultiaddrNotSupported) error or multiple? I have the intuition that, while this one fails, the actual failure is described in another one (behind the ...).

using the above setup i was able to get DirectConnectionUpgradeSucceeded, but the connection quickly resets? t can see a ESTAB happen so quickly through watch -n0.001 ss -tp, idk if this is normal

What error is shown when the connection resets? Is the relayed connection or the direct connection reset?

@mxinden
Copy link
Member

mxinden commented May 29, 2022

Also see #2679 which might make debugging a bit easier.

@T2JOESl4m2ZpNC
Copy link

No it does no contain a single MultiaddrNotSupported, you are right after it there is also a kind: ConnectionRefused to the dialer's observed multiaddr from the relay which has a different port from the listening one.

So the listener is trying to dial a non listening port of the Dialer.
How come the Dial is happening with a new port and not reusing the listening one, is (port_reuse(true) not working? or am i getting this wrong.

here are some logs that might help:
i ran the client with RUST_LOG=libp2p=debug

NB: i am still using libp2p-server as the relay, since i got same results with relay_v2

listener:

 RUST_LOG=libp2p=debug ./client --secret-key-seed 1 --mode listen --relay-address /ip4/<RELAY_VPS_IP>/tcp/44550/p2p/12D3KooWGAJLc57wg4ZFpQkwLvMidJkMnjthjJSUNH4CKwvZnybh

[2022-05-29T17:45:31Z DEBUG libp2p_tcp] listening on 0.0.0.0:0
[2022-05-29T17:45:31Z DEBUG libp2p_tcp] New listen address: /ip4/127.0.0.1/tcp/42319
[2022-05-29T17:45:31Z DEBUG libp2p_swarm] Listener ListenerId(1); New address: "/ip4/127.0.0.1/tcp/42319"
[2022-05-29T17:45:31Z DEBUG libp2p_tcp] New listen address: /ip4/192.168.122.237/tcp/42319
[2022-05-29T17:45:31Z DEBUG libp2p_swarm] Listener ListenerId(1); New address: "/ip4/192.168.122.237/tcp/42319"
[2022-05-29T17:45:31Z DEBUG libp2p_tcp] New listen address: /ip4/10.64.214.0/tcp/42319
[2022-05-29T17:45:31Z DEBUG libp2p_swarm] Listener ListenerId(1); New address: "/ip4/10.64.214.0/tcp/42319"
[2022-05-29T17:45:32Z DEBUG libp2p_dns] Dialing /ip4/<RELAY_VPS_IP>/tcp/44550/p2p/12D3KooWGAJLc57wg4ZFpQkwLvMidJkMnjthjJSUNH4CKwvZnybh
[2022-05-29T17:45:32Z DEBUG libp2p_tcp] dialing <RELAY_VPS_IP>:44550
[2022-05-29T17:45:33Z DEBUG libp2p_core::upgrade::apply] Successfully applied negotiated protocol
[2022-05-29T17:45:33Z DEBUG libp2p_core::upgrade::apply] Successfully applied negotiated protocol
[2022-05-29T17:45:33Z DEBUG libp2p_swarm] Connection established: PeerId("12D3KooWGAJLc57wg4ZFpQkwLvMidJkMnjthjJSUNH4CKwvZnybh") Dialer { address: "/ip4/<RELAY_VPS_IP>/tcp/44550/p2p/12D3KooWGAJLc57wg4ZFpQkwLvMidJkMnjthjJSUNH4CKwvZnybh", role_override: Dialer }; Total (peer): 1. Total non-banned (peer): 1
[2022-05-29T17:45:33Z DEBUG libp2p_core::upgrade::apply] Successfully applied negotiated protocol
[2022-05-29T17:45:33Z DEBUG libp2p_core::upgrade::apply] Successfully applied negotiated protocol
[2022-05-29T17:45:34Z DEBUG libp2p_core::upgrade::apply] Successfully applied negotiated protocol
[2022-05-29T17:45:34Z DEBUG libp2p_core::upgrade::apply] Successfully applied negotiated protocol
[2022-05-29T17:45:34Z DEBUG libp2p_ping] Ping received from PeerId("12D3KooWGAJLc57wg4ZFpQkwLvMidJkMnjthjJSUNH4CKwvZnybh")
[2022-05-29T17:45:35Z DEBUG libp2p_ping] Ping sent to PeerId("12D3KooWGAJLc57wg4ZFpQkwLvMidJkMnjthjJSUNH4CKwvZnybh")
[2022-05-29T17:45:35Z DEBUG libp2p_core::upgrade::apply] Successfully applied negotiated protocol
[2022-05-29T17:45:35Z DEBUG libp2p_swarm] Listener ListenerId(2); New address: "/ip4/<RELAY_VPS_IP>/tcp/44550/p2p/12D3KooWGAJLc57wg4ZFpQkwLvMidJkMnjthjJSUNH4CKwvZnybh/p2p-circuit/p2p/12D3KooWPjceQrSwdWXPyLLeABRXmuqt69Rg3sBYbU1Nft9HyQ6X"
[2022-05-29T17:45:49Z DEBUG libp2p_core::upgrade::apply] Successfully applied negotiated protocol
[2022-05-29T17:45:49Z DEBUG libp2p_ping] Ping received from PeerId("12D3KooWGAJLc57wg4ZFpQkwLvMidJkMnjthjJSUNH4CKwvZnybh")
[2022-05-29T17:45:50Z DEBUG libp2p_ping] Ping sent to PeerId("12D3KooWGAJLc57wg4ZFpQkwLvMidJkMnjthjJSUNH4CKwvZnybh")
[2022-05-29T17:45:50Z DEBUG libp2p_core::upgrade::apply] Successfully applied negotiated protocol
[2022-05-29T17:45:50Z DEBUG libp2p_core::upgrade::apply] Successfully applied negotiated protocol
[2022-05-29T17:45:50Z DEBUG libp2p_swarm] Connection established: PeerId("12D3KooWH3uVF6wv47WnArKHk5p6cvgCJEb74UTmxztmQDc298L3") Listener { local_addr: "/ip4/<RELAY_VPS_IP>/tcp/44550/p2p/12D3KooWGAJLc57wg4ZFpQkwLvMidJkMnjthjJSUNH4CKwvZnybh/p2p-circuit", send_back_addr: "/p2p/12D3KooWGAJLc57wg4ZFpQkwLvMidJkMnjthjJSUNH4CKwvZnybh" }; Total (peer): 1. Total non-banned (peer): 1
[2022-05-29T17:45:51Z DEBUG libp2p_core::upgrade::apply] Successfully applied negotiated protocol
[2022-05-29T17:45:51Z DEBUG libp2p_core::upgrade::apply] Successfully applied negotiated protocol
[2022-05-29T17:45:51Z DEBUG libp2p_core::upgrade::apply] Successfully applied negotiated protocol
[2022-05-29T17:45:51Z DEBUG libp2p_core::upgrade::apply] Successfully applied negotiated protocol
[2022-05-29T17:45:51Z DEBUG libp2p_ping] Ping received from PeerId("12D3KooWH3uVF6wv47WnArKHk5p6cvgCJEb74UTmxztmQDc298L3")
[2022-05-29T17:45:51Z DEBUG libp2p_ping] Ping sent to PeerId("12D3KooWH3uVF6wv47WnArKHk5p6cvgCJEb74UTmxztmQDc298L3")
[2022-05-29T17:45:52Z DEBUG libp2p_core::upgrade::apply] Successfully applied negotiated protocol
[2022-05-29T17:45:52Z DEBUG libp2p_dns] Dialing /ip4/<HOST_VPN_IP>/tcp/46614/p2p/12D3KooWH3uVF6wv47WnArKHk5p6cvgCJEb74UTmxztmQDc298L3
[2022-05-29T17:45:52Z DEBUG libp2p_tcp] dialing <HOST_VPN_IP>:46614
[2022-05-29T17:45:52Z DEBUG libp2p_dns] Dialing /p2p/12D3KooWGAJLc57wg4ZFpQkwLvMidJkMnjthjJSUNH4CKwvZnybh/p2p/12D3KooWH3uVF6wv47WnArKHk5p6cvgCJEb74UTmxztmQDc298L3
[2022-05-29T17:45:52Z DEBUG libp2p_dns] Dial error: MultiaddrNotSupported("/p2p/12D3KooWGAJLc57wg4ZFpQkwLvMidJkMnjthjJSUNH4CKwvZnybh/p2p/12D3KooWH3uVF6wv47WnArKHk5p6cvgCJEb74UTmxztmQDc298L3").
[2022-05-29T17:45:52Z DEBUG libp2p_dns] Dial error: Transport(Os { code: 111, kind: ConnectionRefused, message: "Connection refused" }).
[2022-05-29T17:45:52Z DEBUG libp2p_swarm] Connection attempt to PeerId("12D3KooWH3uVF6wv47WnArKHk5p6cvgCJEb74UTmxztmQDc298L3") failed with Transport([("/p2p/12D3KooWGAJLc57wg4ZFpQkwLvMidJkMnjthjJSUNH4CKwvZnybh/p2p/12D3KooWH3uVF6wv47WnArKHk5p6cvgCJEb74UTmxztmQDc298L3", Other(Custom { kind: Other, error: A(A(B(MultiaddrNotSupported("/p2p/12D3KooWGAJLc57wg4ZFpQkwLvMidJkMnjthjJSUNH4CKwvZnybh/p2p/12D3KooWH3uVF6wv47WnArKHk5p6cvgCJEb74UTmxztmQDc298L3")))) })), ("/ip4/<HOST_VPN_IP>/tcp/46614/p2p/12D3KooWH3uVF6wv47WnArKHk5p6cvgCJEb74UTmxztmQDc298L3", Other(Custom { kind: Other, error: A(A(B(Transport(Os { code: 111, kind: ConnectionRefused, message: "Connection refused" })))) }))]).
[2022-05-29T17:45:53Z DEBUG libp2p_core::upgrade::apply] Successfully applied negotiated protocol
[2022-05-29T17:45:53Z DEBUG libp2p_dns] Dialing /ip4/<HOST_VPN_IP>/tcp/46614/p2p/12D3KooWH3uVF6wv47WnArKHk5p6cvgCJEb74UTmxztmQDc298L3
[2022-05-29T17:45:53Z DEBUG libp2p_tcp] dialing <HOST_VPN_IP>:46614
[2022-05-29T17:45:53Z DEBUG libp2p_dns] Dialing /p2p/12D3KooWGAJLc57wg4ZFpQkwLvMidJkMnjthjJSUNH4CKwvZnybh/p2p/12D3KooWH3uVF6wv47WnArKHk5p6cvgCJEb74UTmxztmQDc298L3
[2022-05-29T17:45:53Z DEBUG libp2p_dns] Dial error: MultiaddrNotSupported("/p2p/12D3KooWGAJLc57wg4ZFpQkwLvMidJkMnjthjJSUNH4CKwvZnybh/p2p/12D3KooWH3uVF6wv47WnArKHk5p6cvgCJEb74UTmxztmQDc298L3").
[2022-05-29T17:45:53Z DEBUG libp2p_dns] Dial error: Transport(Os { code: 111, kind: ConnectionRefused, message: "Connection refused" }).
[2022-05-29T17:45:53Z DEBUG libp2p_swarm] Connection attempt to PeerId("12D3KooWH3uVF6wv47WnArKHk5p6cvgCJEb74UTmxztmQDc298L3") failed with Transport([("/p2p/12D3KooWGAJLc57wg4ZFpQkwLvMidJkMnjthjJSUNH4CKwvZnybh/p2p/12D3KooWH3uVF6wv47WnArKHk5p6cvgCJEb74UTmxztmQDc298L3", Other(Custom { kind: Other, error: A(A(B(MultiaddrNotSupported("/p2p/12D3KooWGAJLc57wg4ZFpQkwLvMidJkMnjthjJSUNH4CKwvZnybh/p2p/12D3KooWH3uVF6wv47WnArKHk5p6cvgCJEb74UTmxztmQDc298L3")))) })), ("/ip4/<HOST_VPN_IP>/tcp/46614/p2p/12D3KooWH3uVF6wv47WnArKHk5p6cvgCJEb74UTmxztmQDc298L3", Other(Custom { kind: Other, error: A(A(B(Transport(Os { code: 111, kind: ConnectionRefused, message: "Connection refused" })))) }))]).
[2022-05-29T17:45:54Z DEBUG libp2p_core::upgrade::apply] Successfully applied negotiated protocol
[2022-05-29T17:45:54Z DEBUG libp2p_dns] Dialing /ip4/<HOST_VPN_IP>/tcp/46614/p2p/12D3KooWH3uVF6wv47WnArKHk5p6cvgCJEb74UTmxztmQDc298L3
[2022-05-29T17:45:54Z DEBUG libp2p_tcp] dialing <HOST_VPN_IP>:46614
[2022-05-29T17:45:54Z DEBUG libp2p_dns] Dialing /p2p/12D3KooWGAJLc57wg4ZFpQkwLvMidJkMnjthjJSUNH4CKwvZnybh/p2p/12D3KooWH3uVF6wv47WnArKHk5p6cvgCJEb74UTmxztmQDc298L3
[2022-05-29T17:45:54Z DEBUG libp2p_dns] Dial error: MultiaddrNotSupported("/p2p/12D3KooWGAJLc57wg4ZFpQkwLvMidJkMnjthjJSUNH4CKwvZnybh/p2p/12D3KooWH3uVF6wv47WnArKHk5p6cvgCJEb74UTmxztmQDc298L3").
[2022-05-29T17:45:55Z DEBUG libp2p_dns] Dial error: Transport(Os { code: 111, kind: ConnectionRefused, message: "Connection refused" }).
[2022-05-29T17:45:55Z DEBUG libp2p_swarm] Connection attempt to PeerId("12D3KooWH3uVF6wv47WnArKHk5p6cvgCJEb74UTmxztmQDc298L3") failed with Transport([("/p2p/12D3KooWGAJLc57wg4ZFpQkwLvMidJkMnjthjJSUNH4CKwvZnybh/p2p/12D3KooWH3uVF6wv47WnArKHk5p6cvgCJEb74UTmxztmQDc298L3", Other(Custom { kind: Other, error: A(A(B(MultiaddrNotSupported("/p2p/12D3KooWGAJLc57wg4ZFpQkwLvMidJkMnjthjJSUNH4CKwvZnybh/p2p/12D3KooWH3uVF6wv47WnArKHk5p6cvgCJEb74UTmxztmQDc298L3")))) })), ("/ip4/<HOST_VPN_IP>/tcp/46614/p2p/12D3KooWH3uVF6wv47WnArKHk5p6cvgCJEb74UTmxztmQDc298L3", Other(Custom { kind: Other, error: A(A(B(Transport(Os { code: 111, kind: ConnectionRefused, message: "Connection refused" })))) }))]).
[2022-05-29T17:46:05Z DEBUG libp2p_ping] Ping received from PeerId("12D3KooWGAJLc57wg4ZFpQkwLvMidJkMnjthjJSUNH4CKwvZnybh")

Dialer:

RUST_LOG=libp2p=debug ./client --secret-key-seed 2 --mode dial --relay-address /ip4/<RELAY_VPS_IP>/tcp/44550/p2p/12D3KooWGAJLc57wg4ZFpQkwLvMidJkMnjthjJSUNH4CKwvZnybh --remote-peer-id 12D3KooWPjceQrSwdWXPyLLeABRXmuqt69Rg3sBYbU1Nft9HyQ6X

[2022-05-29T17:45:47Z DEBUG libp2p_tcp] listening on 0.0.0.0:0
[2022-05-29T17:45:47Z DEBUG libp2p_tcp] New listen address: /ip4/127.0.0.1/tcp/40201
[2022-05-29T17:45:47Z DEBUG libp2p_swarm] Listener ListenerId(1); New address: "/ip4/127.0.0.1/tcp/40201"
[2022-05-29T17:45:47Z DEBUG libp2p_tcp] New listen address: /ip4/192.168.1.26/tcp/40201
[2022-05-29T17:45:47Z DEBUG libp2p_swarm] Listener ListenerId(1); New address: "/ip4/192.168.1.26/tcp/40201"
[2022-05-29T17:45:47Z DEBUG libp2p_tcp] New listen address: /ip4/10.64.214.0/tcp/40201
[2022-05-29T17:45:47Z DEBUG libp2p_swarm] Listener ListenerId(1); New address: "/ip4/10.64.214.0/tcp/40201"
[2022-05-29T17:45:47Z DEBUG libp2p_tcp] New listen address: /ip4/192.168.122.1/tcp/40201
[2022-05-29T17:45:47Z DEBUG libp2p_swarm] Listener ListenerId(1); New address: "/ip4/192.168.122.1/tcp/40201"
[2022-05-29T17:45:47Z DEBUG libp2p_tcp] New listen address: /ip4/172.17.0.1/tcp/40201
[2022-05-29T17:45:47Z DEBUG libp2p_swarm] Listener ListenerId(1); New address: "/ip4/172.17.0.1/tcp/40201"
[2022-05-29T17:45:47Z DEBUG libp2p_tcp] New listen address: /ip4/172.18.0.1/tcp/40201
[2022-05-29T17:45:47Z DEBUG libp2p_swarm] Listener ListenerId(1); New address: "/ip4/172.18.0.1/tcp/40201"
[2022-05-29T17:45:47Z DEBUG libp2p_tcp] New listen address: /ip4/172.19.0.1/tcp/40201
[2022-05-29T17:45:47Z DEBUG libp2p_swarm] Listener ListenerId(1); New address: "/ip4/172.19.0.1/tcp/40201"
[2022-05-29T17:45:47Z DEBUG libp2p_tcp] New listen address: /ip4/172.20.0.1/tcp/40201
[2022-05-29T17:45:47Z DEBUG libp2p_swarm] Listener ListenerId(1); New address: "/ip4/172.20.0.1/tcp/40201"
[2022-05-29T17:45:48Z DEBUG libp2p_dns] Dialing /ip4/<RELAY_VPS_IP>/tcp/44550/p2p/12D3KooWGAJLc57wg4ZFpQkwLvMidJkMnjthjJSUNH4CKwvZnybh
[2022-05-29T17:45:48Z DEBUG libp2p_tcp] dialing <RELAY_VPS_IP>:44550
[2022-05-29T17:45:48Z DEBUG libp2p_core::upgrade::apply] Successfully applied negotiated protocol
[2022-05-29T17:45:48Z DEBUG libp2p_core::upgrade::apply] Successfully applied negotiated protocol
[2022-05-29T17:45:48Z DEBUG libp2p_swarm] Connection established: PeerId("12D3KooWGAJLc57wg4ZFpQkwLvMidJkMnjthjJSUNH4CKwvZnybh") Dialer { address: "/ip4/<RELAY_VPS_IP>/tcp/44550/p2p/12D3KooWGAJLc57wg4ZFpQkwLvMidJkMnjthjJSUNH4CKwvZnybh", role_override: Dialer }; Total (peer): 1. Total non-banned (peer): 1
[2022-05-29T17:45:48Z DEBUG libp2p_core::upgrade::apply] Successfully applied negotiated protocol
[2022-05-29T17:45:48Z DEBUG libp2p_core::upgrade::apply] Successfully applied negotiated protocol
[2022-05-29T17:45:49Z DEBUG libp2p_core::upgrade::apply] Successfully applied negotiated protocol
[2022-05-29T17:45:49Z DEBUG libp2p_ping] Ping received from PeerId("12D3KooWGAJLc57wg4ZFpQkwLvMidJkMnjthjJSUNH4CKwvZnybh")
[2022-05-29T17:45:49Z DEBUG libp2p_core::upgrade::apply] Successfully applied negotiated protocol
[2022-05-29T17:45:49Z DEBUG libp2p_ping] Ping sent to PeerId("12D3KooWGAJLc57wg4ZFpQkwLvMidJkMnjthjJSUNH4CKwvZnybh")
[2022-05-29T17:45:50Z DEBUG libp2p_core::upgrade::apply] Successfully applied negotiated protocol
[2022-05-29T17:45:51Z DEBUG libp2p_core::upgrade::apply] Successfully applied negotiated protocol
[2022-05-29T17:45:51Z DEBUG libp2p_core::upgrade::apply] Successfully applied negotiated protocol
[2022-05-29T17:45:51Z DEBUG libp2p_swarm] Connection established: PeerId("12D3KooWPjceQrSwdWXPyLLeABRXmuqt69Rg3sBYbU1Nft9HyQ6X") Dialer { address: "/ip4/<RELAY_VPS_IP>/tcp/44550/p2p/12D3KooWGAJLc57wg4ZFpQkwLvMidJkMnjthjJSUNH4CKwvZnybh/p2p-circuit/p2p/12D3KooWPjceQrSwdWXPyLLeABRXmuqt69Rg3sBYbU1Nft9HyQ6X", role_override: Dialer }; Total (peer): 1. Total non-banned (peer): 1
[2022-05-29T17:45:51Z DEBUG libp2p_core::upgrade::apply] Successfully applied negotiated protocol
[2022-05-29T17:45:51Z DEBUG libp2p_core::upgrade::apply] Successfully applied negotiated protocol
[2022-05-29T17:45:52Z DEBUG libp2p_core::upgrade::apply] Successfully applied negotiated protocol
[2022-05-29T17:45:52Z DEBUG libp2p_core::upgrade::apply] Successfully applied negotiated protocol
[2022-05-29T17:45:52Z DEBUG libp2p_ping] Ping received from PeerId("12D3KooWPjceQrSwdWXPyLLeABRXmuqt69Rg3sBYbU1Nft9HyQ6X")
[2022-05-29T17:45:52Z DEBUG libp2p_core::upgrade::apply] Successfully applied negotiated protocol
[2022-05-29T17:45:52Z DEBUG libp2p_ping] Ping sent to PeerId("12D3KooWPjceQrSwdWXPyLLeABRXmuqt69Rg3sBYbU1Nft9HyQ6X")
[2022-05-29T17:45:52Z DEBUG libp2p_dns] Dialing /ip4/<VPN_VM_IP>/tcp/39510/p2p/12D3KooWPjceQrSwdWXPyLLeABRXmuqt69Rg3sBYbU1Nft9HyQ6X
[2022-05-29T17:45:52Z DEBUG libp2p_tcp] dialing <VPN_VM_IP>:39510
[2022-05-29T17:45:52Z DEBUG libp2p_dns] Dial error: Transport(Os { code: 111, kind: ConnectionRefused, message: "Connection refused" }).
[2022-05-29T17:45:52Z DEBUG libp2p_swarm] Connection attempt to PeerId("12D3KooWPjceQrSwdWXPyLLeABRXmuqt69Rg3sBYbU1Nft9HyQ6X") failed with Transport([("/ip4/<VPN_VM_IP>/tcp/39510/p2p/12D3KooWPjceQrSwdWXPyLLeABRXmuqt69Rg3sBYbU1Nft9HyQ6X", Other(Custom { kind: Other, error: A(A(B(Transport(Os { code: 111, kind: ConnectionRefused, message: "Connection refused" })))) }))]).
[2022-05-29T17:45:53Z DEBUG libp2p_core::upgrade::apply] Successfully applied negotiated protocol
[2022-05-29T17:45:53Z DEBUG libp2p_dns] Dialing /ip4/<VPN_VM_IP>/tcp/39510/p2p/12D3KooWPjceQrSwdWXPyLLeABRXmuqt69Rg3sBYbU1Nft9HyQ6X
[2022-05-29T17:45:53Z DEBUG libp2p_tcp] dialing <VPN_VM_IP>:39510
[2022-05-29T17:45:53Z DEBUG libp2p_dns] Dial error: Transport(Os { code: 111, kind: ConnectionRefused, message: "Connection refused" }).
[2022-05-29T17:45:53Z DEBUG libp2p_swarm] Connection attempt to PeerId("12D3KooWPjceQrSwdWXPyLLeABRXmuqt69Rg3sBYbU1Nft9HyQ6X") failed with Transport([("/ip4/<VPN_VM_IP>/tcp/39510/p2p/12D3KooWPjceQrSwdWXPyLLeABRXmuqt69Rg3sBYbU1Nft9HyQ6X", Other(Custom { kind: Other, error: A(A(B(Transport(Os { code: 111, kind: ConnectionRefused, message: "Connection refused" })))) }))]).
[2022-05-29T17:45:54Z DEBUG libp2p_core::upgrade::apply] Successfully applied negotiated protocol
[2022-05-29T17:45:55Z DEBUG libp2p_dns] Dialing /ip4/<VPN_VM_IP>/tcp/39510/p2p/12D3KooWPjceQrSwdWXPyLLeABRXmuqt69Rg3sBYbU1Nft9HyQ6X
[2022-05-29T17:45:55Z DEBUG libp2p_tcp] dialing <VPN_VM_IP>:39510
[2022-05-29T17:45:55Z DEBUG libp2p_dns] Dial error: Transport(Os { code: 111, kind: ConnectionRefused, message: "Connection refused" }).
[2022-05-29T17:45:55Z DEBUG libp2p_swarm] Connection attempt to PeerId("12D3KooWPjceQrSwdWXPyLLeABRXmuqt69Rg3sBYbU1Nft9HyQ6X") failed with Transport([("/ip4/<VPN_VM_IP>/tcp/39510/p2p/12D3KooWPjceQrSwdWXPyLLeABRXmuqt69Rg3sBYbU1Nft9HyQ6X", Other(Custom { kind: Other, error: A(A(B(Transport(Os { code: 111, kind: ConnectionRefused, message: "Connection refused" })))) }))]).
[2022-05-29T17:46:04Z DEBUG libp2p_ping] Ping received from PeerId("12D3KooWGAJLc57wg4ZFpQkwLvMidJkMnjthjJSUNH4CKwvZnybh")
[2022-05-29T17:46:04Z DEBUG libp2p_ping] Ping sent to PeerId("12D3KooWGAJLc57wg4ZFpQkwLvMidJkMnjthjJSUNH4CKwvZnybh")

@T2JOESl4m2ZpNC
Copy link

I think i maybe found an explanation for what is causing that MultiaddrNotSupported.
in the logs of my libp2p program that i'm making, i saw these couple of log lines

[INFO] - [ConnectionEstablished] to peer(PeerId("12D3KooWGjaGLqrmMBrFjbmRKdpPr44x18LXeDQjqEBVwBLDW65D")) on "/ip4/<VPS_RELAY_IP>/tcp/44550/p2p/12D3KooWGAJLc57wg4ZFpQkwLvMidJkMnjthjJSUNH4CKwvZnybh/p2p-circuit/p2p/12D3KooWGjaGLqrmMBrFjbmRKdpPr44x18LXeDQjqEBVwBLDW65D"
[INFO] - Relay told us our public address: "/p2p/12D3KooWGAJLc57wg4ZFpQkwLvMidJkMnjthjJSUNH4CKwvZnybh"

After an what seems to me only the first established relayed connection to a private peer. The relay is telling us that our public address is it's PeerID, Thus we advertise it to other peers (via Identify?)
as a result they will prepend it to our PeerID and try to dial causing a MultiaddrNotSupported to occur.

@mxinden
Copy link
Member

mxinden commented Jun 1, 2022

How come the Dial is happening with a new port and not reusing the listening one, is (port_reuse(true) not working? or am i getting this wrong.

Sorry for not flagging this earlier. This is likely due to a bug in the TCP transport which has been fixed in #2670.

@T2JOESl4m2ZpNC would you mind testing it once more with the latest release v0.45.0 which includes the above mentioned bug fix?

@T2JOESl4m2ZpNC
Copy link

Indeed the newer version seems to have fixed it.
Now it always dials using the listening port and i almost always get a DirectConnectionUpgradeSucceeded with the tutorial client,
although i still see sometimes the MultiaddrNotSupported whether it succeeds or not.

i also tried the with_keep_alive(true) for the ping behavior and it works; the connection stays ESTAB.

it's really cool seeing it traverse NAT
Thank You

@mxinden
Copy link
Member

mxinden commented Jun 3, 2022

i almost always get a DirectConnectionUpgradeSucceeded

Any hints why it does not always work?

it's really cool seeing it traverse NAT
Thank You

Even though I implemented most of the hole punching protocols, it still feels somewhat magical to me as well.

Thanks for the feedback. Very much appreciated. Hope rust-libp2p is useful for you.

@T2JOESl4m2ZpNC
Copy link

sorry for the late reply

Any hints why it does not always work?

No idea, just tested today with the same built client and same setup and i punched through every time

@T2JOESl4m2ZpNC
Copy link

Logs of a successful traversal:

Dialer

[INFO  client] Local peer id: PeerId("12D3KooWH3uVF6wv47WnArKHk5p6cvgCJEb74UTmxztmQDc298L3")
[INFO  client] Listening on "/ip4/127.0.0.1/tcp/40893"
[INFO  client] Listening on "/ip4/192.168.100.225/tcp/40893"
[INFO  client] Listening on "/ip4/10.64.214.0/tcp/40893"
[INFO  client] Told relay its public address.
[INFO  client] Relay told us our public address: "/ip4/185.213.154.241/tcp/40893"
[INFO  client] OutboundCircuitEstablished { relay_peer_id: PeerId("12D3KooWGAJLc57wg4ZFpQkwLvMidJkMnjthjJSUNH4CKwvZnybh"), limit: None }
[INFO  client] Established connection to PeerId("12D3KooWPjceQrSwdWXPyLLeABRXmuqt69Rg3sBYbU1Nft9HyQ6X") via Dialer { address: "/ip4/RELAY_IP/tcp/44550/p2p/12D3KooWGAJLc57wg4ZFpQkwLvMidJkMnjthjJSUNH4CKwvZnybh/p2p-circuit/p2p/12D3KooWPjceQrSwdWXPyLLeABRXmuqt69Rg3sBYbU1Nft9HyQ6X", role_override: Dialer }
[INFO  client] Sent { peer_id: PeerId("12D3KooWPjceQrSwdWXPyLLeABRXmuqt69Rg3sBYbU1Nft9HyQ6X") }
[INFO  client] Received { peer_id: PeerId("12D3KooWPjceQrSwdWXPyLLeABRXmuqt69Rg3sBYbU1Nft9HyQ6X"), info: IdentifyInfo { public_key: Ed25519(PublicKey(compressed): cecc157dc1ddd7295951c29888f095adb944d1b73d696e6df65d683bd4fc), protocol_version: "/TODO/0.0.1", agent_version: "rust-libp2p/0.36.0", listen_addrs: ["/ip4/193.27.14.102/tcp/46379", "/ip4/127.0.0.1/tcp/46379", "/ip4/192.168.100.137/tcp/46379", "/ip4/10.64.214.0/tcp/46379", "/ip4/RELAY_IP/tcp/44550/p2p/12D3KooWGAJLc57wg4ZFpQkwLvMidJkMnjthjJSUNH4CKwvZnybh/p2p-circuit/p2p/12D3KooWPjceQrSwdWXPyLLeABRXmuqt69Rg3sBYbU1Nft9HyQ6X"], protocols: ["/libp2p/circuit/relay/0.2.0/stop", "/ipfs/ping/1.0.0", "/ipfs/id/1.0.0", "/ipfs/id/push/1.0.0", "/libp2p/dcutr"], observed_addr: "/p2p/12D3KooWGAJLc57wg4ZFpQkwLvMidJkMnjthjJSUNH4CKwvZnybh" } }
[INFO  client] RemoteInitiatedDirectConnectionUpgrade { remote_peer_id: PeerId("12D3KooWPjceQrSwdWXPyLLeABRXmuqt69Rg3sBYbU1Nft9HyQ6X"), remote_relayed_addr: "/ip4/RELAY_IP/tcp/44550/p2p/12D3KooWGAJLc57wg4ZFpQkwLvMidJkMnjthjJSUNH4CKwvZnybh/p2p-circuit/p2p/12D3KooWPjceQrSwdWXPyLLeABRXmuqt69Rg3sBYbU1Nft9HyQ6X" }
[INFO  client] Outgoing connection error to Some(PeerId("12D3KooWPjceQrSwdWXPyLLeABRXmuqt69Rg3sBYbU1Nft9HyQ6X")): Transport([("/ip4/193.27.14.102/tcp/46379/p2p/12D3KooWPjceQrSwdWXPyLLeABRXmuqt69Rg3sBYbU1Nft9HyQ6X", Other(Custom { kind: Other, error: A(A(B(Transport(Os { code: 111, kind: ConnectionRefused, message: "Connection refused" })))) }))])
[INFO  client] RemoteInitiatedDirectConnectionUpgrade { remote_peer_id: PeerId("12D3KooWPjceQrSwdWXPyLLeABRXmuqt69Rg3sBYbU1Nft9HyQ6X"), remote_relayed_addr: "/ip4/RELAY_IP/tcp/44550/p2p/12D3KooWGAJLc57wg4ZFpQkwLvMidJkMnjthjJSUNH4CKwvZnybh/p2p-circuit/p2p/12D3KooWPjceQrSwdWXPyLLeABRXmuqt69Rg3sBYbU1Nft9HyQ6X" }
[INFO  client] Outgoing connection error to Some(PeerId("12D3KooWPjceQrSwdWXPyLLeABRXmuqt69Rg3sBYbU1Nft9HyQ6X")): Transport([("/ip4/193.27.14.102/tcp/46379/p2p/12D3KooWPjceQrSwdWXPyLLeABRXmuqt69Rg3sBYbU1Nft9HyQ6X", Other(Custom { kind: Other, error: A(A(B(Transport(Os { code: 111, kind: ConnectionRefused, message: "Connection refused" })))) }))])
[INFO  client] RemoteInitiatedDirectConnectionUpgrade { remote_peer_id: PeerId("12D3KooWPjceQrSwdWXPyLLeABRXmuqt69Rg3sBYbU1Nft9HyQ6X"), remote_relayed_addr: "/ip4/RELAY_IP/tcp/44550/p2p/12D3KooWGAJLc57wg4ZFpQkwLvMidJkMnjthjJSUNH4CKwvZnybh/p2p-circuit/p2p/12D3KooWPjceQrSwdWXPyLLeABRXmuqt69Rg3sBYbU1Nft9HyQ6X" }
[INFO  client] Established connection to PeerId("12D3KooWPjceQrSwdWXPyLLeABRXmuqt69Rg3sBYbU1Nft9HyQ6X") via Dialer { address: "/ip4/193.27.14.102/tcp/46379/p2p/12D3KooWPjceQrSwdWXPyLLeABRXmuqt69Rg3sBYbU1Nft9HyQ6X", role_override: Dialer }
[INFO  client] DirectConnectionUpgradeSucceeded { remote_peer_id: PeerId("12D3KooWPjceQrSwdWXPyLLeABRXmuqt69Rg3sBYbU1Nft9HyQ6X") }
[INFO  client] Sent { peer_id: PeerId("12D3KooWPjceQrSwdWXPyLLeABRXmuqt69Rg3sBYbU1Nft9HyQ6X") }
[INFO  client] Received { peer_id: PeerId("12D3KooWPjceQrSwdWXPyLLeABRXmuqt69Rg3sBYbU1Nft9HyQ6X"), info: IdentifyInfo { public_key: Ed25519(PublicKey(compressed): cecc157dc1ddd7295951c29888f095adb944d1b73d696e6df65d683bd4fc), protocol_version: "/TODO/0.0.1", agent_version: "rust-libp2p/0.36.0", listen_addrs: ["/ip4/193.27.14.102/tcp/46379", "/ip4/RELAY_IP/tcp/44550/p2p/12D3KooWGAJLc57wg4ZFpQkwLvMidJkMnjthjJSUNH4CKwvZnybh/p2p-circuit/p2p/12D3KooWPjceQrSwdWXPyLLeABRXmuqt69Rg3sBYbU1Nft9HyQ6X", "/ip4/193.27.14.102/tcp/46379/p2p/12D3KooWPjceQrSwdWXPyLLeABRXmuqt69Rg3sBYbU1Nft9HyQ6X", "/ip4/127.0.0.1/tcp/46379", "/ip4/192.168.100.137/tcp/46379", "/ip4/10.64.214.0/tcp/46379", "/ip4/RELAY_IP/tcp/44550/p2p/12D3KooWGAJLc57wg4ZFpQkwLvMidJkMnjthjJSUNH4CKwvZnybh/p2p-circuit/p2p/12D3KooWPjceQrSwdWXPyLLeABRXmuqt69Rg3sBYbU1Nft9HyQ6X"], protocols: ["/libp2p/circuit/relay/0.2.0/stop", "/ipfs/ping/1.0.0", "/ipfs/id/1.0.0", "/ipfs/id/push/1.0.0", "/libp2p/dcutr"], observed_addr: "/ip4/185.213.154.241/tcp/40893/p2p/12D3KooWH3uVF6wv47WnArKHk5p6cvgCJEb74UTmxztmQDc298L3" } }

Listener

[INFO client] Local peer id: PeerId("12D3KooWPjceQrSwdWXPyLLeABRXmuqt69Rg3sBYbU1Nft9HyQ6X")
[INFO client] Listening on "/ip4/127.0.0.1/tcp/46379"
[INFO client] Listening on "/ip4/192.168.100.137/tcp/46379"
[INFO client] Listening on "/ip4/10.64.214.0/tcp/46379"
[INFO client] Relay told us our public address: "/ip4/193.27.14.102/tcp/46379"
[INFO client] Told relay its public address.
[INFO client] Relay accepted our reservation request.
[INFO client] Listening on "/ip4/RELAY_IP/tcp/44550/p2p/12D3KooWGAJLc57wg4ZFpQkwLvMidJkMnjthjJSUNH4CKwvZnybh/p2p-circuit/p2p/12D3KooWPjceQrSwdWXPyLLeABRXmuqt69Rg3sBYbU1Nft9HyQ6X"
[INFO client] InboundCircuitEstablished { src_peer_id: PeerId("12D3KooWGAJLc57wg4ZFpQkwLvMidJkMnjthjJSUNH4CKwvZnybh"), limit: Some(Limit { duration: Some(120s), data_in_bytes: Some(131072) }) }
[INFO client] Established connection to PeerId("12D3KooWH3uVF6wv47WnArKHk5p6cvgCJEb74UTmxztmQDc298L3") via Listener { local_addr: "/ip4/RELAY_IP/tcp/44550/p2p/12D3KooWGAJLc57wg4ZFpQkwLvMidJkMnjthjJSUNH4CKwvZnybh/p2p-circuit", send_back_addr: "/p2p/12D3KooWGAJLc57wg4ZFpQkwLvMidJkMnjthjJSUNH4CKwvZnybh" }
[INFO client] InitiatedDirectConnectionUpgrade { remote_peer_id: PeerId("12D3KooWH3uVF6wv47WnArKHk5p6cvgCJEb74UTmxztmQDc298L3"), local_relayed_addr: "/ip4/RELAY_IP/tcp/44550/p2p/12D3KooWGAJLc57wg4ZFpQkwLvMidJkMnjthjJSUNH4CKwvZnybh/p2p-circuit" }
[INFO client] Sent { peer_id: PeerId("12D3KooWH3uVF6wv47WnArKHk5p6cvgCJEb74UTmxztmQDc298L3") }
[INFO client] Received { peer_id: PeerId("12D3KooWH3uVF6wv47WnArKHk5p6cvgCJEb74UTmxztmQDc298L3"), info: IdentifyInfo { public_key: Ed25519(PublicKey(compressed): 6b79c57e6a95239282c4818e96112f3f3a401ba97a564c23852a3f1ea5fc), protocol_version: "/TODO/0.0.1", agent_version: "rust-libp2p/0.36.0", listen_addrs: ["/ip4/185.213.154.241/tcp/40893", "/ip4/127.0.0.1/tcp/40893", "/ip4/192.168.100.225/tcp/40893", "/ip4/10.64.214.0/tcp/40893"], protocols: ["/libp2p/circuit/relay/0.2.0/stop", "/ipfs/ping/1.0.0", "/ipfs/id/1.0.0", "/ipfs/id/push/1.0.0", "/libp2p/dcutr"], observed_addr: "/ip4/RELAY_IP/tcp/44550/p2p/12D3KooWGAJLc57wg4ZFpQkwLvMidJkMnjthjJSUNH4CKwvZnybh/p2p-circuit/p2p/12D3KooWPjceQrSwdWXPyLLeABRXmuqt69Rg3sBYbU1Nft9HyQ6X" } }
[INFO client] Outgoing connection error to Some(PeerId("12D3KooWH3uVF6wv47WnArKHk5p6cvgCJEb74UTmxztmQDc298L3")): Transport([("/p2p/12D3KooWGAJLc57wg4ZFpQkwLvMidJkMnjthjJSUNH4CKwvZnybh/p2p/12D3KooWH3uVF6wv47WnArKHk5p6cvgCJEb74UTmxztmQDc298L3", Other(Custom { kind: Other, error: A(A(B(MultiaddrNotSupported("/p2p/12D3KooWGAJLc57wg4ZFpQkwLvMidJkMnjthjJSUNH4CKwvZnybh/p2p/12D3KooWH3uVF6wv47WnArKHk5p6cvgCJEb74UTmxztmQDc298L3")))) })), ("/ip4/185.213.154.241/tcp/40893/p2p/12D3KooWH3uVF6wv47WnArKHk5p6cvgCJEb74UTmxztmQDc298L3", Other(Custom { kind: Other, error: A(A(B(Transport(Os { code: 111, kind: ConnectionRefused, message: "Connection refused" })))) }))])
[INFO client] Outgoing connection error to Some(PeerId("12D3KooWH3uVF6wv47WnArKHk5p6cvgCJEb74UTmxztmQDc298L3")): Transport([("/p2p/12D3KooWGAJLc57wg4ZFpQkwLvMidJkMnjthjJSUNH4CKwvZnybh/p2p/12D3KooWH3uVF6wv47WnArKHk5p6cvgCJEb74UTmxztmQDc298L3", Other(Custom { kind: Other, error: A(A(B(MultiaddrNotSupported("/p2p/12D3KooWGAJLc57wg4ZFpQkwLvMidJkMnjthjJSUNH4CKwvZnybh/p2p/12D3KooWH3uVF6wv47WnArKHk5p6cvgCJEb74UTmxztmQDc298L3")))) })), ("/ip4/185.213.154.241/tcp/40893/p2p/12D3KooWH3uVF6wv47WnArKHk5p6cvgCJEb74UTmxztmQDc298L3", Other(Custom { kind: Other, error: A(A(B(Transport(Os { code: 111, kind: ConnectionRefused, message: "Connection refused" })))) }))])
[INFO client] Established connection to PeerId("12D3KooWH3uVF6wv47WnArKHk5p6cvgCJEb74UTmxztmQDc298L3") via Dialer { address: "/ip4/185.213.154.241/tcp/40893/p2p/12D3KooWH3uVF6wv47WnArKHk5p6cvgCJEb74UTmxztmQDc298L3", role_override: Listener }
[INFO client] DirectConnectionUpgradeSucceeded { remote_peer_id: PeerId("12D3KooWH3uVF6wv47WnArKHk5p6cvgCJEb74UTmxztmQDc298L3") }
[INFO client] Received { peer_id: PeerId("12D3KooWH3uVF6wv47WnArKHk5p6cvgCJEb74UTmxztmQDc298L3"), info: IdentifyInfo { public_key: Ed25519(PublicKey(compressed): 6b79c57e6a95239282c4818e96112f3f3a401ba97a564c23852a3f1ea5fc), protocol_version: "/TODO/0.0.1", agent_version: "rust-libp2p/0.36.0", listen_addrs: ["/ip4/185.213.154.241/tcp/40893", "/ip4/127.0.0.1/tcp/40893", "/ip4/192.168.100.225/tcp/40893", "/ip4/10.64.214.0/tcp/40893"], protocols: ["/libp2p/circuit/relay/0.2.0/stop", "/ipfs/ping/1.0.0", "/ipfs/id/1.0.0", "/ipfs/id/push/1.0.0", "/libp2p/dcutr"], observed_addr: "/ip4/193.27.14.102/tcp/46379/p2p/12D3KooWPjceQrSwdWXPyLLeABRXmuqt69Rg3sBYbU1Nft9HyQ6X" } }
[INFO client] Sent { peer_id: PeerId("12D3KooWH3uVF6wv47WnArKHk5p6cvgCJEb74UTmxztmQDc298L3") }

@mxinden
Copy link
Member

mxinden commented Oct 5, 2022

I am closing here since (a) parts of this discussion has stalled and (b) parts of the problems have been resolved.

In case you are still facing issues with our hole punching stack, please open a new issue.

Very much appreciate your input here and thus your help improving rust-libp2p.

@mxinden mxinden closed this as completed Oct 5, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants