Waldek, it's great that OSv is in such good hands!
With the growth of serverless and the shrinkage in qemu+osv boot time, it
opens lots of more use cases for our users.
Dor

On Thu, Dec 12, 2019 at 3:03 PM Waldek Kozaczuk <jwkozac...@gmail.com>
wrote:

> Hi,
>
> Yesterday I merged the IPV6 patches submitted by Charles Myers from
> Spirent over a year ago -
> https://groups.google.com/d/msg/osv-dev/WJ52lvQtC9Q/gCyNWsO0CwAJ - into a
> new branch *ipv6* (https://github.com/cloudius-systems/osv/tree/ipv6)
> based on the current master branch. These patches add IPV6 support as well
> as fix some bugs in OSv networking code which is based on FreeBSD 9
> codebase.
>
> The sheer breadth of the patches is enormous and gives a credit to the
> excellent work by Charles (great job!!!). Given that Nadav reviewed them
> and was generally happy with them, I thought it would be a shame if we let
> it get forgotten like this. Now, given it touches very sensitive and
> complicated networking code, I thought it would be wise to put it on a
> separate branch, test it more by the community and then merge it into
> master. Given the networking code does not change that often, we could
> somehow auto-merge master into it (does github offer such ability?).
>
> Most of the patches were merged without conflicts using 'git am -m', in
> some few cases I had to resolve some conflicts:
>
>    - virtio-net, vmxnet code -
>    
> https://github.com/cloudius-systems/osv/commit/ee7b0ef05016819fbb9eb0e9dc29ff343672af81
>    - loader.cc where we replaced boost::program_options -
>    
> https://github.com/cloudius-systems/osv/commit/723893512fefe58a9a86d1c7aab52fb99140b83a
>    - unit tests Makefile -
>    
> https://github.com/cloudius-systems/osv/commit/87fb81b91cd2d7fcbe11ca8418df444afa6ea430
>    - minor conflicts in the main Makefile -
>    
> https://github.com/cloudius-systems/osv/commit/47381fb07bad3274f411baeb0c39b2a96341aaec
>
> I did not apply one patch -
> https://groups.google.com/d/msg/osv-dev/WJ52lvQtC9Q/HAQW4y60BQAJ - with
> cloud init support - which seems to somewhat independent. Rick Payne
> mentioned that he might send a new version that addresses also the program
> options removal implications.
>
> I also had to fix number of gcc 8/9 compiler warnings by either adjusting
> the code to use macros I added to deal with packed struct member address
> warnings or disabling certain warnings (-fno-strict-aliasing,
> no-address-of-packed-member):
>
>    -
>    
> https://github.com/cloudius-systems/osv/commit/2ead349dc560a02b412154664420cf1ac0c00f01
>    -
>    
> https://github.com/cloudius-systems/osv/commit/cef7d8e2403cf8f5f96b38fb7fe5a8e78683b657
>    -
>    
> https://github.com/cloudius-systems/osv/commit/875211112701c4d0844a568c762e675aca9ce27e
>
> If anyone could review those it would be great.
>
> I was able to compile and run the unit tests  (*all pass!*) with IPV6
> enabled (did not test when disabled) on Ubuntu 19.10 with gcc 9.2. I also
> stress-tested a little bit the networking layer with httpserver apps like
> golang-httpserver and rust-httpserver as well as with iperf3. It all seems
> to work. I did not really test any IPV6 scenarios yet (except for what the
> new unit tests that Charles added do). *I am not very familiar with the
> setup with QEMU, ipv6 itself so that is where I am asking for help to test!*
>
> I have also noticed that based on requests per second measured with apache
> bench and iperf3 the ipv6 branch seems to be 3-5% slower than master (ipv4
> traffic but with ipv6 code enabled). But this is just the observation, not
> a hard measurement. But again code seems to work reliably and correctly for
> what my testing is worth.
>
> Finally looking at the Spirent fork (https://github.com/SpirentOrion/osv)
> I think they have made some more changes to the networking code after those
> patches were submitted. It would be nice to bring them over.
>
> Waldek
>
> PS. Some code statistics:
>
>    - 38K new lines of code (wc -l bsd/sys/netinet6/*)
>    - the loader-stripped.elf binary (kernel) size increases by ~270K with
>    IPV6 enabled; I think it is worth price to pay given the functionality
>    added (plus we have a witch to turn it on/off); recently by removing
>    boost-programs options and replacing with hand-written equivalent let us
>    save around 300-500K; so nice exchange!
>
> --
> You received this message because you are subscribed to the Google Groups
> "OSv Development" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to osv-dev+unsubscr...@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/osv-dev/CAL9cFfNNGgXKBkkQKfx%3D7LDz%3DyqG5iR6Um2n5sHWvEhZAb7VrA%40mail.gmail.com
> <https://groups.google.com/d/msgid/osv-dev/CAL9cFfNNGgXKBkkQKfx%3D7LDz%3DyqG5iR6Um2n5sHWvEhZAb7VrA%40mail.gmail.com?utm_medium=email&utm_source=footer>
> .
>

-- 
You received this message because you are subscribed to the Google Groups "OSv 
Development" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to osv-dev+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/osv-dev/CAKUaUn7b%2Bw0Lic9S4GvpDLtahhOUZVzqWZHCQo0hFHoYOK8xfw%40mail.gmail.com.

Reply via email to