c++ – Scalable PPP protocol. Help Needed regarding State Machine – Education Career Blog

I am designing scalable PPP mean it can be extended to over Ethernet, over HDLC, over ATM etc.. I was stuck in determining whether State Machine is hadle by PPP stack means i have design Base class for PPPStack in which FSM, encode, decode etc is there or PPPoE which is derived from my PPP Base Class PPPStack.

I am designing PPP using C++, so that it can be extended to oE, oATM etc.

PPP frame encoding in done in PPP itself and PPPoE of which PPP frame is add after discovery and start of session.

This is first time i am writing Scalable, If anybody involved in Scalable Architecture would love hear points from them too:)

Thank you so much in advance


PPP does have a state machine, several in fact. The link is started, authorized, and kept up by a state machine.

The LCP, link control protocol, however, is a much more complex state machine you’ll need to deal with.

There are a lot of resources about PPP, and I’m afraid the only question I saw in your post was

“I was stuck in determing wheter State Machine is hadle by PPP stack or PPPoE.”

The answer is PPP does have several state machines.

PPPoE might also have another state machine or two, but I haven’t checked into that.

Here are a few resources that might help you:

Very nice document with a good LCP state transition table:

Excellent powerpoint overview talking about many aspects of PPP:

Also, a google search is likely to be useful:

Good luck, and feel free to revise your question if I didn’t understand it.


Leave a Comment