Lines Matching refs:nc
55 struct nvmf_capsule nc; member
81 #define TASSOC(nc) ((struct nvmf_tcp_association *)(na)) argument
82 #define TCAP(nc) ((struct nvmf_tcp_capsule *)(nc)) argument
83 #define CTCAP(nc) ((const struct nvmf_tcp_capsule *)(nc)) argument
373 struct nvmf_capsule *nc; in nvmf_tcp_save_command_capsule() local
378 nc = nvmf_allocate_command(&qp->qp, &cmd->ccsqe); in nvmf_tcp_save_command_capsule()
379 if (nc == NULL) in nvmf_tcp_save_command_capsule()
382 tc = TCAP(nc); in nvmf_tcp_save_command_capsule()
394 struct nvmf_capsule *nc; in nvmf_tcp_save_response_capsule() local
399 nc = nvmf_allocate_response(&qp->qp, &rsp->rccqe); in nvmf_tcp_save_response_capsule()
400 if (nc == NULL) in nvmf_tcp_save_response_capsule()
403 nc->nc_sqhd_valid = true; in nvmf_tcp_save_response_capsule()
404 tc = TCAP(nc); in nvmf_tcp_save_response_capsule()
637 struct nvmf_capsule *nc; in nvmf_tcp_handle_c2h_data() local
642 nc = nvmf_allocate_response(&qp->qp, &cqe); in nvmf_tcp_handle_c2h_data()
643 if (nc == NULL) { in nvmf_tcp_handle_c2h_data()
647 nc->nc_sqhd_valid = false; in nvmf_tcp_handle_c2h_data()
649 tc = TCAP(nc); in nvmf_tcp_handle_c2h_data()
1123 nvmf_free_capsule(&tc->nc); in tcp_free_qpair()
1171 struct nvmf_tcp_capsule *nc; in tcp_allocate_capsule() local
1173 nc = calloc(1, sizeof(*nc)); in tcp_allocate_capsule()
1174 return (&nc->nc); in tcp_allocate_capsule()
1178 tcp_free_capsule(struct nvmf_capsule *nc) in tcp_free_capsule() argument
1180 struct nvmf_tcp_capsule *tc = TCAP(nc); in tcp_free_capsule()
1189 tcp_transmit_command(struct nvmf_capsule *nc) in tcp_transmit_command() argument
1191 struct nvmf_tcp_qpair *qp = TQP(nc->nc_qpair); in tcp_transmit_command()
1192 struct nvmf_tcp_capsule *tc = TCAP(nc); in tcp_transmit_command()
1199 if (nc->nc_data_len != 0 && nc->nc_send_data && in tcp_transmit_command()
1200 nc->nc_data_len <= qp->max_icd) in tcp_transmit_command()
1205 cmd.ccsqe = nc->nc_sqe; in tcp_transmit_command()
1211 sgl->length = htole32(nc->nc_data_len); in tcp_transmit_command()
1222 nc->nc_data : NULL, use_icd ? nc->nc_data_len : 0); in tcp_transmit_command()
1230 if (nc->nc_data_len != 0 && !use_icd) in tcp_transmit_command()
1231 tc->cb = tcp_alloc_command_buffer(qp, nc->nc_data, 0, in tcp_transmit_command()
1232 nc->nc_data_len, cmd.ccsqe.cid, 0, !nc->nc_send_data); in tcp_transmit_command()
1238 tcp_transmit_response(struct nvmf_capsule *nc) in tcp_transmit_response() argument
1240 struct nvmf_tcp_qpair *qp = TQP(nc->nc_qpair); in tcp_transmit_response()
1245 rsp.rccqe = nc->nc_cqe; in tcp_transmit_response()
1251 tcp_transmit_capsule(struct nvmf_capsule *nc) in tcp_transmit_capsule() argument
1253 if (nc->nc_qe_len == sizeof(struct nvme_command)) in tcp_transmit_capsule()
1254 return (tcp_transmit_command(nc)); in tcp_transmit_capsule()
1256 return (tcp_transmit_response(nc)); in tcp_transmit_capsule()
1273 *ncp = &tc->nc; in tcp_receive_capsule()
1278 tcp_validate_command_capsule(const struct nvmf_capsule *nc) in tcp_validate_command_capsule() argument
1280 const struct nvmf_tcp_capsule *tc = CTCAP(nc); in tcp_validate_command_capsule()
1285 sgl = &nc->nc_sqe.sgl; in tcp_validate_command_capsule()
1313 tcp_capsule_data_len(const struct nvmf_capsule *nc) in tcp_capsule_data_len() argument
1315 assert(nc->nc_qe_len == sizeof(struct nvme_command)); in tcp_capsule_data_len()
1316 return (le32toh(nc->nc_sqe.sgl.length)); in tcp_capsule_data_len()
1337 tcp_receive_r2t_data(const struct nvmf_capsule *nc, uint32_t data_offset, in tcp_receive_r2t_data() argument
1340 struct nvmf_tcp_qpair *qp = TQP(nc->nc_qpair); in tcp_receive_r2t_data()
1351 error = tcp_send_r2t(qp, nc->nc_sqe.cid, ttag, data_offset, len); in tcp_receive_r2t_data()
1356 nc->nc_sqe.cid, ttag, true); in tcp_receive_r2t_data()
1369 tcp_receive_icd_data(const struct nvmf_capsule *nc, uint32_t data_offset, in tcp_receive_icd_data() argument
1372 const struct nvmf_tcp_capsule *tc = CTCAP(nc); in tcp_receive_icd_data()
1381 tcp_receive_controller_data(const struct nvmf_capsule *nc, uint32_t data_offset, in tcp_receive_controller_data() argument
1384 struct nvmf_association *na = nc->nc_qpair->nq_association; in tcp_receive_controller_data()
1388 if (nc->nc_qe_len != sizeof(struct nvme_command) || !na->na_controller) in tcp_receive_controller_data()
1391 sgl = &nc->nc_sqe.sgl; in tcp_receive_controller_data()
1397 return (tcp_receive_icd_data(nc, data_offset, buf, len)); in tcp_receive_controller_data()
1399 return (tcp_receive_r2t_data(nc, data_offset, buf, len)); in tcp_receive_controller_data()
1425 tcp_send_controller_data(const struct nvmf_capsule *nc, const void *buf, in tcp_send_controller_data() argument
1428 struct nvmf_association *na = nc->nc_qpair->nq_association; in tcp_send_controller_data()
1429 struct nvmf_tcp_qpair *qp = TQP(nc->nc_qpair); in tcp_send_controller_data()
1437 if (nc->nc_qe_len != sizeof(struct nvme_command) || !na->na_controller) in tcp_send_controller_data()
1440 sgl = &nc->nc_sqe.sgl; in tcp_send_controller_data()
1443 nvmf_send_generic_error(nc, NVME_SC_INVALID_FIELD); in tcp_send_controller_data()
1448 nvmf_send_generic_error(nc, NVME_SC_INVALID_FIELD); in tcp_send_controller_data()
1469 error = tcp_send_c2h_pdu(qp, nc->nc_sqe.cid, data_offset, in tcp_send_controller_data()
1472 nvmf_send_generic_error(nc, in tcp_send_controller_data()
1481 nvmf_send_success(nc); in tcp_send_controller_data()