From bc35dab91cfca91de57aaded580290c134f42bdd Mon Sep 17 00:00:00 2001 From: Ziye Yang Date: Fri, 7 May 2021 18:28:03 +0800 Subject: [PATCH] lib/nvmf: Refactor the code to generate _nvmf_tcp_pdu_payload_handle The purpose is to prepared for implement the async crc32 caculation in the future patch. Signed-off-by: Ziye Yang Change-Id: I49f84ea1966f0acdd6f5aeb7192896f91fd16dee Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/7793 Community-CI: Broadcom CI Tested-by: SPDK CI Jenkins Reviewed-by: Changpeng Liu Reviewed-by: Aleksey Marchuk --- lib/nvmf/tcp.c | 43 ++++++++++++++++++++++++++----------------- 1 file changed, 26 insertions(+), 17 deletions(-) diff --git a/lib/nvmf/tcp.c b/lib/nvmf/tcp.c index cd684a015..506c7de29 100644 --- a/lib/nvmf/tcp.c +++ b/lib/nvmf/tcp.c @@ -1662,6 +1662,31 @@ nvmf_tcp_h2c_term_req_payload_handle(struct spdk_nvmf_tcp_qpair *tqpair, nvmf_tcp_qpair_set_recv_state(tqpair, NVME_TCP_PDU_RECV_STATE_ERROR); } +static void +_nvmf_tcp_pdu_payload_handle(struct spdk_nvmf_tcp_qpair *tqpair, + struct spdk_nvmf_tcp_transport *ttransport) +{ + struct nvme_tcp_pdu *pdu = tqpair->pdu_in_progress; + + switch (pdu->hdr.common.pdu_type) { + case SPDK_NVME_TCP_PDU_TYPE_CAPSULE_CMD: + nvmf_tcp_capsule_cmd_payload_handle(ttransport, tqpair, pdu); + break; + case SPDK_NVME_TCP_PDU_TYPE_H2C_DATA: + nvmf_tcp_h2c_data_payload_handle(ttransport, tqpair, pdu); + break; + + case SPDK_NVME_TCP_PDU_TYPE_H2C_TERM_REQ: + nvmf_tcp_h2c_term_req_payload_handle(tqpair, pdu); + break; + + default: + /* The code should not go to here */ + SPDK_ERRLOG("The code should not go to here\n"); + break; + } +} + static void nvmf_tcp_pdu_payload_handle(struct spdk_nvmf_tcp_qpair *tqpair, struct spdk_nvmf_tcp_transport *ttransport) @@ -1688,23 +1713,7 @@ nvmf_tcp_pdu_payload_handle(struct spdk_nvmf_tcp_qpair *tqpair, } } - switch (pdu->hdr.common.pdu_type) { - case SPDK_NVME_TCP_PDU_TYPE_CAPSULE_CMD: - nvmf_tcp_capsule_cmd_payload_handle(ttransport, tqpair, pdu); - break; - case SPDK_NVME_TCP_PDU_TYPE_H2C_DATA: - nvmf_tcp_h2c_data_payload_handle(ttransport, tqpair, pdu); - break; - - case SPDK_NVME_TCP_PDU_TYPE_H2C_TERM_REQ: - nvmf_tcp_h2c_term_req_payload_handle(tqpair, pdu); - break; - - default: - /* The code should not go to here */ - SPDK_ERRLOG("The code should not go to here\n"); - break; - } + _nvmf_tcp_pdu_payload_handle(tqpair, ttransport); } static void