version 1.1.1.3, 2021/03/17 00:39:23
|
version 1.1.1.3.2.1, 2023/09/27 11:08:00
|
Line 26
|
Line 26
|
|
|
#define LCP_ECHO_INTERVAL 5 /* Enable keep alive by default */ |
#define LCP_ECHO_INTERVAL 5 /* Enable keep alive by default */ |
#define LCP_ECHO_TIMEOUT 40 |
#define LCP_ECHO_TIMEOUT 40 |
|
#define LCP_MAX_RESETS 3 |
|
|
#define LCP_KNOWN_CODES ( (1 << CODE_CONFIGREQ) \ |
#define LCP_KNOWN_CODES ( (1 << CODE_CONFIGREQ) \ |
| (1 << CODE_CONFIGACK) \ |
| (1 << CODE_CONFIGACK) \ |
Line 180 LcpInit(Link l)
|
Line 181 LcpInit(Link l)
|
FsmInit(&lcp->fsm, &gLcpFsmType, l); |
FsmInit(&lcp->fsm, &gLcpFsmType, l); |
lcp->fsm.conf.echo_int = LCP_ECHO_INTERVAL; |
lcp->fsm.conf.echo_int = LCP_ECHO_INTERVAL; |
lcp->fsm.conf.echo_max = LCP_ECHO_TIMEOUT; |
lcp->fsm.conf.echo_max = LCP_ECHO_TIMEOUT; |
|
lcp->resets = LCP_MAX_RESETS; |
lcp->phase = PHASE_DEAD; |
lcp->phase = PHASE_DEAD; |
|
|
AuthInit(l); |
AuthInit(l); |
Line 690 LcpLayerDown(Fsm fp)
|
Line 692 LcpLayerDown(Fsm fp)
|
LcpState const lcp = &l->lcp; |
LcpState const lcp = &l->lcp; |
|
|
LcpStopActivity(l); |
LcpStopActivity(l); |
if (lcp->phase == PHASE_AUTHENTICATE || lcp->phase == PHASE_NETWORK) | if (lcp->phase == PHASE_AUTHENTICATE || lcp->phase == PHASE_NETWORK) { |
lcp->need_reset = 1; |
lcp->need_reset = 1; |
|
if (lcp->resets > 0) { |
|
Log(LG_LCP2, ("[%s] LCP: Reset (%u left)", l->name, (int)lcp->resets)); |
|
lcp->resets--; |
|
} else { |
|
Log(LG_LCP2, ("[%s] LCP: Too many resets", l->name)); |
|
FsmFailure(&lcp->fsm, FAIL_NEGOT_FAILURE); |
|
lcp->resets = LCP_MAX_RESETS; |
|
} |
|
} |
} |
} |
|
|
void LcpOpen(Link l) |
void LcpOpen(Link l) |