Lines Matching +full:rpc +full:- +full:if
2 * Copyright (c) 2004-2009 Voltaire Inc. All rights reserved.
14 * - Redistributions of source code must retain the above
18 * - Redistributions in binary form must reproduce the above
34 #if HAVE_CONFIG_H
75 ib_rpc_t rpc = { 0 }; in server_respond() local
81 if (!(mad_addr = umad_get_mad_addr(umad))) in server_respond()
82 return -1; in server_respond()
86 rport.lid = ntohs(mad_addr->lid); in server_respond()
87 rport.qp = ntohl(mad_addr->qpn); in server_respond()
88 rport.qkey = ntohl(mad_addr->qkey); in server_respond()
89 rport.sl = mad_addr->sl; in server_respond()
90 if (!rport.qkey && rport.qp == 1) in server_respond()
92 rport.grh_present = mad_addr->grh_present; in server_respond()
93 if (rport.grh_present) in server_respond()
94 memcpy(rport.gid, mad_addr->gid, 16); in server_respond()
96 rpc.mgtclass = mad_get_field(mad, 0, IB_MAD_MGMTCLASS_F); in server_respond()
97 rpc.method = IB_MAD_METHOD_GET | IB_MAD_RESPONSE; in server_respond()
98 rpc.attr.id = mad_get_field(mad, 0, IB_MAD_ATTRID_F); in server_respond()
99 rpc.attr.mod = mad_get_field(mad, 0, IB_MAD_ATTRMOD_F); in server_respond()
100 rpc.oui = mad_get_field(mad, 0, IB_VEND2_OUI_F); in server_respond()
101 rpc.trid = mad_get_field64(mad, 0, IB_MAD_TRID_F); in server_respond()
103 if (size > IB_MAD_SIZE) in server_respond()
107 size, portid2str(&rport), rpc.attr.id, rpc.attr.mod, rport.qkey); in server_respond()
109 if (mad_build_pkt(umad, &rpc, &rport, &rmpp, 0) < 0) in server_respond()
110 return -1; in server_respond()
112 if (ibdebug > 1) in server_respond()
115 if (umad_send(mad_rpc_portid(srcport), in server_respond()
116 mad_rpc_class_agent(srcport, rpc.mgtclass), umad, size, in server_respond()
117 rpc.timeout, 0) < 0) { in server_respond()
119 return -1; in server_respond()
134 if (gethostname(s, sz) < 0) in mk_reply()
136 s[sz - 1] = 0; in mk_reply()
137 if ((n = strlen(s)) >= sz - 1) { in mk_reply()
143 sz -= n + 1; in mk_reply()
145 if (getdomainname(s, sz) < 0) in mk_reply()
147 if ((n = strlen(s)) == 0) in mk_reply()
148 s[-1] = 0; /* no domain */ in mk_reply()
157 if (n >= sz) { in mk_reply()
162 sz -= n; in mk_reply()
184 while ((umad = mad_receive_via(buf, -1, srcport))) { in ibsystat_serv()
185 if (umad_status(buf)) { in ibsystat_serv()
200 sizeof(buf) - umad_size() - in ibsystat_serv()
203 if (server_respond(umad, IB_VENDOR_RANGE2_DATA_OFFS + size) < 0) in ibsystat_serv()
213 if (!strcmp(str, "ping")) in match_attr()
215 if (!strcmp(str, "host")) in match_attr()
217 if (!strcmp(str, "cpu")) in match_attr()
219 return -1; in match_attr()
224 ib_rpc_t rpc = { 0 }; in ibsystat() local
230 rpc.mgtclass = IB_VENDOR_OPENIB_SYSSTAT_CLASS; in ibsystat()
231 rpc.method = IB_MAD_METHOD_GET; in ibsystat()
232 rpc.attr.id = attr; in ibsystat()
233 rpc.attr.mod = 0; in ibsystat()
234 rpc.oui = oui; in ibsystat()
235 rpc.timeout = 0; in ibsystat()
236 rpc.datasz = IB_VENDOR_RANGE2_DATA_SIZE; in ibsystat()
237 rpc.dataoffs = IB_VENDOR_RANGE2_DATA_OFFS; in ibsystat()
239 portid->qp = 1; in ibsystat()
240 if (!portid->qkey) in ibsystat()
241 portid->qkey = IB_DEFAULT_QP1_QKEY; in ibsystat()
243 if ((len = mad_build_pkt(buf, &rpc, portid, NULL, NULL)) < 0) in ibsystat()
247 agent = mad_rpc_class_agent(srcport, rpc.mgtclass); in ibsystat()
250 if (umad_send(fd, agent, buf, len, timeout, 0) < 0) in ibsystat()
253 len = sizeof(buf) - umad_size(); in ibsystat()
254 if (umad_recv(fd, buf, &len, timeout) < 0) in ibsystat()
257 if (umad_status(buf)) in ibsystat()
261 if (attr != IB_PING_ATTR) in ibsystat()
273 if (sysctlbyname("hw.ncpu", &ret, &size, NULL, 0) != 0 || ret < 1) in build_cpuinfo()
290 if (!inet_pton(AF_INET6, optarg, &dgid)) { in process_opt()
298 return -1; in process_opt()
323 argc -= optind; in main()
326 if (!argc && !server) in main()
329 if (argc > 1 && (attr = match_attr(argv[1])) < 0) in main()
333 if (!srcport) in main()
336 if (server) { in main()
337 if (mad_register_server_via(sysstat_class, 1, 0, oui, srcport) < in main()
343 if ((err = ibsystat_serv())) in main()
349 if (mad_register_client_via(sysstat_class, 1, srcport) < 0) in main()
352 if (with_grh && ibd_dest_type != IB_DEST_LID) in main()
354 if (resolve_portid_str(ibd_ca, ibd_ca_port, &portid, argv[0], in main()
357 if (with_grh) { in main()
362 if ((err = ibsystat(&portid, attr))) in main()