Date: Tue, 18 Aug 2020 13:17:48 -0400 From: Ryan Stone <rysto32@gmail.com> To: freebsd-net <freebsd-net@freebsd.org> Subject: Is anybody using ng_pipe? Message-ID: <CAFMmRNxgoSNX2%2BLd=eEXRH0q7-XFzSF=b2GPzZgNW1LDCvq5Xw@mail.gmail.com>
next in thread | raw e-mail | index | archive | help
I recently needed to be able to simulate a lossy, high-latency network in an environment where dummynet wasn't possible. I gave ng_pipe a try, and hit some major issues 1. Instead of configuring a packet drop rate, you configure a bit error rate, which I found significantly less intuitive 2. The use of BER makes for a very inconvenient implementation, as ng_pipe has to maintain a table of packet drop rates for every possible packet size 3. The table implementation isn't sized right for LRO or TSO, leading to ng_pipe going out of bounds of the array and panicking the system 4. The table calculation had two integer truncation bugs and used the wrong formula. I'm reasonably sure it would never calculate a probability other than 0 due a 64-bit constant being truncated to 32-bits. I'd like to dump all of this and just implement a packet loss rate, which would simplify all this immensely. Is anybody using ng_pipe with a non-zero BER who would object to this? Given this litany of issues I doubt it, but I thought that I'd be sure.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAFMmRNxgoSNX2%2BLd=eEXRH0q7-XFzSF=b2GPzZgNW1LDCvq5Xw>