[openbeosnetteam] Re: moving ppp to other location

  • From: Philippe Houdoin <philippe.houdoin@xxxxxxx>
  • To: openbeosnetteam@xxxxxxxxxxxxx
  • Date: Thu, 18 Sep 2003 15:02:02 +0200

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

Other related posts: