On Thu, 16 Oct 2003, Barney Wolff wrote: > 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.
There are also at least a couple of implementations of a full BSD network stack in userspace (Alpine being one, I believe), as well as the Linux network stack. A number of pretty large product companies also ship network appliances and related products based on userspace network stacks optimized for what they're doing, using the OS basically as a device driver and development framework. Robert N M Watson FreeBSD Core Team, TrustedBSD Projects [EMAIL PROTECTED] Network Associates Laboratories _______________________________________________ [EMAIL PROTECTED] mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-net To unsubscribe, send any mail to "[EMAIL PROTECTED]"