Date: Thu, 16 Oct 2003 19:00:09 -0400 From: Barney Wolff <barney@databus.com> To: Robert Watson <rwatson@freebsd.org> Cc: freebsd-net@freebsd.org Subject: Re: Question about bridging code Message-ID: <20031016230009.GB10115@pit.databus.com> In-Reply-To: <Pine.NEB.3.96L.1031016171427.64529F-100000@fledge.watson.org> References: <20031016200604.72938.qmail@web41501.mail.yahoo.com> <Pine.NEB.3.96L.1031016171427.64529F-100000@fledge.watson.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, Oct 16, 2003 at 05:18:24PM -0400, Robert Watson wrote: > > My conclusion from my BPF bridge experience was that prototyping in > userspace made it a lot easier to experiment with changes, and > dramatically reduced the development time. On the other hand, it did > terrible things to performance on high bandwidth tests, and because we > weren't using mbufs in userspace, made it harder to port to the kernel. > One nice benefit, though, was that we had TCP/IP people programming TCP/IP > stuff without having to teach them about mbuf semantics or kernel > debugging :-). It's actually not so hard to get kernel mbuf-oriented code running in userspace. I did a userspace PPP implementation in 1994, and when it came time to do VJ compression I took the BSD kernel VJ code (from lbl.gov, if I recall correctly), defined some of the mbuf fields in my own structs, and it compiled and worked correctly without changing a single line of the VJ code. That project would never have survived if every bug had caused a kernel panic. The code is still running in commercial service today. -- Barney Wolff http://www.databus.com/bwresume.pdf I'm available by contract or FT, in the NYC metro area or via the 'Net.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20031016230009.GB10115>