Philippe Houdoin wrote:
I've made in the past a lame attempt to work on a bone_data like structure which
was supporting attributes to packets, and David Reid wrote also something to
replace mbufs for his (dead?) Marrow project.
Since it seems we're currently getting a new idea about porting FreeBSD, I think that we need a module like that to base the whole stack upon. The implementation is allowed to be naive for now, but the API is important to get right. I think we should start with bone_data and change/simplify/extend whereever we see the need.
You must be crazy. This will cost a *lot* of time (IPv4+6, mobile IPv6, IPsec, WiFi). OTOH, we'd have a nice and clean netstack. I'm not really against it. :))
I doubt that BONE has a speed advantage over FreeBSD (probably it's even slower). AFAIK, the main reason for bone_data was fragmentation, but this has become less of a problem and IPv6 even disallows fragmentation (i.e.: the sending host must know the route's MTU). I'd prefer a structure that is a simple linked list of packet buffers (every packet is a buffer) instead of a list of pointers to buffers and free() functions. But that's just IMHO and I'm sure you have more experience in this area.
Bye, Waldemar Kornewald