[openbeosnetteam] FreeBSD *netperf* stack port summer project anyone?

  • From: Philippe Houdoin <philippe.houdoin@xxxxxxx>
  • To: openbeosnetteam@xxxxxxxxxxxxx
  • Date: Fri, 01 Jul 2005 18:20:40 +0200

Hi guys,

Indeed, it's really quiet.

At least, Nathan Whitehorn and I had some talks on #haiku IRC channel recently
about (again) porting their net stack code, but the FreeBSD 5.x one because now
it's multithreaded code.
The idea main objective is quickly resolve our main issues with the current
stack code:
- stability (proven one minus our own, smaller, code)
- maintenance (FreeBSD guys do it for us)
- features progress

You'll find more info about FreeBSD network stack "netperf" project here:
http://www.freebsd.org/projects/netperf

Robert Watson from the netperf project have some slides presenting the project.
It worth reading them:
http://www.watson.org/~robert/freebsd/netperf/20050513-bsdcan-netperf/

As I just start to look into their source code, it's too early for me to comment
in details the "what, who and how" about such project. Anyway, I think it's my
duty to throw some plan at least:

a) Quick port. If it's not done after, lets say, 2 (man-)months of effort, we
should drop the idea. That's why we talked Nathan and I about a summer project:
let's try to do this during the summer time ;-)

b) Braindead port as possible: no redesign, no modularisation, nothing except
the mandatory stuff to make run their code under BeOS and/or Haiku.

That mean we'll drop the protocols & interfaces as modules design. Instead,
let's put all into a single kernel module. "fat" core module design, if you
want:

/dev/net/stack <-> add-ons/kernel/network/freebsd_stack <-> /dev/net/*
interfaces devices.

We must reuse some code from our current network/interface/ethernet module to
adapt it to bridge FreeBSD interface API and BeOS/Haiku /dev/net/* network
devices.

c) Limited userland stuffs impacted.

Let's focus on the stack internals first, right.



So, what do you think?
Want to join!?

;-)

- Philippe Houdoin

Other related posts: