- The confused error in mds log since disabled FCTRL agent
receive a flow control message type from enabled FCTRL agent.
MDS should ignore flow control message on disabled FCTRL agent.
- Also print Adest info detail in logging for easy troubleshoot.
---
 src/mds/mds_dt_common.c        | 65 ++++++++++++++++++----------------
 src/mds/mds_tipc_fctrl_intf.cc |  4 +--
 2 files changed, 37 insertions(+), 32 deletions(-)

diff --git a/src/mds/mds_dt_common.c b/src/mds/mds_dt_common.c
index ef8425cb9..6f1bd8a2e 100644
--- a/src/mds/mds_dt_common.c
+++ b/src/mds/mds_dt_common.c
@@ -314,9 +314,11 @@ uint32_t mdtm_process_recv_message_common(uint8_t flag, 
uint8_t *buffer,
                 * header length */
                if (len < len_mds_hdr) {
                        m_MDS_LOG_ERR(
-                           "MDTM: Message recd (Non Fragmented) len is less 
than the MDS HDR len  Adest = <%" PRId64
-                           "> len =%d len_mds_hdr=%d",
-                           transport_adest, len, len_mds_hdr);
+                           "MDTM: Message recd (Non Fragmented) len is less 
than the MDS HDR len "
+                           "Adest <0x%08x, %u> len =%d len_mds_hdr=%d",
+                           m_MDS_GET_NODE_ID_FROM_ADEST(transport_adest),
+                           m_MDS_GET_PROCESS_ID_FROM_ADEST(transport_adest),
+                           len, len_mds_hdr);
 
                        return NCSCC_RC_FAILURE;
                }
@@ -350,10 +352,10 @@ uint32_t mdtm_process_recv_message_common(uint8_t flag, 
uint8_t *buffer,
                                            &dest_svc_hdl)) {
                        *buff_dump = 0; /* For future hack */
                        m_MDS_LOG_ERR(
-                           "MDTM: svc_id = %s(%d) Doesnt exists for the 
message recd, Adest = <%" PRId64
-                           ">\n",
+                           "MDTM: svc_id = %s(%d) Doesnt exists for the 
message recd, Adest <0x%08x, %u>\n",
                            get_svc_names(dest_svc_id), dest_svc_id,
-                           transport_adest);
+                           m_MDS_GET_NODE_ID_FROM_ADEST(transport_adest),
+                           m_MDS_GET_PROCESS_ID_FROM_ADEST(transport_adest));
                        return NCSCC_RC_FAILURE;
                }
 
@@ -365,9 +367,9 @@ uint32_t mdtm_process_recv_message_common(uint8_t flag, 
uint8_t *buffer,
                if (enc_type > MDS_ENC_TYPE_DIRECT_BUFF) {
                        *buff_dump = 0; /* For future hack */
                        m_MDS_LOG_ERR(
-                           "MDTM: Encoding unsupported, Adest = <%" PRId64
-                           ">\n",
-                           transport_adest);
+                           "MDTM: Encoding unsupported, Adest Adest <0x%08x, 
%u>\n",
+                           m_MDS_GET_NODE_ID_FROM_ADEST(transport_adest),
+                           m_MDS_GET_PROCESS_ID_FROM_ADEST(transport_adest));
                        return NCSCC_RC_FAILURE;
                }
 
@@ -506,9 +508,10 @@ uint32_t mdtm_process_recv_message_common(uint8_t flag, 
uint8_t *buffer,
                }
 
                m_MDS_LOG_DBG(
-                   "MDTM: Recd Unfragmented message with SVC Seq num =%d, from 
src Adest = <%" PRId64
-                   ">",
-                   svc_seq_num, transport_adest);
+                   "MDTM: Recd Unfragmented message with SVC Seq num =%d, from 
src Adest <0x%08x, %u>",
+                   svc_seq_num,
+                   m_MDS_GET_NODE_ID_FROM_ADEST(transport_adest),
+                   m_MDS_GET_PROCESS_ID_FROM_ADEST(transport_adest));
 
                if (msg_snd_type == MDS_SENDTYPE_ACK) {
                        /* NOTE: Version in ACK message is ignored */
@@ -603,9 +606,9 @@ uint32_t mdtm_process_recv_message_common(uint8_t flag, 
uint8_t *buffer,
                if (len <= (len_mds_hdr + MDTM_FRAG_HDR_LEN)) {
                        m_MDS_LOG_ERR(
                            "MDTM: Message recd (Fragmented First Pkt) len is 
less than or equal to \
-                            the sum of (len_mds_hdr+MDTM_FRAG_HDR_LEN) len, 
Adest = <%" PRId64
-                           ">",
-                           transport_adest);
+                           the sum of (len_mds_hdr+MDTM_FRAG_HDR_LEN) len, 
Adest <0x%08x, %u>",
+                           m_MDS_GET_NODE_ID_FROM_ADEST(transport_adest),
+                           m_MDS_GET_PROCESS_ID_FROM_ADEST(transport_adest));
                        return NCSCC_RC_FAILURE;
                }
                data = &buffer[MDS_HEADER_PWE_ID_POSITION + MDTM_FRAG_HDR_LEN];
@@ -796,9 +799,10 @@ uint32_t mdtm_process_recv_message_common(uint8_t flag, 
uint8_t *buffer,
                m_MDS_LOG_INFO("MDTM: Reassembly started\n");
 
                m_MDS_LOG_DBG(
-                   "MDTM: Recd fragmented message(first frag) with Frag 
Seqnum=%d SVC Seq num =%d, from src Adest = <%" PRId64
-                   ">",
-                   seq_num, svc_seq_num, transport_adest);
+                   "MDTM: Recd fragmented message(first frag) with Frag 
Seqnum=%d SVC Seq num =%d, from src Adest <0x%08x, %u>",
+                   seq_num, svc_seq_num,
+                   m_MDS_GET_NODE_ID_FROM_ADEST(transport_adest),
+                   m_MDS_GET_PROCESS_ID_FROM_ADEST(transport_adest));
 
                if ((len - (len_mds_hdr + MDTM_FRAG_HDR_LEN)) > 0) {
                        if (NCSCC_RC_SUCCESS !=
@@ -1134,9 +1138,10 @@ uint32_t mdtm_process_recv_data(uint8_t *buffer, 
uint16_t len,
                seq_num = ncs_decode_32bit(&data);
 
                m_MDS_LOG_DBG(
-                   "MDTM: Recd message with Fragment Seqnum=%d, frag_num=%d, 
from src_id=<0x%08x:%u>",
-                   seq_num, frag_num, (uint32_t)(transport_adest >> 32),
-                   (uint32_t)(transport_adest));
+                   "MDTM: Recd message with Fragment Seqnum=%d, frag_num=%d, 
from Adest <0x%08x, %u>",
+                   seq_num, frag_num,
+                   m_MDS_GET_NODE_ID_FROM_ADEST(transport_adest),
+                   m_MDS_GET_PROCESS_ID_FROM_ADEST(transport_adest));
 
                /* Checking in reassembly queue */
                reassem_queue =
@@ -1187,9 +1192,9 @@ uint32_t mdtm_process_recv_data(uint8_t *buffer, uint16_t 
len,
                                          easily without having to relink etc.
                                        */
                                m_MDS_LOG_ERR(
-                                   "MDTM: Message is dropped as msg is out of 
seq Adest = <%" PRIu64
-                                   ">\n",
-                                   transport_adest);
+                                   "MDTM: Message is dropped as msg is out of 
seq Adest <0x%08x, %u>\n",
+                                   
m_MDS_GET_NODE_ID_FROM_ADEST(transport_adest),
+                                   
m_MDS_GET_PROCESS_ID_FROM_ADEST(transport_adest));
                                return NCSCC_RC_FAILURE;
                        }
 
@@ -1360,9 +1365,9 @@ uint32_t mdtm_process_recv_data(uint8_t *buffer, uint16_t 
len,
                                          easily without having to relink etc.
                                        */
                                m_MDS_LOG_ERR(
-                                   "MDTM: Frag recd is not next frag so 
dropping Adest = <%" PRIu64
-                                   ">\n",
-                                   transport_adest);
+                                   "MDTM: Frag recd is not next frag so 
dropping Adest <0x%08x, %u>\n",
+                                   
m_MDS_GET_NODE_ID_FROM_ADEST(transport_adest),
+                                   
m_MDS_GET_PROCESS_ID_FROM_ADEST(transport_adest));
                                reassem_queue
                                    ->to_be_dropped = true; /* This is for
                                                               avoiding the
@@ -1409,9 +1414,9 @@ uint32_t mdtm_process_recv_data(uint8_t *buffer, uint16_t 
len,
                        *buff_dump = 0;
                        /* Some stale message, Log and Drop */
                        m_MDS_LOG_ERR(
-                           "MDTM: Some stale message recd, hence dropping 
Adest = <%" PRIu64
-                           ">\n",
-                           transport_adest);
+                           "MDTM: Some stale message recd, hence dropping 
Adest <0x%08x, %u>\n",
+                           m_MDS_GET_NODE_ID_FROM_ADEST(transport_adest),
+                           m_MDS_GET_PROCESS_ID_FROM_ADEST(transport_adest));
                        return NCSCC_RC_FAILURE;
                }
        } /* ELSE Loop */
diff --git a/src/mds/mds_tipc_fctrl_intf.cc b/src/mds/mds_tipc_fctrl_intf.cc
index 4270cf26a..158ad6941 100644
--- a/src/mds/mds_tipc_fctrl_intf.cc
+++ b/src/mds/mds_tipc_fctrl_intf.cc
@@ -500,14 +500,13 @@ uint32_t mds_tipc_fctrl_drop_data(uint8_t *buffer, 
uint16_t len,
 
 uint32_t mds_tipc_fctrl_rcv_data(uint8_t *buffer, uint16_t len,
     struct tipc_portid id) {
-  if (is_fctrl_enabled == false) return NCSCC_RC_SUCCESS;
-
   uint32_t rc = NCSCC_RC_SUCCESS;
   HeaderMessage header;
   header.Decode(buffer);
   Event* pevt = nullptr;
   // if mds support flow control
   if (header.IsControlMessage()) {
+    if (is_fctrl_enabled == false) return NCSCC_RC_FAILURE;
     if (header.msg_type_ == ChunkAck::kChunkAckMsgType) {
       m_MDS_LOG_DBG("FCTRL: Receive ChunkAck");
       // receive single ack message
@@ -555,6 +554,7 @@ uint32_t mds_tipc_fctrl_rcv_data(uint8_t *buffer, uint16_t 
len,
     // skip this data msg
     rc = NCSCC_RC_FAILURE;
   }
+  if (is_fctrl_enabled == false) return NCSCC_RC_SUCCESS;
   if (header.IsLegacyMessage()) {
     m_MDS_LOG_DBG("FCTRL: [me] <-- [node:%x, ref:%u], "
         "Receive legacy data message, "
-- 
2.17.1



_______________________________________________
Opensaf-devel mailing list
Opensaf-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/opensaf-devel

Reply via email to