modularization

Max Laier max at love2party.net
Wed Oct 6 09:24:04 PDT 2004


On Wednesday 06 October 2004 17:19, Waldemar Kornewald wrote:
> Hi,
> are there any plans to mularize the netstack (maybe: protocol+interface
> modules)?
> Would it be difficult to modularize it?

One problem you will hit here, is that you will have to do a lot of additional 
locking for structures that do not change right now, but are heavily used. 
The domains list is just one example of the top of my head. There are 
certainly other places as well. Another issue is the load/unload process. You 
have to make sure that everything that is there already is hooked up 
correctly and you must protect these subsystems as well. Then there are 
pieces of code that are used from more than one protocol (e.g. we have a 
unified tcp stack on top of IPv4 and IPv6). These systems use #ifdefs at the 
moment. In order to be able to load IPv6 as a module, you'd have to rewrite a 
lot of code. So it's hard - to say the least.

> I am also interested in your opinion about it:
> Does it make sense to modularize the netstack? Why would a
> monolithic/modular netstack be better?

Given the additional locking requirements and the additional checks, lookups 
and function calls I hardly believe that it is a good idea. There might be 
protocols that are easily plugged, but you can certainly do them at the 
netgraph layer as well. Netgraph is a interesting thing to look at in any 
case, when talking modularity.

-- 
/"\  Best regards,                      | mlaier at freebsd.org
\ /  Max Laier                          | ICQ #67774661
 X   http://pf4freebsd.love2party.net/  | mlaier at EFnet
/ \  ASCII Ribbon Campaign              | Against HTML Mail and News
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 187 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-net/attachments/20041006/e8cd1b5d/attachment.bin


More information about the freebsd-net mailing list