Lines Matching refs:pdu

114 	union nvme_tcp_pdu	pdu;  member
236 void *pdu, size_t len) in nvmet_tcp_hdgst() argument
240 sg_init_one(&sg, pdu, len); in nvmet_tcp_hdgst()
241 ahash_request_set_crypt(hash, &sg, pdu + len, len); in nvmet_tcp_hdgst()
246 void *pdu, size_t len) in nvmet_tcp_verify_hdgst() argument
248 struct nvme_tcp_hdr *hdr = pdu; in nvmet_tcp_verify_hdgst()
258 recv_digest = *(__le32 *)(pdu + hdr->hlen); in nvmet_tcp_verify_hdgst()
259 nvmet_tcp_hdgst(queue->rcv_hash, pdu, len); in nvmet_tcp_verify_hdgst()
260 exp_digest = *(__le32 *)(pdu + hdr->hlen); in nvmet_tcp_verify_hdgst()
271 static int nvmet_tcp_check_ddgst(struct nvmet_tcp_queue *queue, void *pdu) in nvmet_tcp_check_ddgst() argument
273 struct nvme_tcp_hdr *hdr = pdu; in nvmet_tcp_check_ddgst()
409 struct nvme_tcp_data_pdu *pdu = cmd->data_pdu; in nvmet_setup_c2h_data_pdu() local
417 pdu->hdr.type = nvme_tcp_c2h_data; in nvmet_setup_c2h_data_pdu()
418 pdu->hdr.flags = NVME_TCP_F_DATA_LAST | (queue->nvme_sq.sqhd_disabled ? in nvmet_setup_c2h_data_pdu()
420 pdu->hdr.hlen = sizeof(*pdu); in nvmet_setup_c2h_data_pdu()
421 pdu->hdr.pdo = pdu->hdr.hlen + hdgst; in nvmet_setup_c2h_data_pdu()
422 pdu->hdr.plen = in nvmet_setup_c2h_data_pdu()
423 cpu_to_le32(pdu->hdr.hlen + hdgst + in nvmet_setup_c2h_data_pdu()
425 pdu->command_id = cmd->req.cqe->command_id; in nvmet_setup_c2h_data_pdu()
426 pdu->data_length = cpu_to_le32(cmd->req.transfer_len); in nvmet_setup_c2h_data_pdu()
427 pdu->data_offset = cpu_to_le32(cmd->wbytes_done); in nvmet_setup_c2h_data_pdu()
430 pdu->hdr.flags |= NVME_TCP_F_DDGST; in nvmet_setup_c2h_data_pdu()
435 pdu->hdr.flags |= NVME_TCP_F_HDGST; in nvmet_setup_c2h_data_pdu()
436 nvmet_tcp_hdgst(queue->snd_hash, pdu, sizeof(*pdu)); in nvmet_setup_c2h_data_pdu()
442 struct nvme_tcp_r2t_pdu *pdu = cmd->r2t_pdu; in nvmet_setup_r2t_pdu() local
449 pdu->hdr.type = nvme_tcp_r2t; in nvmet_setup_r2t_pdu()
450 pdu->hdr.flags = 0; in nvmet_setup_r2t_pdu()
451 pdu->hdr.hlen = sizeof(*pdu); in nvmet_setup_r2t_pdu()
452 pdu->hdr.pdo = 0; in nvmet_setup_r2t_pdu()
453 pdu->hdr.plen = cpu_to_le32(pdu->hdr.hlen + hdgst); in nvmet_setup_r2t_pdu()
455 pdu->command_id = cmd->req.cmd->common.command_id; in nvmet_setup_r2t_pdu()
456 pdu->ttag = nvmet_tcp_cmd_tag(cmd->queue, cmd); in nvmet_setup_r2t_pdu()
457 pdu->r2t_length = cpu_to_le32(cmd->req.transfer_len - cmd->rbytes_done); in nvmet_setup_r2t_pdu()
458 pdu->r2t_offset = cpu_to_le32(cmd->rbytes_done); in nvmet_setup_r2t_pdu()
460 pdu->hdr.flags |= NVME_TCP_F_HDGST; in nvmet_setup_r2t_pdu()
461 nvmet_tcp_hdgst(queue->snd_hash, pdu, sizeof(*pdu)); in nvmet_setup_r2t_pdu()
467 struct nvme_tcp_rsp_pdu *pdu = cmd->rsp_pdu; in nvmet_setup_response_pdu() local
474 pdu->hdr.type = nvme_tcp_rsp; in nvmet_setup_response_pdu()
475 pdu->hdr.flags = 0; in nvmet_setup_response_pdu()
476 pdu->hdr.hlen = sizeof(*pdu); in nvmet_setup_response_pdu()
477 pdu->hdr.pdo = 0; in nvmet_setup_response_pdu()
478 pdu->hdr.plen = cpu_to_le32(pdu->hdr.hlen + hdgst); in nvmet_setup_response_pdu()
480 pdu->hdr.flags |= NVME_TCP_F_HDGST; in nvmet_setup_response_pdu()
481 nvmet_tcp_hdgst(queue->snd_hash, pdu, sizeof(*pdu)); in nvmet_setup_response_pdu()
837 struct nvme_tcp_icreq_pdu *icreq = &queue->pdu.icreq; in nvmet_tcp_handle_icreq()
838 struct nvme_tcp_icresp_pdu *icresp = &queue->pdu.icresp; in nvmet_tcp_handle_icreq()
922 struct nvme_tcp_data_pdu *data = &queue->pdu.data; in nvmet_tcp_handle_h2c_data_pdu()
958 struct nvme_tcp_hdr *hdr = &queue->pdu.cmd.hdr; in nvmet_tcp_done_recv_pdu()
959 struct nvme_command *nvme_cmd = &queue->pdu.cmd.cmd; in nvmet_tcp_done_recv_pdu()
1062 struct nvme_tcp_hdr *hdr = &queue->pdu.cmd.hdr; in nvmet_tcp_try_recv_pdu()
1068 iov.iov_base = (void *)&queue->pdu + queue->offset; in nvmet_tcp_try_recv_pdu()
1099 nvmet_tcp_verify_hdgst(queue, &queue->pdu, hdr->hlen)) { in nvmet_tcp_try_recv_pdu()
1105 nvmet_tcp_check_ddgst(queue, &queue->pdu)) { in nvmet_tcp_try_recv_pdu()
1174 queue->pdu.cmd.hdr.type, le32_to_cpu(cmd->recv_ddgst), in nvmet_tcp_try_recv_ddgst()