Go to the FreeLists Home Page Home Signup Help Login
 



[openbeosnetteam] || [Date Prev] [07-2006 Date Index] [Date Next] || [Thread Prev] [07-2006 Thread Index] [Thread Next]

[openbeosnetteam] Re: Interfaces

  • From: "Axel Dörfler" <axeld@xxxxxxxxxxxxxxxx>
  • To: openbeosnetteam@xxxxxxxxxxxxx
  • Date: Wed, 12 Jul 2006 15:31:28 +0200 CEST
"Waldemar Kornewald" <wkornew@xxxxxxx> wrote:
> >                 dl protos {
> >                         6 IFT_ETHER {
> >                                 0 bone_arp framings/
> > bone_ether_frame
> >                                 1 ppp/bone_pppoe framings/
> > bone_ether_frame
> >                         }
> >                         ...
> >                 }
> As far as I understand, this looks similar to our PPP stack. The
> ethernet frame handling code looks at the ETHER_TYPE and if it's 
> PPPoE
> it passes everything to the PPPoE handler. If It's IPv4 it's passed 
> to
> the IPv4 handler, and so on.

Yes, but there is no PPP device anywhere.

> > There is no ppp net_device loaded when I use PPPoE. Even though 
> > there
> > exists such a device, I have no idea when it comes into play.
> Well, that's strange because above the device layer PPP is the same
> protocol. If the PPP module is not loaded then the PPPoE module must
> contain a copy of the complete PPP stack...

I didn't say that there are no PPP modules loaded - but there is no (in 
BONE terms) PPP interface loaded (interfaces/bone_ppp). The rest is 
there.
BTW do you have any idea what "pppd" is for in BONE? It also doesn't 
seem to be of any use. I can start it only if there is a PPP logical 
interface, and then it periodically dumps some junk to the terminal.

> > Huh? Whatever you did before, this problem won't exist anymore, 
> > AFAICT.
> > You will just create an interface in the AF_INET domain for PPPoE 
> > that
> > will use the ethernet net_device, the protocol chain stays active 
> > as
> > long as there is an interface configured.
> I'm not sure you understood my concern. Did you ever try RASPPPOE on
> Windows? It requires the NIC to have an IP address. This is a similar
> problem. When I try to send a packet through an unconfigured 
> interface
> the ethernet module just rejects the packet. The problem is that I
> can't mark PPPoE as an active protocol independently of IPv4. I can
> only bring the whole device up/down. Our new netstack should make 
> this
> more independent.

I'm still unsure I get what you're saying.
You can just create the PPP interface and leave it down (unconfigured). 
If you then try to send (or receive) some data through it, it would 
need to automatically "up" itself instead of rejecting the request. 
There is an IFF_AUTOUP flag in BONE that I would guess is thought for 
exactly that usage.

> I think I've mentioned this many times: For PPP and other on-demand
> connection types we need an easy method for adding "unspecified"
> routes, so when there is no route for some packet we can activate an
> unspecified route (i.e.: connect the on-demand interface) and then
> send the packet. Currently, the only way to do this seems to be to
> create a fake IP address and then convert all IP packets to the real
> IP after having connected...IOW: I can't connect *before* the device
> is instructed to send a packet.

I see what you mean, and that shouldn't be too hard to do, I guess.

> And why did you specifically talk about AF_INET? That depends on the
> protocol modules that are used for the PPP interface. I think I've

You specifically talked about IPv4 missing, and that would be in 
AF_INET.

> overmodularized the PPP stack...is there any point in having it
> modular, at all?

Dunno, probably not too much ;-)
It makes sense to separate PPP from PPPoE, so that you could have 
serial PPP as well, but beyond that, I don't know.

> BTW, you once wanted PPP to create a net_device for every interface
> even if it's not connected (instead of creating them on-demand). Is
> this what you plan for the new netstack? The way you talk about PPPoE
> gives me this impression. Well, the advantage could be that you don't
> need a special pppconfig command because ifconfig could issue the
> up/down actions.

Still, there is no net_device anywhere to be seen. But if you want to 
use PPP you sure have to create an interface for it (either through 
ifconfig or a dedicated application). Also in the auto dial case.

> How will protocols register themselves with the net_device? One party
> (protocol or, preferrably, the device) has to know the link-layer 
> type
> IDs for the respective protocol (IPv4, IPv6, PPPoE). For example,
> ethernet has different packet type IDs than PPP and other devices.
> Will protocol IDs be hard-coded in the device or will it be possible
> to add new handlers by supplying the device's protocol type ID?

I am not sure what you mean. Are you asking how the received packets 
are dispatched to the correct protocol?

Bye,
   Axel.






[ 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.