We have automated tests for our application running on OSv which uses TCP and UDP, but not separately for OSv. I tested with iperf as well but this wasn’t automated.
Yeah, TCP/IP stack issues like the one you referenced are very difficult to track down. Something like that would take me a long time too. The OSv network code is a fairly direct port from the FreeBSD network code aside from net channel and route table caching. So probably best reference would be documentation for FreeBSD, but I do not know of any good freely available FreeBSD network documentation. My patch set already has #ifdefs for IPv6 with it enabled by default. The FreeBSD stack originally also had #ifdefs for IPv4, but it looked like some of them were removed with the port to OSv so they would need to get added back. Probably should not be too difficult, but might make the code more complicated. FreeBSD doesn’t have #ifdefs for TCP and UDP but it would not be too hard to add them. But I guess you would probably want to consider what type of small footprint apps would not want TCP and/or UDP and if it is worth modifying the OSv tooling to work without TCP. UDP is a pretty simple protocol so shouldn’t take too much space and most apps would want TCP, so not sure if those would be worth doing those. Might be other network stuff which could be #ifdef out, but to be honest the OSv memory footprint has been fine for our application usage so I haven’t really looked at this. -Charles From: osv-dev@googlegroups.com <osv-dev@googlegroups.com> On Behalf Of Waldek Kozaczuk Sent: Tuesday, October 2, 2018 12:08 PM To: OSv Development <osv-dev@googlegroups.com> Subject: Re: [PATCH 00/16] OSv IPv6 support Charles, I hate to jump in so late in the game but I was wondering about 2 things that relate to this patches: 1. Do you happen to have any automated tests that test OSv networking stack beyond what the unit tests do? Have you by any chance created any documentation about OSv networking implementation? I myself have very little understanding of it and it took me a while for example to fix this issue - https://github.com/cloudius-systems/osv/issues/859#issuecomment-384636059. 2. I am thinking of improvements to OSv that might be part of next 0.53 release (I am planning to cut 0.52 soon). The overall theme, I was going to propose, would be make OSv lighter in terms of memory usage that is also heavily influenced by kernel size (right now around 10MB). Therefore I was wondering what your thoughts are about possibly modularizing networking stack in OSv into tcp, udp, IPV4, IPV6, etc using #ifdef-s (I know that some of these would overlap so what I am proposing may not make much sense especially given how little I know about networking). I am guessing that data structures would be difficult to break like this but code might be easier. Anyway just food for thought. Thanks in advance for your answers, Waldek On Monday, September 10, 2018 at 7:19:11 PM UTC-4, Charles Myers wrote: Sorry for delay. A lot of things came up and I finally have some time now to work on addressing the comments in your review. The IPv6 patch set is kind of large and posting it multiple times will be a bit painful for everyone, so I will provide a link to a github branch with the changes as you suggested in a day or so. Thanks, Charles -- 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<mailto:osv-dev+unsubscr...@googlegroups.com>. For more options, visit https://groups.google.com/d/optout. -- 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. For more options, visit https://groups.google.com/d/optout.