Open rickpayne opened 7 years ago
There may be some complications to this endeavor:
Thanks for the comments. Usually the TCP part of the stack is very similar between v4 and v6, modulo changes for address types. Do you have a reference to which version of Freebsd was the original donor?
I am not sure about the exact version of FreeBSD but good chunk of this code was brought in from FreeBSD in Feb 2013 - https://github.com/cloudius-systems/osv/commit/a6db14f705598eb1bc58aa0b7d0403ac46e2ac39#diff-4fdaaaa37922686d1bdd41e98e1d1c4a
There is a big patch implementing IPV6 sent to the mailing list if somebody wants to pick it up - https://groups.google.com/d/msg/osv-dev/WJ52lvQtC9Q/gCyNWsO0CwAJ.
Over a year ago I merged the aforementioned patch by @cmyers-spirent into the ipv6 branch. Occasionally, I merge the master into the ipv6 branch (it is overdue now).
I wonder what we shall do about this issue. Shall we keep it around given we have ipv6 support on that branch only or wait until we merge the ipv6 branch into master? The latter is not a bad idea given that ipv6 code is enabled with conf-INET6
. On another hand, keeping it on a separate branch has its own merits - risk of introducing possible bugs to master, code size and most people probably do not need ipv6 support.
Having said it, it would probably make sense to merge a subset of ipv6 branch into master to add netlink support which would help us fix #1096 and possibly allow running libpcap. This branch might also have some fixes for other areas of TCP layer.
fwiw, we'd need strong IPv6 support (and netlink, and wireguard) to run our firecracker microvms at Fly.io.
We use IPv6 for private networking between VMs.
I'd love to create a whole segment of tiny, single-purpose, fast-booting VMs with OSv.
Its about time we had ipv6 support!
I guess this means pulling in the appropriate files from FreeBSD's netinet6 tree and massaging them to suite OSv? Any other tips?