Skip to contentSkip to conversation

ppp: change debug output to include control protocol prefix

PATCH In review Kristen Carlson Accardi 2 participants 2 messages Mar 25, 2010

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 ppp: change debug output to include control protocol prefix

---
 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(-)
gatchat/ppp_cp.c +6 -6
index 75b3bec..137f6b9 100644
@@ -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] =
gatchat/ppp_cp.h +9 -1
index 095a8b5..69676cd 100644
@@ -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);
gatchat/ppp_lcp.c +10 -2
index 0892b2c..7206b4b 100644
@@ -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;
gatchat/ppp_net.c +10 -2
index a873c00..d8df896 100644
@@ -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;
Signature · 1 line
1.6.6.1
#1 lore raw

Hi Kristen,

Quoted 5 lines
 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(-)

patch has been applied. Thanks.

Regards

Marcel