[PATCH] ppp: change debug output to include control protocol prefix

Kristen Carlson Accardi kristen at linux.intel.com
Thu Mar 25 10:59:34 PDT 2010


---
 gatchat/ppp_cp.c  |   12 ++++++------
 gatchat/ppp_cp.h  |   10 +++++++++-
 gatchat/ppp_lcp.c |   12 ++++++++++--
 gatchat/ppp_net.c |   12 ++++++++++--
 4 files changed, 35 insertions(+), 11 deletions(-)

diff --git a/gatchat/ppp_cp.c b/gatchat/ppp_cp.c
index 75b3bec..137f6b9 100644
--- a/gatchat/ppp_cp.c
+++ b/gatchat/ppp_cp.c
@@ -40,7 +40,7 @@ static const char *pppcp_state_strings[] =
 	"REQSENT", "ACKRCVD", "ACKSENT", "OPENED" };
 
 #define pppcp_trace(p) do { \
-	g_print("%s: current state %d:%s\n", __FUNCTION__, \
+	g_print("%s: %s: current state %d:%s\n", p->prefix, __FUNCTION__, \
 		p->state, pppcp_state_strings[p->state]); \
 } while (0)
 #else
@@ -1483,8 +1483,7 @@ void pppcp_free(struct pppcp_data *data)
 	g_free(data);
 }
 
-struct pppcp_data *pppcp_new(GAtPPP *ppp, guint16 proto,
-				gpointer priv)
+struct pppcp_data *pppcp_new(struct pppcp_protocol_data *protocol_data)
 {
 	struct pppcp_data *data;
 
@@ -1502,9 +1501,10 @@ struct pppcp_data *pppcp_new(GAtPPP *ppp, guint16 proto,
 	data->max_failure = MAX_FAILURE;
 	data->event_queue = g_queue_new();
 	data->identifier = 0;
-	data->ppp = ppp;
-	data->proto = proto;
-	data->priv = priv;
+	data->ppp = protocol_data->ppp;
+	data->proto = protocol_data->proto;
+	data->priv = protocol_data->priv;
+	data->prefix = protocol_data->prefix;
 
 	/* setup func ptrs for processing packet by pppcp code */
 	data->packet_ops[CONFIGURE_REQUEST - 1] =
diff --git a/gatchat/ppp_cp.h b/gatchat/ppp_cp.h
index 095a8b5..69676cd 100644
--- a/gatchat/ppp_cp.h
+++ b/gatchat/ppp_cp.h
@@ -106,6 +106,13 @@ struct pppcp_timer_data {
 	guint restart_timer;
 };
 
+struct pppcp_protocol_data {
+	guint16 proto;
+	const char *prefix;
+	gpointer priv;
+	GAtPPP *ppp;
+};
+
 struct pppcp_data {
 	enum pppcp_state state;
 	struct pppcp_timer_data config_timer_data;
@@ -131,9 +138,10 @@ struct pppcp_data {
 				guint length);
 	gpointer priv;
 	guint16 proto;
+	const char *prefix;
 };
 
-struct pppcp_data *pppcp_new(GAtPPP *ppp, guint16 proto, gpointer priv);
+struct pppcp_data *pppcp_new(struct pppcp_protocol_data *proto_data);
 void pppcp_free(struct pppcp_data *data);
 void pppcp_add_config_option(struct pppcp_data *data,
 				struct ppp_option *option);
diff --git a/gatchat/ppp_lcp.c b/gatchat/ppp_lcp.c
index 0892b2c..7206b4b 100644
--- a/gatchat/ppp_lcp.c
+++ b/gatchat/ppp_lcp.c
@@ -153,6 +153,13 @@ static void lcp_option_process(gpointer data, gpointer user)
 	}
 }
 
+static const char lcp_prefix[] = "lcp";
+
+static struct pppcp_protocol_data lcp_protocol_data = {
+	.proto = LCP_PROTOCOL,
+	.prefix = lcp_prefix,
+};
+
 struct ppp_packet_handler lcp_packet_handler = {
 	.proto = LCP_PROTOCOL,
 	.handler = pppcp_process_packet,
@@ -213,13 +220,14 @@ void lcp_free(struct pppcp_data *lcp)
 	pppcp_free(lcp);
 }
 
-struct pppcp_data * lcp_new(GAtPPP *ppp)
+struct pppcp_data *lcp_new(GAtPPP *ppp)
 {
 	struct pppcp_data *pppcp;
 	struct ppp_option *option;
 	guint16 codes = LCP_SUPPORTED_CODES;
 
-	pppcp = pppcp_new(ppp, LCP_PROTOCOL, NULL);
+	lcp_protocol_data.ppp = ppp;
+	pppcp = pppcp_new(&lcp_protocol_data);
 	if (!pppcp) {
 		g_print("Failed to allocate PPPCP struct\n");
 		return NULL;
diff --git a/gatchat/ppp_net.c b/gatchat/ppp_net.c
index a873c00..d8df896 100644
--- a/gatchat/ppp_net.c
+++ b/gatchat/ppp_net.c
@@ -249,6 +249,8 @@ static void ipcp_finished(struct pppcp_data *data)
 	g_print("ipcp finished\n");
 }
 
+static const char ipcp_prefix[] = "ipcp";
+
 struct pppcp_action ipcp_action = {
 	.this_layer_up =	ipcp_up,
 	.this_layer_down = 	ipcp_down,
@@ -258,6 +260,11 @@ struct pppcp_action ipcp_action = {
 	.option_process = 	ipcp_option_process,
 };
 
+static struct pppcp_protocol_data ipcp_protocol_data = {
+	.proto = IPCP_PROTO,
+	.prefix = ipcp_prefix,
+};
+
 struct ppp_packet_handler ipcp_packet_handler = {
 	.proto = IPCP_PROTO,
 	.handler = pppcp_process_packet,
@@ -326,14 +333,15 @@ static struct pppcp_data * ipcp_new(GAtPPP *ppp)
 	if (!data)
 		return NULL;
 
-	pppcp = pppcp_new(ppp, IPCP_PROTO, data);
+	ipcp_protocol_data.ppp = ppp;
+	ipcp_protocol_data.priv = data;
+	pppcp = pppcp_new(&ipcp_protocol_data);
 	if (!pppcp) {
 		g_printerr("Failed to allocate PPPCP struct\n");
 		g_free(data);
 		return NULL;
 	}
 	pppcp_set_valid_codes(pppcp, IPCP_SUPPORTED_CODES);
-	pppcp->priv = data;
 
 	/* set the actions */
 	pppcp->action = &ipcp_action;
-- 
1.6.6.1



More information about the ofono mailing list