Currently each macro user needs to provide a format that will print
the interface name. This creates non-standard output as each macro
caller may specify a different format.

Also, there are a lot of debug statements where the caller checks
the fcm_debug variable before printing the debug message. It would
make more readable code to move that conditional into a macro so
each caller doesn't have to make the check.

This patch adds a few new macros to fcoemon.h that use the
fcoemon_utils.[ch] logging functions. There are _DEV_ macros that
take the 'struct fcm_fcoe' so they can print the interface (device)
name and there are _DBG macros that will check 'if (fcm_debug)'
before calling the print function.

Signed-off-by: Robert Love <[email protected]>
---

 fcoemon.c |  309 +++++++++++++++++++++++++++----------------------------------
 fcoemon.h |   19 ++++
 2 files changed, 155 insertions(+), 173 deletions(-)

diff --git a/fcoemon.c b/fcoemon.c
index c5fc4ca..ec4e058 100644
--- a/fcoemon.c
+++ b/fcoemon.c
@@ -140,7 +140,6 @@ static struct fcm_clif *fcm_clif = &fcm_clif_st;
 static struct sa_timer fcm_dcbd_timer;
 
 char *fcm_dcbd_cmd = CONFIG_DIR "/scripts/fcoeplumb";
-int fcm_debug;
 int fcm_use_syslog;
 
 /* Debugging routine */
@@ -471,16 +470,13 @@ fcm_link_recv(void *arg)
                }
                switch (type) {
                case RTM_NEWLINK:
-                       if (fcm_debug)
-                               SA_LOG("newlink %d", ip->ifi_index);
+                       FCM_LOG_DBG("newlink %d", ip->ifi_index);
                        goto rest;
                case RTM_DELLINK:
-                       if (fcm_debug)
-                               SA_LOG("dellink %d", ip->ifi_index);
+                       FCM_LOG_DBG("dellink %d", ip->ifi_index);
                        goto rest;
                case RTM_GETLINK:
-                       if (fcm_debug)
-                               SA_LOG("getlink %d", ip->ifi_index);
+                       FCM_LOG_DBG("getlink %d", ip->ifi_index);
 rest:
                        if (fcm_link_buf_check(rc)) {
                                fcm_link_getlink();
@@ -507,8 +503,7 @@ rest:
                                        sa_strncpy_safe(ifname, sizeof(ifname),
                                                        RTA_DATA(ap),
                                                        RTA_PAYLOAD(ap));
-                                       if (fcm_debug)
-                                               SA_LOG("ifname %s", ifname);
+                                       FCM_LOG_DBG("ifname %s", ifname);
                                        fcm_fcoe_set_name(ff, ifname);
                                        break;
                                case IFLA_OPERSTATE:
@@ -778,8 +773,7 @@ fcm_dcbd_connect(void)
        }
        fcm_clif->cl_fd = fd;
        sa_select_add_fd(fd, fcm_dcbd_rx, NULL, fcm_dcbd_ex, fcm_clif);
-       if (fcm_debug)
-               SA_LOG("connected to dcbd");
+       FCM_LOG_DBG("connected to dcbd");
        return 1;
 }
 
@@ -811,8 +805,7 @@ fcm_fcoe_config_reset(void)
                                ff->ff_qos_mask = fcm_def_qos_mask;
                                ff->ff_pfc_saved.u.pfcup = 0xffff;
                        }
-                       if (fcm_debug)
-                               SA_LOG("Port %s config reset\n", p->ifname);
+                       FCM_LOG_DEV_DBG(ff, "Port config reset\n");
                }
                p = p->next;
        }
@@ -849,16 +842,14 @@ fcm_dcbd_disconnect(void)
                fcm_clif->cl_busy = 0;
                fcm_clif->cl_ping_pending = 0;
                fcm_fcoe_config_reset();
-               if (fcm_debug)
-                       SA_LOG("disconnected from dcbd");
+               FCM_LOG_DBG("Disconnected from dcbd");
        }
 }
 
 static void
 fcm_dcbd_shutdown(void)
 {
-       if (fcm_debug)
-               SA_LOG("Shut down dcbd connection\n");
+       FCM_LOG_DBG("Shut down dcbd connection\n");
        fcm_dcbd_request("D");  /* DETACH_CMD */
        fcm_dcbd_disconnect();
        unlink(fcm_pidfile);
@@ -895,12 +886,12 @@ fcm_dcbd_state_set(struct fcm_fcoe *ff, enum 
fcm_dcbd_state new_state)
                char old[32];
                char new[32];
 
-               SA_LOG("%s: %s -> %s",
-                      ff->ff_name,
-                      sa_enum_decode(old, sizeof(old),
-                                     fcm_dcbd_states, ff->ff_dcbd_state),
-                      sa_enum_decode(new, sizeof(new),
-                                     fcm_dcbd_states, new_state));
+               FCM_LOG_DEV_DBG(ff, "%s -> %s",
+                               sa_enum_decode(old, sizeof(old),
+                                              fcm_dcbd_states,
+                                              ff->ff_dcbd_state),
+                               sa_enum_decode(new, sizeof(new),
+                                              fcm_dcbd_states, new_state));
        }
        ff->ff_dcbd_state = new_state;
 }
@@ -924,8 +915,8 @@ fcm_dcbd_rx(void *arg)
                buf[rc] = '\0';
                len = strlen(buf);
                ASSERT(len <= rc);
-               if (fcm_debug && len > FCM_PING_RSP_LEN)
-                       SA_LOG("received len %d buf '%s'", len, buf);
+               if (len > FCM_PING_RSP_LEN)
+                       FCM_LOG_DBG("received len %d buf '%s'", len, buf);
 
                switch (buf[CLIF_RSP_MSG_OFF]) {
                case CMD_RESPONSE:
@@ -979,8 +970,7 @@ fcm_dcbd_rx(void *arg)
 static void
 fcm_dcbd_ex(void *arg)
 {
-       if (fcm_debug)
-               SA_LOG("called");
+       FCM_LOG_DBG("called");
 }
 
 static void
@@ -1003,8 +993,8 @@ fcm_dcbd_request(char *req)
                return;
        }
 
-       if (fcm_debug && rc > FCM_PING_REQ_LEN)
-               SA_LOG("sent '%s', rc=%d bytes succeeded", req, rc);
+       if (rc > FCM_PING_REQ_LEN)
+               FCM_LOG_DBG("sent '%s', rc=%d bytes succeeded", req, rc);
        return;
 }
 
@@ -1077,7 +1067,8 @@ dcb_rsp_parser(struct fcm_fcoe *ff, char *rsp, cmd_status 
st)
            feature != FEATURE_PFC &&
            feature != FEATURE_APP &&
            feature != FEATURE_LLINK) {
-               SA_LOG("WARNING: Unexpected DCB feature %d\n", feature);
+               FCM_LOG_DEV(ff, "WARNING: Unexpected DCB feature %d\n",
+                           feature);
                return -1;
        }
 
@@ -1085,13 +1076,14 @@ dcb_rsp_parser(struct fcm_fcoe *ff, char *rsp, 
cmd_status st)
        if (dcb_cmd != CMD_GET_CONFIG &&
            dcb_cmd != CMD_GET_OPER &&
            dcb_cmd != CMD_GET_PEER) {
-               SA_LOG("WARNING: Unexpected DCB cmd %d\n", dcb_cmd);
+               FCM_LOG_DEV(ff, "WARNING: Unexpected DCB cmd %d\n", dcb_cmd);
                return -1;
        }
 
        version = rsp[DCB_VER_OFF] & 0x0f;
        if (version != CLIF_MSG_VERSION) {
-               SA_LOG("WARNING: Unexpected rsp version %d\n", version);
+               FCM_LOG_DEV(ff, "WARNING: Unexpected rsp version %d\n",
+                           version);
                return -1;
        }
 
@@ -1103,7 +1095,7 @@ dcb_rsp_parser(struct fcm_fcoe *ff, char *rsp, cmd_status 
st)
        case FEATURE_DCB:
                ff->ff_dcb_state = (*(rsp+doff+CFG_ENABLE) == '1');
                if (!ff->ff_dcb_state) {
-                       SA_LOG("WARNING: DCB state is off\n");
+                       FCM_LOG_DEV(ff, "WARNING: DCB state is off\n");
                        return -1;
                }
                return 0;
@@ -1180,43 +1172,42 @@ validating_dcb_app_pfc(struct fcm_fcoe *ff)
        int error = 0;
 
        if (!ff->ff_dcb_state) {
-               SA_LOG("WARNING: DCB state is off\n");
+               FCM_LOG_DEV(ff, "WARNING: DCB state is off\n");
                error++;
        }
        if (!ff->ff_app_info.willing) {
-               SA_LOG("WARNING: APP:0 willing mode is false\n");
+               FCM_LOG_DEV(ff, "WARNING: APP:0 willing mode is false\n");
                error++;
        }
        if (!ff->ff_app_info.advertise) {
-               SA_LOG("WARNING: APP:0 advertise mode is false\n");
+               FCM_LOG_DEV(ff, "WARNING: APP:0 advertise mode is false\n");
                error++;
        }
        if (!ff->ff_app_info.enable) {
-               SA_LOG("WARNING: APP:0 enable mode is false\n");
+               FCM_LOG_DEV(ff, "WARNING: APP:0 enable mode is false\n");
                error++;
        }
        if (!ff->ff_app_info.op_mode) {
-               SA_LOG("WARNING: APP:0 operational mode is false\n");
+               FCM_LOG_DEV(ff, "WARNING: APP:0 operational mode is false\n");
                error++;
        }
        if (!ff->ff_pfc_info.op_mode) {
-               SA_LOG("WARNING: PFC operational mode is false\n");
+               FCM_LOG_DEV(ff, "WARNING: PFC operational mode is false\n");
                error++;
        }
        if ((ff->ff_pfc_info.u.pfcup & ff->ff_app_info.u.appcfg) \
            != ff->ff_app_info.u.appcfg) {
-               SA_LOG("WARNING: APP:0 priority (0x%02x) doesn't "
-                      "match PFC priority (0x%02x)\n",
-                      ff->ff_app_info.u.appcfg,
-                      ff->ff_pfc_info.u.pfcup);
+               FCM_LOG_DEV(ff, "WARNING: APP:0 priority (0x%02x) doesn't "
+                           "match PFC priority (0x%02x)\n",
+                           ff->ff_app_info.u.appcfg,
+                           ff->ff_pfc_info.u.pfcup);
                error++;
        }
        if (error) {
-               SA_LOG("WARNING: DCB is configured incorrectly\n");
+               FCM_LOG_DEV(ff, "WARNING: DCB is configured incorrectly\n");
                return 0;
        }
-       if (fcm_debug)
-               SA_LOG("DCB is configured correctly\n");
+       FCM_LOG_DEV_DBG(ff, "DCB is configured correctly\n");
 
        return 1;
 }
@@ -1239,38 +1230,43 @@ validating_llink_tlv(struct fcm_fcoe *ff)
        int error = 0;
 
        if (!ff->ff_llink_info.enable) {
-               SA_LOG("WARNING: LLINK:0 enable mode is false\n");
+               FCM_LOG_DEV(ff, "WARNING: LLINK:0 enable mode "
+                           "is false\n");
                error++;
        }
        if (!ff->ff_llink_info.advertise) {
-               SA_LOG("WARNING: LLINK:0 advertise mode is false\n");
+               FCM_LOG_DEV(ff, "WARNING: LLINK:0 advertise mode "
+                           "is false\n");
                error++;
        }
        if (!ff->ff_llink_info.willing) {
-               SA_LOG("WARNING: LLINK:0 willing mode is false\n");
+               FCM_LOG_DEV(ff, "WARNING: LLINK:0 willing mode "
+                           "is false\n");
                error++;
        }
        if (!ff->ff_llink_info.op_mode) {
-               SA_LOG("WARNING: LLINK:0 operational mode is false\n");
+               FCM_LOG_DEV(ff, "WARNING: LLINK:0 operational mode "
+                           "is false\n");
                error++;
        }
        if (error) {
-               SA_LOG("WARNING: FCoE LLINK is configured incorrectly\n");
+               FCM_LOG_DEV(ff, "WARNING: FCoE LLINK is "
+                           "configured incorrectly\n");
                return 0;
        }
-       if (fcm_debug)
-               SA_LOG("FCoE LLINK is configured correctly\n");
+
+       FCM_LOG_DEV_DBG(ff, "FCoE LLINK is configured correctly\n");
 
        /*
         * At this point, this should be the link status
         * reported by the switch.
         */
        if (!ff->ff_llink_status) {
-               SA_LOG("WARNING: Switch reports FCoE LLINK is DOWN\n");
+               FCM_LOG_DEV(ff, "WARNING: Switch reports FCoE LLINK is DOWN\n");
                return 0;
        }
-       if (fcm_debug)
-               SA_LOG("Switch reports FCoE LLINK is UP\n");
+
+       FCM_LOG_DEV_DBG(ff, "Switch reports FCoE LLINK is UP\n");
 
        return 1;
 }
@@ -1473,16 +1469,17 @@ fcm_dcbd_cmd_resp(char *resp, cmd_status st)
                 */
                val = fcm_get_hex(cp + OPER_ERROR, 2, &ep);
                if (ep != NULL) {
-                       SA_LOG("invalid get oper response parse error byte %d."
-                              "  resp %s", ep - cp, cp);
+                       FCM_LOG_DEV(ff, "Invalid get oper response "
+                                   "parse error byte %d, resp %s",
+                                   ep - cp, cp);
                        fcm_dcbd_state_set(ff, FCD_ERROR);
                        break;
                }
                if (val != 0) {
-                       if (fcm_debug) {
-                               SA_LOG("val=0x%x resp:%s\n", val, orig_resp);
+                       FCM_LOG_DEV_DBG(ff, "val=0x%x resp:%s\n", val,
+                                       orig_resp);
+                       if (fcm_debug)
                                print_errors("", val);
-                       }
                        fcm_dcbd_setup(ff, ADM_DESTROY);
                        fcm_dcbd_state_set(ff, FCD_DONE);
                        return;
@@ -1494,14 +1491,12 @@ fcm_dcbd_cmd_resp(char *resp, cmd_status st)
                enable = (cp[OPER_OPER_MODE] == '1');
                switch (ff->ff_dcbd_state) {
                case FCD_GET_PFC_OPER:
-                       if (fcm_debug) {
-                               SA_LOG("%s PFC feature is %ssynced",
-                                      ff->ff_name,
-                                      cp[OPER_SYNCD] == '1' ? "" : "not ");
-                               SA_LOG("%s PFC operating mode is %s",
-                                      ff->ff_name, cp[OPER_OPER_MODE] == '1'
-                                      ? "on" : "off ");
-                       }
+                       FCM_LOG_DEV_DBG(ff, "PFC feature is %ssynced",
+                                       cp[OPER_SYNCD] == '1' ? "" : "not ");
+
+                       FCM_LOG_DEV_DBG(ff, "PFC operating mode is %s",
+                                       cp[OPER_OPER_MODE] == '1'
+                                       ? "on" : "off ");
                        ff->ff_pfc_info.enable = enable;
                        rc = dcb_rsp_parser(ff, resp, st);
                        if (!rc)
@@ -1510,14 +1505,11 @@ fcm_dcbd_cmd_resp(char *resp, cmd_status st)
                                fcm_dcbd_state_set(ff, FCD_ERROR);
                        break;
                case FCD_GET_LLINK_OPER:
-                       if (fcm_debug) {
-                               SA_LOG("%s LLINK feature is %ssynced",
-                                      ff->ff_name,
-                                      cp[OPER_SYNCD] == '1' ? "" : "not ");
-                               SA_LOG("%s LLINK operating mode is %s",
-                                      ff->ff_name, cp[OPER_OPER_MODE] == '1'
-                                      ? "on" : "off ");
-                       }
+                       FCM_LOG_DEV_DBG(ff, "LLINK feature is %ssynced",
+                                       cp[OPER_SYNCD] == '1' ? "" : "not ");
+                       FCM_LOG_DEV_DBG(ff, "LLINK operating mode is %s",
+                                       ff->ff_name, cp[OPER_OPER_MODE] == '1'
+                                       ? "on" : "off ");
                        ff->ff_llink_info.enable = enable;
                        rc = dcb_rsp_parser(ff, resp, st);
                        if (!rc)
@@ -1526,15 +1518,11 @@ fcm_dcbd_cmd_resp(char *resp, cmd_status st)
                                fcm_dcbd_state_set(ff, FCD_ERROR);
                        break;
                case FCD_GET_APP_OPER:
-                       if (fcm_debug) {
-                               SA_LOG("%s FCoE feature is %ssynced",
-                                      ff->ff_name,
-                                      cp[OPER_SYNCD] == '1' ? "" : "not ");
-                               SA_LOG("%s FCoE operating mode is %s",
-                                      ff->ff_name,
-                                      cp[OPER_OPER_MODE] == '1' ?
-                                      "on" : "off ");
-                       }
+                       FCM_LOG_DEV_DBG(ff, "FCoE feature is %ssynced",
+                                       cp[OPER_SYNCD] == '1' ? "" : "not ");
+                       FCM_LOG_DEV_DBG(ff, "FCoE operating mode is %s",
+                                       cp[OPER_OPER_MODE] == '1'
+                                       ? "on" : "off ");
                        rc = dcb_rsp_parser(ff, resp, st);
                        if (rc) {
                                fcm_dcbd_state_set(ff, FCD_ERROR);
@@ -1544,7 +1532,8 @@ fcm_dcbd_cmd_resp(char *resp, cmd_status st)
                        parm_len = fcm_get_hex(cp + OPER_LEN, 2, &ep);
                        cp += OPER_LEN + 2;
                        if (ep != NULL || parm_len > strlen(cp)) {
-                               SA_LOG("invalid peer parm_len %d", parm_len);
+                               FCM_LOG_DEV_DBG(ff, "Invalid peer parm_len %d",
+                                               parm_len);
                                fcm_dcbd_state_set(ff, FCD_ERROR);
                                break;
                        }
@@ -1552,52 +1541,41 @@ fcm_dcbd_cmd_resp(char *resp, cmd_status st)
                        if (parm_len > 0) {
                                parm = fcm_get_hex(cp, parm_len, &ep);
                                if (ep != NULL) {
-                                       SA_LOG("invalid parameter %s", cp);
+                                       FCM_LOG_DEV_DBG(ff, "Invalid parameter "
+                                                       "%s", cp);
                                        fcm_dcbd_state_set(ff, FCD_ERROR);
                                        break;
                                }
                        }
                        ff->ff_qos_mask = parm;
                        if (validating_dcbd_info(ff)) {
-                               if (fcm_debug)
-                                       SA_LOG("DCB settings of %s "
-                                              "qualified for creating "
-                                              "FCoE interface\n",
-                                              ff->ff_name);
+                               FCM_LOG_DEV_DBG(ff, "DCB settings of %s "
+                                               "qualified for creating "
+                                               "FCoE interface\n");
                                rc = is_pfcup_changed(ff);
                                if (rc == 1) {
-                                       if (fcm_debug)
-                                               SA_LOG("%s: Initial "
-                                                      "QOS = 0x%x\n",
-                                                      ff->ff_name,
-                                                      ff->ff_qos_mask);
+                                       FCM_LOG_DEV_DBG(ff, "Initial "
+                                                       "QOS = 0x%x\n",
+                                                       ff->ff_qos_mask);
                                        fcm_dcbd_setup(ff, ADM_CREATE);
                                } else if (rc == 2) {
-                                       if (fcm_debug)
-                                               SA_LOG("%s: QOS changed"
-                                                      " to 0x%x\n",
-                                                      ff->ff_name,
-                                                      ff->ff_qos_mask);
+                                       FCM_LOG_DEV_DBG(ff, "QOS changed"
+                                                       " to 0x%x\n",
+                                                       ff->ff_qos_mask);
                                        fcm_dcbd_setup(ff, ADM_RESET);
                                } else if (!ff->ff_enabled) {
-                                       if (fcm_debug)
-                                               SA_LOG("%s: Re-create "
-                                                      "QOS = 0x%x\n",
-                                                      ff->ff_name,
-                                                      ff->ff_qos_mask);
+                                       FCM_LOG_DEV_DBG(ff, "Re-create "
+                                                       "QOS = 0x%x\n",
+                                                       ff->ff_qos_mask);
                                        fcm_dcbd_setup(ff, ADM_CREATE);
                                } else {
-                                       if (fcm_debug)
-                                               SA_LOG("%s: No action will "
-                                                      "be taken\n",
-                                                      ff->ff_name);
+                                       FCM_LOG_DEV_DBG(ff, "No action will "
+                                                       "be taken\n");
                                }
                        } else {
-                               if (fcm_debug)
-                                       SA_LOG("DCB settings of %s not "
-                                              "qualified for FCoE "
-                                              "operations.",
-                                              ff->ff_name);
+                               FCM_LOG_DEV_DBG(ff, "DCB settings of %s not "
+                                               "qualified for FCoE "
+                                               "operations.");
                                fcm_dcbd_setup(ff, ADM_DESTROY);
                                clear_dcbd_info(ff);
                        }
@@ -1614,16 +1592,17 @@ fcm_dcbd_cmd_resp(char *resp, cmd_status st)
        case CMD_GET_PEER:
                val = fcm_get_hex(cp + OPER_ERROR, 2, &ep);
                if (ep != NULL) {
-                       SA_LOG("invalid get oper response parse error byte %d."
-                              "  resp %s", ep - cp, cp);
+                       FCM_LOG_DEV_DBG(ff, "Invalid get oper response "
+                                       "parse error byte %d. resp %s",
+                                       ep - cp, cp);
                        fcm_dcbd_state_set(ff, FCD_ERROR);
                        break;
                }
                if (val != 0) {
-                       if (fcm_debug) {
-                               SA_LOG("val=0x%x resp:%s\n", val, orig_resp);
+                       FCM_LOG_DEV_DBG(ff, "val=0x%x resp:%s\n",
+                                       val, orig_resp);
+                       if (fcm_debug)
                                print_errors("", val);
-                       }
                        fcm_dcbd_setup(ff, ADM_DESTROY);
                        fcm_dcbd_state_set(ff, FCD_DONE);
                        return;
@@ -1636,12 +1615,9 @@ fcm_dcbd_cmd_resp(char *resp, cmd_status st)
                case FCD_GET_LLINK_PEER:
                        rc = dcb_rsp_parser(ff, resp, st);
                        if (!rc) {
-                               if (fcm_debug) {
-                                       SA_LOG("%s Peer LLINK link status"
-                                              " is %s", ff->ff_name,
-                                              ff->ff_llink_status ?
-                                              "up" : "down");
-                               }
+                               FCM_LOG_DEV_DBG(ff, "Peer LLINK link status "
+                                               "is %s", ff->ff_llink_status
+                                               ? "up" : "down");
                                fcm_dcbd_state_set(ff, FCD_GET_APP_OPER);
                        } else
                                fcm_dcbd_state_set(ff, FCD_ERROR);
@@ -1653,8 +1629,8 @@ fcm_dcbd_cmd_resp(char *resp, cmd_status st)
                break;
 
        default:
-               SA_LOG("Unknown cmd 0x%x in response: resp %s",
-                      cmd, orig_resp);
+               FCM_LOG_DEV_DBG(ff, "Unknown cmd 0x%x in response: resp %s",
+                               cmd, orig_resp);
                break;
        }
 }
@@ -1664,9 +1640,8 @@ fcm_event_timeout(void *arg)
 {
        struct fcm_fcoe *ff = (struct fcm_fcoe *)arg;
 
-       if (fcm_debug)
-               SA_LOG("%s: %d milliseconds timeout!\n",
-                      ff->ff_name, FCM_EVENT_TIMEOUT_USEC/1000);
+       FCM_LOG_DEV_DBG(ff, "%d milliseconds timeout!\n",
+                       FCM_EVENT_TIMEOUT_USEC/1000);
 
        if (!is_query_in_progress()) {
                fcm_clif->cl_ping_pending++;
@@ -1700,54 +1675,43 @@ fcm_dcbd_event(char *msg, size_t len)
                return;
        feature = fcm_get_hex(cp + EV_FEATURE_OFF, 2, &ep);
        if (ep != NULL) {
-               SA_LOG("%s: Invalid feature code in event msg %s",
-                      ff->ff_name, msg);
+               FCM_LOG_DEV_DBG(ff, "Invalid feature code "
+                               "in event msg %s", msg);
                return;
        }
 
        switch (feature) {
        case FEATURE_DCB:
-               if (fcm_debug)
-                       SA_LOG("<%s: Got DCB Event>\n", ff->ff_name);
+               FCM_LOG_DEV_DBG(ff, "<Got DCB Event>\n");
                goto ignore_event;
        case FEATURE_PG:     /* 'E5204eth2020001' */
-               if (fcm_debug)
-                       SA_LOG("<%s: Got PG Event>\n", ff->ff_name);
+               FCM_LOG_DEV_DBG(ff, "<Got PG Event>\n");
                goto ignore_event;
        case FEATURE_BCN:    /* 'E5204eth2040001' */
-               if (fcm_debug)
-                       SA_LOG("<%s: Got BCN Event>\n", ff->ff_name);
+               FCM_LOG_DEV_DBG(ff, "Got BCN Event>\n");
                goto ignore_event;
        case FEATURE_PG_DESC:
-               if (fcm_debug)
-                       SA_LOG("<%s: Got PG_DESC Event>\n", ff->ff_name);
+               FCM_LOG_DEV_DBG(ff, "<Got PG_DESC Event>\n");
                goto ignore_event;
        case FEATURE_PFC:    /* 'E5204eth2030011' */
-               if (fcm_debug)
-                       SA_LOG("<%s: Got PFC Event>\n", ff->ff_name);
+               FCM_LOG_DEV_DBG(ff, "<Got PFC Event>\n");
                goto handle_event;
        case FEATURE_APP:    /* 'E5204eth2050011' */
-               if (fcm_debug)
-                       SA_LOG("<%s: Got APP Event>\n", ff->ff_name);
+               FCM_LOG_DEV_DBG(ff, "<Got APP Event>\n");
                goto handle_event;
        case FEATURE_LLINK:
-               if (fcm_debug)
-                       SA_LOG("<%s: Got LLINK Event>\n", ff->ff_name);
+               FCM_LOG_DEV_DBG(ff, "<Got LLINK Event>\n");
 handle_event:
                subtype = fcm_get_hex(cp + EV_SUBTYPE_OFF, 2, &ep);
                if (ep != NULL || subtype != APP_FCOE_STYPE) {
-                       SA_LOG("%s: Unknown application subtype in msg %s",
-                              ff->ff_name, msg);
+                       FCM_LOG_DEV_DBG(ff, "Unknown application subtype "
+                                       "in msg %s", msg);
                        break;
                }
-               if (fcm_debug) {
-                       if (cp[EV_OP_MODE_CHG_OFF] == '1')
-                               SA_LOG("%s: operational mode changed",
-                                      ff->ff_name);
-                       if (cp[EV_OP_CFG_CHG_OFF] == '1')
-                               SA_LOG("%s: operational config changed",
-                                      ff->ff_name);
-               }
+               if (cp[EV_OP_MODE_CHG_OFF] == '1')
+                       FCM_LOG_DEV_DBG(ff, "Operational mode changed");
+               if (cp[EV_OP_CFG_CHG_OFF] == '1')
+                       FCM_LOG_DEV_DBG(ff, "Operational config changed");
                if (ff->ff_dcbd_state == FCD_DONE ||
                    ff->ff_dcbd_state == FCD_ERROR) {
                        if (cp[EV_OP_MODE_CHG_OFF] == '1' ||
@@ -1763,8 +1727,8 @@ handle_event:
                }
                break;
        default:
-               SA_LOG("%s: Unknown feature 0x%x in msg %s",
-                      ff->ff_name, feature, msg);
+               FCM_LOG_DEV_DBG(ff, "Unknown feature 0x%x in msg %s",
+                               feature, msg);
 ignore_event:
                break;
        }
@@ -1796,7 +1760,7 @@ fcm_dcbd_setup(struct fcm_fcoe *ff, enum fcoeadm_action 
action)
        if (action && !ff->ff_qos_mask)
                return;
        if (fcm_dcbd_cmd == NULL) {
-               SA_LOG("Should %s %s per op state", op, ff->ff_name);
+               FCM_LOG_DEV_DBG(ff, "Should %s per op state", op);
                return;
        }
        /*
@@ -1831,15 +1795,15 @@ fcm_dcbd_setup(struct fcm_fcoe *ff, enum fcoeadm_action 
action)
                                qos_arg = "--qos";
                        }
                }
-               if (fcm_debug) {
-                       if (!action)
-                               SA_LOG("%s %s %s\n",
-                                      fcm_dcbd_cmd, ff->ff_name, op);
-                       else
-                               SA_LOG("%s %s %s %s %s\n",
-                                      fcm_dcbd_cmd, ff->ff_name, op,
-                                      qos_arg, qos);
-               }
+
+               if (!action)
+                       FCM_LOG_DEV_DBG(ff, "%s %s %s\n",
+                                       fcm_dcbd_cmd, ff->ff_name, op);
+               else
+                       FCM_LOG_DEV_DBG(ff, "%s %s %s %s %s\n",
+                                       fcm_dcbd_cmd, ff->ff_name, op,
+                                       qos_arg, qos);
+
                execlp(fcm_dcbd_cmd, fcm_dcbd_cmd, ff->ff_name,
                       op, qos_arg, qos, (char *)NULL);
                SA_LOG_ERR(errno, "exec '%s' failed", fcm_dcbd_cmd);
@@ -1872,8 +1836,7 @@ fcm_dcbd_port_advance(struct fcm_fcoe *ff)
        switch (ff->ff_dcbd_state) {
        case FCD_INIT:
                if (!fcm_fcoe_port_ready(ff)) {
-                       if (fcm_debug)
-                               SA_LOG("FCoE port %s not ready\n", ff->ff_name);
+                       FCM_LOG_DEV_DBG(ff, "FCoE port %s not ready\n");
                        fcm_dcbd_state_set(ff, FCD_ERROR);
                        break;
                }
diff --git a/fcoemon.h b/fcoemon.h
index 105f4f6..43d18d7 100644
--- a/fcoemon.h
+++ b/fcoemon.h
@@ -20,6 +20,25 @@
 #ifndef _FCOEMON_H_
 #define _FCOEMON_H_
 
+int fcm_debug;
+
+#define FCM_LOG_DBG(fmt, args...)                                      \
+       do {                                                            \
+               if (fcm_debug)                                          \
+                       sa_log(fmt, ##args);                            \
+       } while (0)
+
+#define FCM_LOG_DEV_DBG(fcm, fmt, args...)                             \
+       do {                                                            \
+               if (fcm_debug)                                          \
+                       sa_log("%s, " fmt, fcm->ff_name, ##args);       \
+       } while (0)
+
+#define FCM_LOG_DEV(fcm, fmt, args...)                         \
+       do {                                                    \
+               sa_log("%s, " fmt, fcm->ff_name, ##args);       \
+       } while (0)
+
 /*
  * States for HBAs relative to the DCB daemon.
  * States advance sequentially if conditions are right.

_______________________________________________
devel mailing list
[email protected]
http://www.open-fcoe.org/mailman/listinfo/devel

Reply via email to