Axel, replying to Waldemar: > > I will try to do that. > > The PPP module for our core stack will probably be called > > "ppp_interface_manager". > > I actually wanted to call it "ppp", but this will conflict with the > > subdirectory "ppp" where the module binaries should be put into. > > Why not just put the ppp module into network/ppp/? The PPP interface module/manager, like any other network interface module, should have a module name matching "network/interfaces/*", because the stack load -all of- them via open_module_list("network/interfaces");. As we like to keep source code layout similar to the binary location, I agree with Waldemar here about the PPP interface module code source location to be under src/add-ons/kernel/network/interfaces/<whatever>. Now, about this "whatever" leaf module name, I guess "ppp" sounds good, even if, in my mind, a more upper module should wrap all dial up networking interfaces, hence a top "dun" module name. But, let's start with just PPP dial up networking interfaces... However, all others PPP sub-modules are PPP specifics: they follow a separate PPP API, aka the core stack don't know nor handle them himself. So, they should not be located under src/add-ons/kernel/network/interfaces/* nor src/add-ons/kernel/network/protocols/*, as modules living here are expected to follow the stack core API. So, to isolate PPP sub-modules, it make sense to put them under src/add-ons/kernel/network/ppp/*. And shared code between them should be placed here, in a "shared" sub-folder. > You know that there is no direct possibility to say open_module(const > char *path)? > You need to know the module name, not its file name to open it. I guess Waldemar was talking of module name, not module path in this case. > std_ops() are kernel private - you just don't touch them. Agreed. > > Well, some will like it, others will not. ;) > > So, it will be called > > "network/ppp/pppoe/v1"? Did I understand you correctly? > > That sounds good. Thanks! Hence a future PPPoE module source code location, under src/add-ons/kernel/network/ppp/pppoe/*, using the PPP shared code in src/add-ons/kernel/network/ppp/shared/*. I hope having made that layout clear!? ;-) -Philippe