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

Don't add peers to routing table unless they have a routable IP address #330

Open
Stebalien opened this issue May 3, 2019 · 5 comments
Open
Labels
kind/enhancement A net-new feature or improvement to an existing feature

Comments

@Stebalien
Copy link
Member

Stebalien commented May 3, 2019

This is a mirror of #216. The only tricky part is that they may learn about their external address later and push it with identify push and we have no events system to catch this change.

Instead of adding peers to the routing table as we get connections, we may want to:

  1. Periodically walk our peer list in the background, checking for all peers that (a) support the DHT protocol and (b) have a public address.
  2. Eagerly walk the peer list if we try to find peers in the routing table but find an empty routing table.

cc @vyzo, I think this could drastically improve the DHT as a lot of peers aren't even reporting public addresses.

@Stebalien Stebalien added the kind/enhancement A net-new feature or improvement to an existing feature label May 3, 2019
@Stebalien
Copy link
Member Author

Stebalien commented May 3, 2019

Hm. I still think we should do this but it looks like all the peers not reporting public addresses are also not acting as DHT servers (as far as I can tell).

Nevermind. They're running as DHT servers.

@vyzo
Copy link
Contributor

vyzo commented May 3, 2019

I think that's a reasonable thing to do.

@prestonvanloon
Copy link

Is there any timeline on when this can be addressed?

@Stebalien
Copy link
Member Author

This isn't on anyone's plate at the moment.

Note: I think the issue you're looking for is libp2p/go-libp2p#436.

@prestonvanloon
Copy link

Thanks, subscribed to that.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/enhancement A net-new feature or improvement to an existing feature
Projects
None yet
Development

No branches or pull requests

3 participants