Go to the FreeLists Home Page Home Signup Help Login
 



[openbeosnetteam] || [Date Prev] [02-2002 Date Index] [Date Next] || [Thread Prev] [02-2002 Thread Index] [Thread Next]

[openbeosnetteam] Re: Talking between modules [Was: Change of heart...]

  • From: "Graham Gilmore" <grahamg@xxxxxxxxxxxx>
  • To: openbeosnetteam@xxxxxxxxxxxxx
  • Date: Tue, 05 Feb 2002 23:28:06 -0500
>
>> > But you have to have a rule somewhere in order to know what 
protocol you
>=
>> > have
>> > just decapsulated so you know what module you want to talk to.
>> > So in that case, either the rules would be something separate (e.g. 
some
>=
>> > kind
>> > of recognition library), or it would be in the lower layer.
>> > In that case, if you want to add IPv6 for example, you have to 
update
>the=
>> >
>> > ethernet layer or the recognition library  (with the new rule) 
*and* add
>=
>> > an
>> > IPv6 module. While if you have a GimmeYourRule function you can 
call,
>you=
>> >  can
>> > only add an IPv6 module and you don't have to update the ethernet
>module.=
>> >
>>
>> Or ethernet nic can receive a frame containing IPv6 packet 
(determined
>> by the proto ID) in the ethernet frame;
>>
>> then the ethernet module can check if IPv6 handling module is
>> registered and if it is pass the packet to this module; if not it can
>> just drop the frame;
>
>Exactly.
>
>>
>> the same continues up the network stack (IPv6 module checks what
>> protocol data unit it carries and forwards it to the appropriate
>> module, etc)
>>
>> This way we will need a list of registered protocols and pointers to
>> functions that handle input/output for each of them.
>> In fact every module will need to export at least three functions:
>> init, recive and transmit.
>
>Well, and stop.  Still not a big deal is it?  This is the sort of
>flexability i'd like to see.  I can knock up a new proto module, drop 
it in,
>restart and away it goes.  It adds itself to the list of protos and if 
I get
>packets that it can deal with, it does!

        If there's a known function in the lower module to register a new proto 
module, then you may not even need to restart (depending on the needs of 
the proto module's initialization, I suppose).

        Graham







[ Home | Signup | Help | Login | Archives | Lists ]

All trademarks and copyrights within the FreeLists archives are owned by their respective owners.
Everything else ©2007 Avenir Technologies, LLC.