Blob Blame History Raw
From e8c85404d362aa612b21159dc2b7281e37c6346f Mon Sep 17 00:00:00 2001
From: Jens Osterkamp <jens@linux.vnet.ibm.com>
Date: Thu, 7 Apr 2011 13:37:42 -0700
Subject: [PATCH 51/51] lldpad: make debug messages from netlink path helpful

The debug messages for received netlink messages e.g. for device changes
have been mostly empty so far.

This patch corrects this.

Signed-off-by: Jens Osterkamp <jens@linux.vnet.ibm.com>
Signed-off-by: John Fastabend <john.r.fastabend@intel.com>
Signed-off-by: Petr Sabata <psabata@redhat.com>
---
 event_iface.c |   96 +++++++++++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 77 insertions(+), 19 deletions(-)

diff --git a/event_iface.c b/event_iface.c
index bdf9095..99501c2 100644
--- a/event_iface.c
+++ b/event_iface.c
@@ -90,9 +90,6 @@ static struct nla_policy ifla_port_policy[IFLA_PORT_MAX + 1] =
 
 static void event_if_decode_rta(int type, struct rtattr *rta, int *ls, char *d)
 {
-
-	LLDPAD_DBG("    rta_type  =\n", rta->rta_len);
-	
 	switch (type) {
 	case IFLA_ADDRESS:
 		LLDPAD_DBG(" IFLA_ADDRESS\n");
@@ -100,22 +97,83 @@ static void event_if_decode_rta(int type, struct rtattr *rta, int *ls, char *d)
 	case IFLA_BROADCAST:
 		LLDPAD_DBG(" IFLA_BROADCAST\n");
 		break;
+	case IFLA_IFNAME:
+		strncpy(d, (char *)RTA_DATA(rta), IFNAMSIZ);
+		LLDPAD_DBG(" IFLA_IFNAME\n");
+		LLDPAD_DBG("        device name is %s\n", d);
+		break;
+	case IFLA_MTU:
+		LLDPAD_DBG(" IFLA_MTU\n");
+		break;
+	case IFLA_LINK:
+		LLDPAD_DBG(" IFLA_LINK\n");
+		break;
+	case IFLA_QDISC:
+		LLDPAD_DBG(" IFLA_QDISC\n");
+		break;
+	case IFLA_STATS:
+		LLDPAD_DBG(" IFLA_STATS\n");
+		break;
+	case IFLA_COST:
+		LLDPAD_DBG(" IFLA_COST\n");
+		break;
+	case IFLA_PRIORITY:
+		LLDPAD_DBG(" IFLA_PRIORITY\n");
+		break;
+	case IFLA_MASTER:
+		LLDPAD_DBG(" IFLA_MASTER\n");
+		break;
+	case IFLA_WIRELESS:
+		LLDPAD_DBG(" IFLA_WIRELESS\n");
+		break;
+	case IFLA_PROTINFO:
+		LLDPAD_DBG(" IFLA_PROTINFO\n");
+		break;
+	case IFLA_TXQLEN:
+		LLDPAD_DBG(" IFLA_TXQLEN\n");
+		break;
+	case IFLA_MAP:
+		LLDPAD_DBG(" IFLA_MAP\n");
+		break;
+	case IFLA_WEIGHT:
+		LLDPAD_DBG(" IFLA_WEIGHT\n");
+		break;
 	case IFLA_OPERSTATE:
-		LLDPAD_DBG(" IFLA_OPERSTATE \n", type);
+		LLDPAD_DBG(" IFLA_OPERSTATE\n");
 		*ls = (*((int *)RTA_DATA(rta)));
+		LLDPAD_DBG("        OPERSTATE = 0x%02x\n", *ls);
 		break;
 	case IFLA_LINKMODE:
-		LLDPAD_DBG(" IFLA_LINKMODE \n", type);
-		LLDPAD_DBG("        LINKMODE = \n", (*((int *)RTA_DATA(rta)))?
+		LLDPAD_DBG(" IFLA_LINKMODE\n");
+		LLDPAD_DBG("        LINKMODE = %s\n", (*((int *)RTA_DATA(rta)))?
 			"IF_LINK_MODE_DORMANT": "IF_LINK_MODE_DEFAULT");
 		break;
-	case IFLA_IFNAME:
-		strncpy(d, (char *)RTA_DATA(rta), IFNAMSIZ);
-		LLDPAD_DBG(" IFLA_IFNAME\n");
-		LLDPAD_DBG(" device name is \n", d);
+	case IFLA_LINKINFO:
+		LLDPAD_DBG(" IFLA_LINKINFO\n");
+		break;
+	case IFLA_NET_NS_PID:
+		LLDPAD_DBG(" IFLA_NET_NS_PID\n");
+		break;
+	case IFLA_IFALIAS:
+		LLDPAD_DBG(" IFLA_IFALIAS\n");
+		break;
+	case IFLA_NUM_VF:
+		LLDPAD_DBG(" IFLA_NUMVF\n");
+		break;
+	case IFLA_VFINFO_LIST:
+		LLDPAD_DBG(" IFLA_VFINFO_LIST\n");
+		break;
+	case IFLA_STATS64:
+		LLDPAD_DBG(" IFLA_STATS64\n");
+		break;
+	case IFLA_VF_PORTS:
+		LLDPAD_DBG(" IFLA_VF_PORTS\n");
+		break;
+	case IFLA_PORT_SELF:
+		LLDPAD_DBG(" IFLA_PORT_SELF\n");
 		break;
 	default:
-		LLDPAD_DBG(" unknown type : \n", type);
+		LLDPAD_DBG(" unknown type : 0x%02x\n", type);
 		break;
 	}
 }
@@ -175,16 +233,16 @@ static void event_if_decode_nlmsg(int route_type, void *data, int len)
 	case RTM_DELLINK:
 	case RTM_SETLINK:
 	case RTM_GETLINK:
-		LLDPAD_DBG("  IFINFOMSG\n");
-		LLDPAD_DBG("  ifi_family = \n",
+		LLDPAD_DBG(" IFINFOMSG\n");
+		LLDPAD_DBG("        ifi_family = 0x%02x\n",
 			((struct ifinfomsg *)data)->ifi_family);
-		LLDPAD_DBG("  ifi_type   = \n",
+		LLDPAD_DBG("        ifi_type   = 0x%x\n",
 			((struct ifinfomsg *)data)->ifi_type);
-		LLDPAD_DBG("  ifi_index  = \n",
+		LLDPAD_DBG("        ifi_index  = %i\n",
 			((struct ifinfomsg *)data)->ifi_index);
-		LLDPAD_DBG("  ifi_flags  = \n",
+		LLDPAD_DBG("        ifi_flags  = 0x%04x\n",
 			((struct ifinfomsg *)data)->ifi_flags);
-		LLDPAD_DBG("  ifi_change = \n",
+		LLDPAD_DBG("        ifi_change = 0x%04x\n",
 			((struct ifinfomsg *)data)->ifi_change);
 
 		/* print attributes */
@@ -197,8 +255,8 @@ static void event_if_decode_nlmsg(int route_type, void *data, int len)
 			rta = RTA_NEXT(rta, attrlen);
 		}
 
-		LLDPAD_DBG("link status: \n", link_status);
-		LLDPAD_DBG("device name: \n", device_name);
+		LLDPAD_DBG("        link status: %i\n", link_status);
+		LLDPAD_DBG("        device name: %s\n", device_name);
 
 		switch (link_status) {
 		case IF_OPER_DOWN:
-- 
1.7.4.4