-
Notifications
You must be signed in to change notification settings - Fork 675
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
IPv6 support #21
base: master
Are you sure you want to change the base?
IPv6 support #21
Conversation
- Documentation updated for EnetAddress - Some codepaths to deprecated functions in unix.c removed as they didn't support IPv6 usage
The problem with this is that it essentially has to live in a different directory/library namespace because it is a breaking API change. It'd have to be called something like enetv6 just to avoid breaking everything that includes enet/* or links against libenet. |
Yeah, I couldn't see a way to do it without either braking the API, or making so many versions of each function that one might as well be including two versions of the library at once. The sockets interface itself added IPv6 without breaking the API, of course. But I think we both agree the way they support multiple address families is very clunky. Perhaps you might massively increment the version number, keep it in a separate branch, and keep both around in an interim period to help people transition? With that plan, I doubt doing something like renaming the headers, or some other form of namespace change, is needed as this is not a subtle API change and it will cause plenty of compiling errors if it Also, I noticed you stored the port number with native endianness, while as far as I know both Windows and Unix store it in network byte order. What was your rational for doing so? If you fully conform to the |
The point was to actually make it easy to use. Having to do byte sex on the port all the time just to manipulate port numbers is annoying. Whereas addresses are kinda useless to manipulate directly unless in some other form and for that matter are usually just interpreted as byte strings anyway, unlike ports. And a version number bump is not sufficient, sorry. It has to be a library rename or else there will be clashes that I don't want. |
Alright. What 'enet's do you want changed to 'enetv6'? |
For reference, github comments are the entirely wrong place to have this discussion. I would appreciate it if you instead moved to the mailing list where other people can see it so it does not become one-sided. |
OK. Edit: email sent |
Any update on this? :) I'm a user of enet who thinks IPv6 support would be quite nice to have. |
I'm swamped with life/work at the moment. I need a solid stretch of time in which to set up an enet2 branch and get things going, but not sure when that will be. Maybe over the winter holidays... |
I am also interested in IPv6 support. Keep us updated? |
I am still around to work on this. As far as I know my email was the last in the thread in the mailing list. |
We working on switch game http://freeminer.org/ to enet, and very need in ipv6 too. |
Status update? IPv6 support would be very handy at the moment! |
Still way too busy to look into this right now. This summer will be the soonest I will have a big enough block of time for it. |
https://github.com/freeminer/enet/tree/ipv6 - anything converted to AF_INET6 (v6+v4) |
I was too busy with job commitments before to devote much time to ipv6 unfortunately, and it proved controversial enough that it wasn't a simple issue of someone else doing it and merging a pull request. I can take a look into starting up an enet2 tree again over the next few weeks and figure out what I want to do with this. This would be a breaking change, though, since it seems impossible to satisfy everyone while maintaining backwards compatibility with the existing library's API and while supporting the same set of older platforms. |
Thanks for the reply. From an API perspective, my thought was to do something like
Not sure if this is worth it, but it would probably be nicer for distros than having to maintain two separate libraries. What's the issue with older platforms? |
Any news about this? We plan to migrate from raknet to enet but we depend on ipv6 support. |
Any update on this? It is very nice to have IPv6 support. |
Same here! Any news? It would be GREAT to have IPv6 support. |
I've just been too busy to look into this lately. I have a lot of things On Sat, Jul 16, 2016 at 2:22 AM, Howard Chang [email protected]
|
I'm very interested in this as well. IPv4 addresses are getting rare. |
I took some time to change the
EnetAddress
type to hold IPv6 and iPv4 addresses. I still need to test this, but I'd figure I'd submit a pull request anyways to see if you like my current methodology, and what I might change if you don't to eventually get IPv6 support upstream.See
enet.h
for my revises documentation forEnetAddress
, which basically shows my overall strategy for adding IPv6 support.