msg->hdr.data[0] = ACM_MAX_COUNTER;
msg->hdr.data[1] = 0;
msg->hdr.data[2] = 0;
- len = htons(ACM_MSG_HDR_LENGTH + (ACM_MAX_COUNTER * sizeof(uint64_t)));
+ len = ACM_MSG_HDR_LENGTH + (ACM_MAX_COUNTER * sizeof(uint64_t));
msg->hdr.length = htons(len);
for (i = 0; i < ACM_MAX_COUNTER; i++)
msg->perf_data[i] = htonll((uint64_t) atomic_get(&counter[i]));
ret = send(client->sock, (char *) msg, len, 0);
- if (ret != msg->hdr.length)
+ if (ret != len)
acm_log(0, "ERROR - failed to send response\n");
else
ret = 0;
printf(" [-d dest_addr] - destination addresses for path queries\n");
printf(" [-v] - verify ACM response against SA query response\n");
printf(" [-c] - read ACM cached data only\n");
- printf(" [-P] - query performance data from destination service");
- printf(" [-S svc_addr] - address of ACM service, default: local service");
+ printf(" [-P] - query performance data from destination service\n");
+ printf(" [-S svc_addr] - address of ACM service, default: local service\n");
printf("usage 2: %s\n", program);
printf("Generate default ib_acm service configuration and option files\n");
printf(" -A [addr_file] - generate local address configuration file\n");
msg.hdr.length = htons(ACM_MSG_HDR_LENGTH);
ret = send(sock, (char *) &msg, ACM_MSG_HDR_LENGTH, 0);
- if (ret != msg.hdr.length)
+ if (ret != ACM_MSG_HDR_LENGTH)
goto out;
ret = recv(sock, (char *) &msg, sizeof msg, 0);
- if (ret < ACM_MSG_HDR_LENGTH || ret != ntohs(msg.hdr.length))
+ if (ret < ACM_MSG_HDR_LENGTH || ret != ntohs(msg.hdr.length)) {
+ ret = ACM_STATUS_EINVAL;
goto out;
+ }
if (msg.hdr.status) {
ret = acm_error(msg.hdr.status);