summaryrefslogtreecommitdiff
path: root/accel-pppd/ppp/ppp_fsm.c
diff options
context:
space:
mode:
authorKozlov Dmitry <dima@server>2011-06-10 16:08:15 +0400
committerKozlov Dmitry <dima@server>2011-06-10 16:08:15 +0400
commit05ad71a30740f1cca95e9f47a8a56c65b03402ed (patch)
tree81faa12cc9962c39dcf675b0496715a756c58aad /accel-pppd/ppp/ppp_fsm.c
parent605081a82d2acb59b07eea991a30203b148623ac (diff)
downloadaccel-ppp-xebd-05ad71a30740f1cca95e9f47a8a56c65b03402ed.tar.gz
accel-ppp-xebd-05ad71a30740f1cca95e9f47a8a56c65b03402ed.zip
ppp: implemented passive CCP
Diffstat (limited to 'accel-pppd/ppp/ppp_fsm.c')
-rw-r--r--accel-pppd/ppp/ppp_fsm.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/accel-pppd/ppp/ppp_fsm.c b/accel-pppd/ppp/ppp_fsm.c
index 180b30e..33f8237 100644
--- a/accel-pppd/ppp/ppp_fsm.c
+++ b/accel-pppd/ppp/ppp_fsm.c
@@ -97,7 +97,7 @@ int ppp_fsm_open(struct ppp_fsm_t *layer)
switch(layer->fsm_state)
{
case FSM_Initial:
- if (layer->layer_started) layer->layer_started(layer);
+ //if (layer->layer_started) layer->layer_started(layer);
layer->fsm_state=FSM_Starting;
break;
case FSM_Starting:
@@ -215,6 +215,12 @@ void ppp_fsm_recv_conf_req_ack(struct ppp_fsm_t *layer)
--layer->restart_counter;
if (layer->send_conf_req) layer->send_conf_req(layer);
case FSM_Req_Sent:
+ if (layer->send_conf_ack) layer->send_conf_ack(layer);
+ init_req_counter(layer,layer->max_configure);
+ --layer->restart_counter;
+ if (layer->send_conf_req) layer->send_conf_req(layer);
+ layer->fsm_state=FSM_Ack_Sent;
+ break;
case FSM_Ack_Sent:
if (layer->send_conf_ack) layer->send_conf_ack(layer);
layer->fsm_state=FSM_Ack_Sent;