Mitchell Blank Jr writes:
> > I think that for PPPoE at least sockets (of some form) are the way to
> > go, because with a sockets approach we have code that maintains
> > consistent semantics.
> I agree, especially if you're running a PPPoE session server, where
> you need hundreds of simultaneous sessions demuxed.
Serving up connections on such a scale brings up some issues. Most
importantly, there should be a single process which negotiates all
incoming connections. I deal with this in my most recent pppd patch
by forking after having established a new connection; the child
process then handles that connection and the parent continues to
listen for more connections. This is an issue since a pppd daemon no
longer has exclusive access to data over a particular "device". I
don't know how this applies to PPPoATM, but I think it would be good
to agree on what the correct behaviour should be in such situations,
regardless of the back-end device/protocol.