[PATCH] ppp: alert ipcp when lcp is down
Kristen Carlson Accardi
kristen at linux.intel.com
Thu Apr 22 12:55:02 PDT 2010
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(-)
diff --git a/gatchat/gatppp.c b/gatchat/gatppp.c
index b7834e3..4f49404 100644
--- a/gatchat/gatppp.c
+++ b/gatchat/gatppp.c
@@ -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;
diff --git a/gatchat/ppp.h b/gatchat/ppp.h
index 07483a9..e60bd23 100644
--- a/gatchat/ppp.h
+++ b/gatchat/ppp.h
@@ -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);
diff --git a/gatchat/ppp_lcp.c b/gatchat/ppp_lcp.c
index 8639c6c..5a9750d 100644
--- a/gatchat/ppp_lcp.c
+++ b/gatchat/ppp_lcp.c
@@ -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);
}
--
1.6.6.1
More information about the ofono
mailing list