[devel] [PATCH 1/1] mds: ignore flow control message on disabled FCTRL agent [#3148]

2020-02-04 Thread thuan.tran
- 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.

- Refactor mds_tipc_fctrl_drop_data() for code consistency.

- Also print Adest info detail in logging for easy troubleshoot.
---
 src/mds/mds_dt_common.c| 65 ++
 src/mds/mds_tipc_fctrl_intf.cc | 63 +---
 2 files changed, 69 insertions(+), 59 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,
_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 = [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 

[devel] [PATCH 1/1] mds: ignore flow control message on disabled FCTRL agent [#3148]

2020-02-03 Thread thuan.tran
- 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,
_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 = [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
-   ">",
-