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

Add ipv6 support #11

Open
dsluijk opened this issue May 8, 2019 · 2 comments
Open

Add ipv6 support #11

dsluijk opened this issue May 8, 2019 · 2 comments
Labels
enhancement New feature or request Long term Issues which are not addressed right now, but might be down the road

Comments

@dsluijk
Copy link

dsluijk commented May 8, 2019

The problem

py-ipv8 does not seem to support IPv6 for some unknown reason. It also appears to be quite hardcoded into it [1].

Suggested solution

My suggestion is to use a special reserved IPv4 address to indicate that the program should look for the ipv6 address later in the payload, as it will clearly not fit in the currently allocated space for IP address. The benefit of using a reserved ipv4 address for this purpose as opposed to a flag bit is that so the flag bits could be used for other purposes down the line.

Remarks

As everyone gets their own IPv6 address NAT hole puncturing should not be necessary for connecting clients together if they can use IPv6.

Copied from #10

@dsluijk dsluijk added enhancement New feature or request Long term Issues which are not addressed right now, but might be down the road labels May 8, 2019
@ichorid
Copy link

ichorid commented May 9, 2019

I would suggest implementing protocol detection procedure based on magic numbers (community numbers, etc) instead. Please, describe possible packet exchange scenarios in this issue, so we can discuss it thoroughly.

Do you realize that you now have the opportunity not only to reimplement the protocol but to redesign it properly?

@jdonszelmann
Copy link
Contributor

yes we do realize this :) thanks for the feedback!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request Long term Issues which are not addressed right now, but might be down the road
Projects
None yet
Development

No branches or pull requests

3 participants