diff options
author | Andrew Stitcher <astitcher@apache.org> | 2010-12-23 17:10:46 +0000 |
---|---|---|
committer | Andrew Stitcher <astitcher@apache.org> | 2010-12-23 17:10:46 +0000 |
commit | 6f5316f95aa9b04312f175cc2abc8bf70655a3bf (patch) | |
tree | 91d76de22417a3b24fa21d7021140f3dac0754d2 | |
parent | 8ffffbaf34737bcf30abcac585ec50145f815917 (diff) | |
download | qpid-python-6f5316f95aa9b04312f175cc2abc8bf70655a3bf.tar.gz |
Add in some useful rdma warnings when we reject a connection
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1052321 13f79535-47bb-0310-9956-ffa450edef68
-rw-r--r-- | qpid/cpp/src/qpid/sys/rdma/RdmaIO.cpp | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/qpid/cpp/src/qpid/sys/rdma/RdmaIO.cpp b/qpid/cpp/src/qpid/sys/rdma/RdmaIO.cpp index b356a48bf1..26f780726f 100644 --- a/qpid/cpp/src/qpid/sys/rdma/RdmaIO.cpp +++ b/qpid/cpp/src/qpid/sys/rdma/RdmaIO.cpp @@ -491,6 +491,7 @@ namespace Rdma { case RDMA_CM_EVENT_CONNECT_REQUEST: { // Make sure peer has sent params we can use if (!conn_param.private_data || conn_param.private_data_len < sizeof(NConnectionParams)) { + QPID_LOG(warning, "Rdma: rejecting connection attempt: unusable connection parameters"); id->reject(); break; } @@ -499,7 +500,14 @@ namespace Rdma { ConnectionParams cp = *rcp; // Reject if requested msg size is bigger than we allow - if (cp.maxRecvBufferSize > checkConnectionParams.maxRecvBufferSize) { + if ( + cp.maxRecvBufferSize > checkConnectionParams.maxRecvBufferSize || + cp.initialXmitCredit > checkConnectionParams.initialXmitCredit + ) { + QPID_LOG(warning, "Rdma: rejecting connection attempt: connection parameters out of range: (" + << cp.maxRecvBufferSize << ">" << checkConnectionParams.maxRecvBufferSize << " || " + << cp.initialXmitCredit << ">" << checkConnectionParams.initialXmitCredit + << ")"); id->reject(&checkConnectionParams); break; } @@ -514,6 +522,7 @@ namespace Rdma { id->accept(conn_param, rcp); } else { // Reject connection + QPID_LOG(warning, "Rdma: rejecting connection attempt: application policy"); id->reject(); } break; |