ppp: alert ipcp when lcp is down
PATCH 1/1 ppp: alert ipcp when lcp is down
This cleanly shuts down the network interface
--- gatchat/gatppp.c | 5 +++++ gatchat/ppp.h | 1 + gatchat/ppp_lcp.c | 1 + 3 files changed, 7 insertions(+), 0 deletions(-)
gatchat/gatppp.c +5 -0
@@ -429,6 +429,11 @@ void ppp_net_down_notify(GAtPPP *ppp) ppp->net =NULL ; } +void ppp_lcp_down_notify (GAtPPP *ppp) +{ +pppcp_signal_down (ppp->ipcp); +} +void ppp_set_recv_accm (GAtPPP *ppp,guint32 accm) { ppp->recv_accm = accm;
gatchat/ppp.h +1 -0
@@ -117,3 +117,4 @@ void ppp_net_down_notify(GAtPPP *ppp);void ppp_set_recv_accm (GAtPPP *ppp,guint32 accm);void ppp_set_xmit_accm (GAtPPP *ppp,guint32 accm);void ppp_set_mtu (GAtPPP *ppp,const guint8 *data); +void ppp_lcp_down_notify (GAtPPP *ppp);
gatchat/ppp_lcp.c +1 -0
@@ -114,6 +114,7 @@ static void lcp_down(struct pppcp_data *pppcp)lcp_reset_config_options (lcp);pppcp_set_local_options (pppcp, lcp->options, lcp->options_len); +ppp_lcp_down_notify (pppcp_get_ppp (pppcp));ppp_enter_phase (pppcp_get_ppp (pppcp),PPP_PHASE_TERMINATION ); }
Signature · 1 line
1.6.6.1
Hi Kristen,
gatchat/ppp_lcp.c static void lcp_down(struct pppcp_data *pppcp) · line 119
Quoted 6 lines
gatchat/ppp_lcp.c +1
-0lcp_reset_config_options (lcp);pppcp_set_local_options (pppcp, lcp->options, lcp->options_len); +ppp_lcp_down_notify (pppcp_get_ppp (pppcp));ppp_enter_phase (pppcp_get_ppp (pppcp),PPP_PHASE_TERMINATION ); }
I fixed this somewhat different by calling down & close on ipcp layer from within the termination phase.
Regards,
-Denis