mirror of
https://git.savannah.nongnu.org/git/lwip.git
synced 2025-08-04 21:44:38 +08:00
don't call ppp_hup() and ppp_stop() if PPPoE or PPPoL2TP failed to connect
This is useless because PPP is not started yet, it confuses the PPP phase state machine.
This commit is contained in:
parent
5552f082e8
commit
8ec92b6fe7
@ -1950,6 +1950,8 @@ static void ppp_over_ethernet_link_status_cb(ppp_pcb *pcb, int state) {
|
|||||||
case PPPOE_CB_STATE_DOWN:
|
case PPPOE_CB_STATE_DOWN:
|
||||||
PPPDEBUG(LOG_INFO, ("ppp_over_ethernet_link_status_cb: unit %d: DOWN, disconnected\n", pcb->num));
|
PPPDEBUG(LOG_INFO, ("ppp_over_ethernet_link_status_cb: unit %d: DOWN, disconnected\n", pcb->num));
|
||||||
pppoe_err_code = PPPERR_CONNECT;
|
pppoe_err_code = PPPERR_CONNECT;
|
||||||
|
ppp_hup(pcb);
|
||||||
|
ppp_stop(pcb);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
/* PPPoE link failed to setup (i.e. PADI/PADO timeout) */
|
/* PPPoE link failed to setup (i.e. PADI/PADO timeout) */
|
||||||
@ -1959,8 +1961,6 @@ static void ppp_over_ethernet_link_status_cb(ppp_pcb *pcb, int state) {
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
ppp_hup(pcb);
|
|
||||||
ppp_stop(pcb);
|
|
||||||
if (pcb->link_status_cb) {
|
if (pcb->link_status_cb) {
|
||||||
pcb->link_status_cb(pcb, pcb->err_code ? pcb->err_code : pppoe_err_code, pcb->link_status_ctx);
|
pcb->link_status_cb(pcb, pcb->err_code ? pcb->err_code : pppoe_err_code, pcb->link_status_ctx);
|
||||||
}
|
}
|
||||||
@ -2001,6 +2001,8 @@ static void ppp_over_l2tp_link_status_cb(ppp_pcb *pcb, int state) {
|
|||||||
case PPPOL2TP_CB_STATE_DOWN:
|
case PPPOL2TP_CB_STATE_DOWN:
|
||||||
PPPDEBUG(LOG_INFO, ("ppp_over_l2tp_link_status_cb: unit %d: DOWN, disconnected\n", pcb->num));
|
PPPDEBUG(LOG_INFO, ("ppp_over_l2tp_link_status_cb: unit %d: DOWN, disconnected\n", pcb->num));
|
||||||
pppol2tp_err_code = PPPERR_CONNECT;
|
pppol2tp_err_code = PPPERR_CONNECT;
|
||||||
|
ppp_hup(pcb);
|
||||||
|
ppp_stop(pcb);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
/* PPPoL2TP link failed to setup (i.e. L2TP timeout) */
|
/* PPPoL2TP link failed to setup (i.e. L2TP timeout) */
|
||||||
@ -2010,8 +2012,6 @@ static void ppp_over_l2tp_link_status_cb(ppp_pcb *pcb, int state) {
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
ppp_hup(pcb);
|
|
||||||
ppp_stop(pcb);
|
|
||||||
if (pcb->link_status_cb) {
|
if (pcb->link_status_cb) {
|
||||||
pcb->link_status_cb(pcb, pcb->err_code ? pcb->err_code : pppol2tp_err_code, pcb->link_status_ctx);
|
pcb->link_status_cb(pcb, pcb->err_code ? pcb->err_code : pppol2tp_err_code, pcb->link_status_ctx);
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user