Lines Matching refs:pdu
124 union nvme_tcp_pdu pdu; member
248 void *pdu, size_t len) in nvmet_tcp_hdgst() argument
252 sg_init_one(&sg, pdu, len); in nvmet_tcp_hdgst()
253 ahash_request_set_crypt(hash, &sg, pdu + len, len); in nvmet_tcp_hdgst()
258 void *pdu, size_t len) in nvmet_tcp_verify_hdgst() argument
260 struct nvme_tcp_hdr *hdr = pdu; in nvmet_tcp_verify_hdgst()
270 recv_digest = *(__le32 *)(pdu + hdr->hlen); in nvmet_tcp_verify_hdgst()
271 nvmet_tcp_hdgst(queue->rcv_hash, pdu, len); in nvmet_tcp_verify_hdgst()
272 exp_digest = *(__le32 *)(pdu + hdr->hlen); in nvmet_tcp_verify_hdgst()
283 static int nvmet_tcp_check_ddgst(struct nvmet_tcp_queue *queue, void *pdu) in nvmet_tcp_check_ddgst() argument
285 struct nvme_tcp_hdr *hdr = pdu; in nvmet_tcp_check_ddgst()
402 struct nvme_tcp_data_pdu *pdu = cmd->data_pdu; in nvmet_setup_c2h_data_pdu() local
410 pdu->hdr.type = nvme_tcp_c2h_data; in nvmet_setup_c2h_data_pdu()
411 pdu->hdr.flags = NVME_TCP_F_DATA_LAST | (queue->nvme_sq.sqhd_disabled ? in nvmet_setup_c2h_data_pdu()
413 pdu->hdr.hlen = sizeof(*pdu); in nvmet_setup_c2h_data_pdu()
414 pdu->hdr.pdo = pdu->hdr.hlen + hdgst; in nvmet_setup_c2h_data_pdu()
415 pdu->hdr.plen = in nvmet_setup_c2h_data_pdu()
416 cpu_to_le32(pdu->hdr.hlen + hdgst + in nvmet_setup_c2h_data_pdu()
418 pdu->command_id = cmd->req.cqe->command_id; in nvmet_setup_c2h_data_pdu()
419 pdu->data_length = cpu_to_le32(cmd->req.transfer_len); in nvmet_setup_c2h_data_pdu()
420 pdu->data_offset = cpu_to_le32(cmd->wbytes_done); in nvmet_setup_c2h_data_pdu()
423 pdu->hdr.flags |= NVME_TCP_F_DDGST; in nvmet_setup_c2h_data_pdu()
428 pdu->hdr.flags |= NVME_TCP_F_HDGST; in nvmet_setup_c2h_data_pdu()
429 nvmet_tcp_hdgst(queue->snd_hash, pdu, sizeof(*pdu)); in nvmet_setup_c2h_data_pdu()
435 struct nvme_tcp_r2t_pdu *pdu = cmd->r2t_pdu; in nvmet_setup_r2t_pdu() local
442 pdu->hdr.type = nvme_tcp_r2t; in nvmet_setup_r2t_pdu()
443 pdu->hdr.flags = 0; in nvmet_setup_r2t_pdu()
444 pdu->hdr.hlen = sizeof(*pdu); in nvmet_setup_r2t_pdu()
445 pdu->hdr.pdo = 0; in nvmet_setup_r2t_pdu()
446 pdu->hdr.plen = cpu_to_le32(pdu->hdr.hlen + hdgst); in nvmet_setup_r2t_pdu()
448 pdu->command_id = cmd->req.cmd->common.command_id; in nvmet_setup_r2t_pdu()
449 pdu->ttag = nvmet_tcp_cmd_tag(cmd->queue, cmd); in nvmet_setup_r2t_pdu()
450 pdu->r2t_length = cpu_to_le32(cmd->req.transfer_len - cmd->rbytes_done); in nvmet_setup_r2t_pdu()
451 pdu->r2t_offset = cpu_to_le32(cmd->rbytes_done); in nvmet_setup_r2t_pdu()
453 pdu->hdr.flags |= NVME_TCP_F_HDGST; in nvmet_setup_r2t_pdu()
454 nvmet_tcp_hdgst(queue->snd_hash, pdu, sizeof(*pdu)); in nvmet_setup_r2t_pdu()
460 struct nvme_tcp_rsp_pdu *pdu = cmd->rsp_pdu; in nvmet_setup_response_pdu() local
467 pdu->hdr.type = nvme_tcp_rsp; in nvmet_setup_response_pdu()
468 pdu->hdr.flags = 0; in nvmet_setup_response_pdu()
469 pdu->hdr.hlen = sizeof(*pdu); in nvmet_setup_response_pdu()
470 pdu->hdr.pdo = 0; in nvmet_setup_response_pdu()
471 pdu->hdr.plen = cpu_to_le32(pdu->hdr.hlen + hdgst); in nvmet_setup_response_pdu()
473 pdu->hdr.flags |= NVME_TCP_F_HDGST; in nvmet_setup_response_pdu()
474 nvmet_tcp_hdgst(queue->snd_hash, pdu, sizeof(*pdu)); in nvmet_setup_response_pdu()
827 struct nvme_tcp_icreq_pdu *icreq = &queue->pdu.icreq; in nvmet_tcp_handle_icreq()
828 struct nvme_tcp_icresp_pdu *icresp = &queue->pdu.icresp; in nvmet_tcp_handle_icreq()
919 struct nvme_tcp_data_pdu *data = &queue->pdu.data; in nvmet_tcp_handle_h2c_data_pdu()
955 struct nvme_tcp_hdr *hdr = &queue->pdu.cmd.hdr; in nvmet_tcp_done_recv_pdu()
956 struct nvme_command *nvme_cmd = &queue->pdu.cmd.cmd; in nvmet_tcp_done_recv_pdu()
1066 struct nvme_tcp_hdr *hdr = &queue->pdu.cmd.hdr; in nvmet_tcp_try_recv_pdu()
1072 iov.iov_base = (void *)&queue->pdu + queue->offset; in nvmet_tcp_try_recv_pdu()
1103 nvmet_tcp_verify_hdgst(queue, &queue->pdu, hdr->hlen)) { in nvmet_tcp_try_recv_pdu()
1109 nvmet_tcp_check_ddgst(queue, &queue->pdu)) { in nvmet_tcp_try_recv_pdu()
1177 queue->pdu.cmd.hdr.type, le32_to_cpu(cmd->recv_ddgst), in nvmet_tcp_try_recv_ddgst()