Lines Matching refs:req
704 struct ctl_lun_req req; in kernel_lun_add() local
707 bzero(&req, sizeof(req)); in kernel_lun_add()
709 strlcpy(req.backend, lun->l_backend, sizeof(req.backend)); in kernel_lun_add()
710 req.reqtype = CTL_LUNREQ_CREATE; in kernel_lun_add()
712 req.reqdata.create.blocksize_bytes = lun->l_blocksize; in kernel_lun_add()
715 req.reqdata.create.lun_size_bytes = lun->l_size; in kernel_lun_add()
718 req.reqdata.create.req_lun_id = lun->l_ctl_lun; in kernel_lun_add()
719 req.reqdata.create.flags |= CTL_LUN_FLAG_ID_REQ; in kernel_lun_add()
722 req.reqdata.create.flags |= CTL_LUN_FLAG_DEV_TYPE; in kernel_lun_add()
723 req.reqdata.create.device_type = lun->l_device_type; in kernel_lun_add()
726 strncpy(req.reqdata.create.serial_num, lun->l_serial, in kernel_lun_add()
727 sizeof(req.reqdata.create.serial_num)); in kernel_lun_add()
728 req.reqdata.create.flags |= CTL_LUN_FLAG_SERIAL_NUM; in kernel_lun_add()
732 strncpy(req.reqdata.create.device_id, lun->l_device_id, in kernel_lun_add()
733 sizeof(req.reqdata.create.device_id)); in kernel_lun_add()
734 req.reqdata.create.flags |= CTL_LUN_FLAG_DEVID; in kernel_lun_add()
762 req.args_nvl = nvlist_create(0); in kernel_lun_add()
763 if (req.args_nvl == NULL) { in kernel_lun_add()
769 nvlist_add_string(req.args_nvl, o->o_name, o->o_value); in kernel_lun_add()
771 req.args = nvlist_pack(req.args_nvl, &req.args_len); in kernel_lun_add()
772 if (req.args == NULL) { in kernel_lun_add()
773 nvlist_destroy(req.args_nvl); in kernel_lun_add()
779 error = ioctl(ctl_fd, CTL_LUN_REQ, &req); in kernel_lun_add()
780 free(req.args); in kernel_lun_add()
781 nvlist_destroy(req.args_nvl); in kernel_lun_add()
788 switch (req.status) { in kernel_lun_add()
790 log_warnx("LUN creation error: %s", req.error_str); in kernel_lun_add()
793 log_warnx("LUN creation warning: %s", req.error_str); in kernel_lun_add()
799 req.status); in kernel_lun_add()
803 lun_set_ctl_lun(lun, req.reqdata.create.req_lun_id); in kernel_lun_add()
811 struct ctl_lun_req req; in kernel_lun_modify() local
814 bzero(&req, sizeof(req)); in kernel_lun_modify()
816 strlcpy(req.backend, lun->l_backend, sizeof(req.backend)); in kernel_lun_modify()
817 req.reqtype = CTL_LUNREQ_MODIFY; in kernel_lun_modify()
819 req.reqdata.modify.lun_id = lun->l_ctl_lun; in kernel_lun_modify()
820 req.reqdata.modify.lun_size_bytes = lun->l_size; in kernel_lun_modify()
847 req.args_nvl = nvlist_create(0); in kernel_lun_modify()
848 if (req.args_nvl == NULL) { in kernel_lun_modify()
854 nvlist_add_string(req.args_nvl, o->o_name, o->o_value); in kernel_lun_modify()
856 req.args = nvlist_pack(req.args_nvl, &req.args_len); in kernel_lun_modify()
857 if (req.args == NULL) { in kernel_lun_modify()
858 nvlist_destroy(req.args_nvl); in kernel_lun_modify()
864 error = ioctl(ctl_fd, CTL_LUN_REQ, &req); in kernel_lun_modify()
865 free(req.args); in kernel_lun_modify()
866 nvlist_destroy(req.args_nvl); in kernel_lun_modify()
873 switch (req.status) { in kernel_lun_modify()
875 log_warnx("LUN modification error: %s", req.error_str); in kernel_lun_modify()
878 log_warnx("LUN modification warning: %s", req.error_str); in kernel_lun_modify()
884 req.status); in kernel_lun_modify()
894 struct ctl_lun_req req; in kernel_lun_remove() local
896 bzero(&req, sizeof(req)); in kernel_lun_remove()
898 strlcpy(req.backend, lun->l_backend, sizeof(req.backend)); in kernel_lun_remove()
899 req.reqtype = CTL_LUNREQ_RM; in kernel_lun_remove()
901 req.reqdata.rm.lun_id = lun->l_ctl_lun; in kernel_lun_remove()
903 if (ioctl(ctl_fd, CTL_LUN_REQ, &req) == -1) { in kernel_lun_remove()
908 switch (req.status) { in kernel_lun_remove()
910 log_warnx("LUN removal error: %s", req.error_str); in kernel_lun_remove()
913 log_warnx("LUN removal warning: %s", req.error_str); in kernel_lun_remove()
918 log_warnx("unknown LUN removal status: %d", req.status); in kernel_lun_remove()
928 struct ctl_iscsi req; in kernel_handoff() local
930 bzero(&req, sizeof(req)); in kernel_handoff()
932 req.type = CTL_ISCSI_HANDOFF; in kernel_handoff()
933 strlcpy(req.data.handoff.initiator_name, in kernel_handoff()
934 conn->conn_initiator_name, sizeof(req.data.handoff.initiator_name)); in kernel_handoff()
935 strlcpy(req.data.handoff.initiator_addr, in kernel_handoff()
936 conn->conn_initiator_addr, sizeof(req.data.handoff.initiator_addr)); in kernel_handoff()
938 strlcpy(req.data.handoff.initiator_alias, in kernel_handoff()
939 conn->conn_initiator_alias, sizeof(req.data.handoff.initiator_alias)); in kernel_handoff()
941 memcpy(req.data.handoff.initiator_isid, conn->conn_initiator_isid, in kernel_handoff()
942 sizeof(req.data.handoff.initiator_isid)); in kernel_handoff()
943 strlcpy(req.data.handoff.target_name, in kernel_handoff()
944 conn->conn_target->t_name, sizeof(req.data.handoff.target_name)); in kernel_handoff()
946 strlcpy(req.data.handoff.offload, in kernel_handoff()
948 sizeof(req.data.handoff.offload)); in kernel_handoff()
952 req.data.handoff.connection_id = conn->conn.conn_socket; in kernel_handoff()
954 req.data.handoff.socket = conn->conn.conn_socket; in kernel_handoff()
956 req.data.handoff.socket = conn->conn.conn_socket; in kernel_handoff()
958 req.data.handoff.portal_group_tag = in kernel_handoff()
961 req.data.handoff.header_digest = CTL_ISCSI_DIGEST_CRC32C; in kernel_handoff()
963 req.data.handoff.data_digest = CTL_ISCSI_DIGEST_CRC32C; in kernel_handoff()
964 req.data.handoff.cmdsn = conn->conn.conn_cmdsn; in kernel_handoff()
965 req.data.handoff.statsn = conn->conn.conn_statsn; in kernel_handoff()
966 req.data.handoff.max_recv_data_segment_length = in kernel_handoff()
968 req.data.handoff.max_send_data_segment_length = in kernel_handoff()
970 req.data.handoff.max_burst_length = conn->conn.conn_max_burst_length; in kernel_handoff()
971 req.data.handoff.first_burst_length = in kernel_handoff()
973 req.data.handoff.immediate_data = conn->conn.conn_immediate_data; in kernel_handoff()
975 if (ioctl(ctl_fd, CTL_ISCSI, &req) == -1) { in kernel_handoff()
980 if (req.status != CTL_ISCSI_OK) { in kernel_handoff()
982 "%s; dropping connection", req.error_str); in kernel_handoff()
990 struct ctl_iscsi req; in kernel_limits() local
993 bzero(&req, sizeof(req)); in kernel_limits()
995 req.type = CTL_ISCSI_LIMITS; in kernel_limits()
996 cilp = (struct ctl_iscsi_limits_params *)&(req.data.limits); in kernel_limits()
1002 if (ioctl(ctl_fd, CTL_ISCSI, &req) == -1) { in kernel_limits()
1007 if (req.status != CTL_ISCSI_OK) { in kernel_limits()
1009 "%s; dropping connection", req.error_str); in kernel_limits()
1045 struct ctl_req req; in kernel_port_add() local
1054 bzero(&req, sizeof(req)); in kernel_port_add()
1055 req.reqtype = CTL_REQ_CREATE; in kernel_port_add()
1058 strlcpy(req.driver, "iscsi", sizeof(req.driver)); in kernel_port_add()
1059 req.args_nvl = nvlist_create(0); in kernel_port_add()
1060 nvlist_add_string(req.args_nvl, "cfiscsi_target", in kernel_port_add()
1062 nvlist_add_string(req.args_nvl, in kernel_port_add()
1064 nvlist_add_stringf(req.args_nvl, in kernel_port_add()
1068 nvlist_add_string(req.args_nvl, in kernel_port_add()
1073 nvlist_add_string(req.args_nvl, o->o_name, in kernel_port_add()
1078 strlcpy(req.driver, "ioctl", sizeof(req.driver)); in kernel_port_add()
1079 req.args_nvl = nvlist_create(0); in kernel_port_add()
1080 nvlist_add_stringf(req.args_nvl, "pp", "%d", in kernel_port_add()
1082 nvlist_add_stringf(req.args_nvl, "vp", "%d", in kernel_port_add()
1086 req.args = nvlist_pack(req.args_nvl, &req.args_len); in kernel_port_add()
1087 if (req.args == NULL) { in kernel_port_add()
1088 nvlist_destroy(req.args_nvl); in kernel_port_add()
1093 req.result = result_buf; in kernel_port_add()
1094 req.result_len = sizeof(result_buf); in kernel_port_add()
1095 error = ioctl(ctl_fd, CTL_PORT_REQ, &req); in kernel_port_add()
1096 free(req.args); in kernel_port_add()
1097 nvlist_destroy(req.args_nvl); in kernel_port_add()
1103 if (req.status == CTL_LUN_ERROR) { in kernel_port_add()
1105 req.error_str); in kernel_port_add()
1108 if (req.status != CTL_LUN_OK) { in kernel_port_add()
1110 req.status); in kernel_port_add()
1114 req.result_nvl = nvlist_unpack(result_buf, req.result_len, 0); in kernel_port_add()
1115 if (req.result_nvl == NULL) { in kernel_port_add()
1120 port->p_ctl_port = nvlist_get_number(req.result_nvl, "port_id"); in kernel_port_add()
1121 nvlist_destroy(req.result_nvl); in kernel_port_add()
1204 struct ctl_req req; in kernel_port_remove() local
1220 bzero(&req, sizeof(req)); in kernel_port_remove()
1221 strlcpy(req.driver, port->p_ioctl_port ? "ioctl" : "iscsi", in kernel_port_remove()
1222 sizeof(req.driver)); in kernel_port_remove()
1223 req.reqtype = CTL_REQ_REMOVE; in kernel_port_remove()
1224 req.args_nvl = nvlist_create(0); in kernel_port_remove()
1225 if (req.args_nvl == NULL) in kernel_port_remove()
1229 nvlist_add_stringf(req.args_nvl, "port_id", "%d", in kernel_port_remove()
1232 nvlist_add_string(req.args_nvl, "cfiscsi_target", in kernel_port_remove()
1234 nvlist_add_stringf(req.args_nvl, in kernel_port_remove()
1238 req.args = nvlist_pack(req.args_nvl, &req.args_len); in kernel_port_remove()
1239 if (req.args == NULL) { in kernel_port_remove()
1240 nvlist_destroy(req.args_nvl); in kernel_port_remove()
1245 error = ioctl(ctl_fd, CTL_PORT_REQ, &req); in kernel_port_remove()
1246 free(req.args); in kernel_port_remove()
1247 nvlist_destroy(req.args_nvl); in kernel_port_remove()
1253 if (req.status == CTL_LUN_ERROR) { in kernel_port_remove()
1255 req.error_str); in kernel_port_remove()
1258 if (req.status != CTL_LUN_OK) { in kernel_port_remove()
1260 req.status); in kernel_port_remove()
1279 struct ctl_iscsi req; in kernel_listen() local
1281 bzero(&req, sizeof(req)); in kernel_listen()
1283 req.type = CTL_ISCSI_LISTEN; in kernel_listen()
1284 req.data.listen.iser = iser; in kernel_listen()
1285 req.data.listen.domain = ai->ai_family; in kernel_listen()
1286 req.data.listen.socktype = ai->ai_socktype; in kernel_listen()
1287 req.data.listen.protocol = ai->ai_protocol; in kernel_listen()
1288 req.data.listen.addr = ai->ai_addr; in kernel_listen()
1289 req.data.listen.addrlen = ai->ai_addrlen; in kernel_listen()
1290 req.data.listen.portal_id = portal_id; in kernel_listen()
1292 if (ioctl(ctl_fd, CTL_ISCSI, &req) == -1) in kernel_listen()
1295 if (req.status != CTL_ISCSI_OK) { in kernel_listen()
1297 req.error_str); in kernel_listen()
1305 struct ctl_iscsi req; in kernel_accept() local
1308 bzero(&req, sizeof(req)); in kernel_accept()
1310 req.type = CTL_ISCSI_ACCEPT; in kernel_accept()
1311 req.data.accept.initiator_addr = (struct sockaddr *)&ss; in kernel_accept()
1313 if (ioctl(ctl_fd, CTL_ISCSI, &req) == -1) in kernel_accept()
1316 if (req.status != CTL_ISCSI_OK) { in kernel_accept()
1318 req.error_str); in kernel_accept()
1321 *connection_id = req.data.accept.connection_id; in kernel_accept()
1322 *portal_id = req.data.accept.portal_id; in kernel_accept()
1323 *client_salen = req.data.accept.initiator_addrlen; in kernel_accept()
1330 struct ctl_iscsi req; in kernel_send() local
1332 bzero(&req, sizeof(req)); in kernel_send()
1334 req.type = CTL_ISCSI_SEND; in kernel_send()
1335 req.data.send.connection_id = pdu->pdu_connection->conn_socket; in kernel_send()
1336 req.data.send.bhs = pdu->pdu_bhs; in kernel_send()
1337 req.data.send.data_segment_len = pdu->pdu_data_len; in kernel_send()
1338 req.data.send.data_segment = pdu->pdu_data; in kernel_send()
1340 if (ioctl(ctl_fd, CTL_ISCSI, &req) == -1) { in kernel_send()
1345 if (req.status != CTL_ISCSI_OK) { in kernel_send()
1347 "%s; dropping connection", req.error_str); in kernel_send()
1355 struct ctl_iscsi req; in kernel_receive() local
1362 bzero(&req, sizeof(req)); in kernel_receive()
1364 req.type = CTL_ISCSI_RECEIVE; in kernel_receive()
1365 req.data.receive.connection_id = conn->conn_socket; in kernel_receive()
1366 req.data.receive.bhs = pdu->pdu_bhs; in kernel_receive()
1367 req.data.receive.data_segment_len = in kernel_receive()
1369 req.data.receive.data_segment = pdu->pdu_data; in kernel_receive()
1371 if (ioctl(ctl_fd, CTL_ISCSI, &req) == -1) { in kernel_receive()
1376 if (req.status != CTL_ISCSI_OK) { in kernel_receive()
1378 "%s; dropping connection", req.error_str); in kernel_receive()