Lines Matching defs:tqpair
601 struct spdk_nvmf_tcp_qpair tqpair = {};
613 tcp_req.req.qpair = &tqpair.qpair;
615 tqpair.qpair.transport = &ttransport.transport;
618 tqpair.state = NVMF_TCP_QPAIR_STATE_RUNNING;
619 tqpair.recv_state = NVME_TCP_PDU_RECV_STATE_ERROR;
632 nvmf_tcp_send_c2h_data(&tqpair, &tcp_req);
651 nvmf_tcp_send_c2h_data(&tqpair, &tcp_req);
659 nvmf_tcp_send_c2h_data(&tqpair, &tcp_req);
666 nvmf_tcp_send_c2h_data(&tqpair, &tcp_req);
684 struct spdk_nvmf_tcp_qpair tqpair = {};
690 tqpair.state = NVMF_TCP_QPAIR_STATE_RUNNING;
691 tqpair.recv_state = NVME_TCP_PDU_RECV_STATE_ERROR;
692 tqpair.resource_count = 1;
693 tqpair.reqs = &tcp_req;
713 nvmf_tcp_h2c_data_hdr_handle(&ttransport, &tqpair, &pdu);
728 struct spdk_nvmf_tcp_qpair tqpair = {};
744 tqpair.pdu_in_progress = &pdu_in_progress;
754 tqpair.group = &tcp_group;
756 TAILQ_INIT(&tqpair.tcp_req_free_queue);
757 TAILQ_INIT(&tqpair.tcp_req_working_queue);
759 TAILQ_INSERT_TAIL(&tqpair.tcp_req_free_queue, &tcp_req2, state_link);
760 tqpair.state_cntr[TCP_REQUEST_STATE_FREE]++;
761 tqpair.qpair.transport = &ttransport.transport;
762 tqpair.state = NVMF_TCP_QPAIR_STATE_RUNNING;
763 tqpair.recv_state = NVME_TCP_PDU_RECV_STATE_AWAIT_PDU_PSH;
764 tqpair.qpair.state = SPDK_NVMF_QPAIR_ENABLED;
766 /* init a null tcp_req into tqpair TCP_REQUEST_STATE_FREE queue */
767 tcp_req2.req.qpair = &tqpair.qpair;
772 tcp_req1.req.qpair = &tqpair.qpair;
778 TAILQ_INSERT_TAIL(&tqpair.tcp_req_working_queue, &tcp_req1, state_link);
779 tqpair.state_cntr[TCP_REQUEST_STATE_NEW]++;
782 pdu = tqpair.pdu_in_progress;
804 /* process tqpair capsule req. */
805 nvmf_tcp_capsule_cmd_hdr_handle(&ttransport, &tqpair, tqpair.pdu_in_progress);
806 CU_ASSERT(tqpair.recv_state == NVME_TCP_PDU_RECV_STATE_AWAIT_PDU_PAYLOAD);
807 CU_ASSERT(tqpair.pdu_in_progress->req == (void *)&tcp_req2);
820 struct spdk_nvmf_tcp_qpair *tqpair = NULL;
828 tqpair = calloc(1, sizeof(*tqpair));
829 tqpair->qpair.transport = &transport;
844 rc = nvmf_tcp_qpair_init(&tqpair->qpair);
846 CU_ASSERT(tqpair->host_hdgst_enable == true);
847 CU_ASSERT(tqpair->host_ddgst_enable == true);
849 rc = nvmf_tcp_qpair_init_mem_resource(tqpair);
851 CU_ASSERT(tqpair->resource_count == SPDK_NVMF_TCP_DEFAULT_MAX_IO_QUEUE_DEPTH);
852 CU_ASSERT(tqpair->reqs != NULL);
853 CU_ASSERT(tqpair->bufs != NULL);
854 CU_ASSERT(tqpair->pdus != NULL);
856 CU_ASSERT(tqpair->reqs[0].ttag == 1);
857 CU_ASSERT(tqpair->reqs[0].req.qpair == &tqpair->qpair);
858 CU_ASSERT(tqpair->reqs[0].pdu == &tqpair->pdus[0]);
859 CU_ASSERT(tqpair->reqs[0].pdu->qpair == &tqpair->qpair);
860 CU_ASSERT(tqpair->reqs[0].buf == (void *)((uintptr_t)tqpair->bufs));
861 CU_ASSERT(tqpair->reqs[0].req.rsp == (void *)&tqpair->reqs[0].rsp);
862 CU_ASSERT(tqpair->reqs[0].req.cmd == (void *)&tqpair->reqs[0].cmd);
863 CU_ASSERT(tqpair->reqs[0].state == TCP_REQUEST_STATE_FREE);
864 CU_ASSERT(tqpair->reqs[127].ttag == 128);
865 CU_ASSERT(tqpair->reqs[127].req.qpair == &tqpair->qpair);
866 CU_ASSERT(tqpair->reqs[127].pdu == &tqpair->pdus[127]);
867 CU_ASSERT(tqpair->reqs[127].pdu->qpair == &tqpair->qpair);
868 CU_ASSERT(tqpair->reqs[127].buf == (void *)((uintptr_t)tqpair->bufs) + 127 * 4096);
869 CU_ASSERT(tqpair->reqs[127].req.rsp == (void *)&tqpair->reqs[127].rsp);
870 CU_ASSERT(tqpair->reqs[127].req.cmd == (void *)&tqpair->reqs[127].cmd);
871 CU_ASSERT(tqpair->reqs[127].state == TCP_REQUEST_STATE_FREE);
872 CU_ASSERT(tqpair->state_cntr[TCP_REQUEST_STATE_FREE] == SPDK_NVMF_TCP_DEFAULT_MAX_IO_QUEUE_DEPTH);
873 CU_ASSERT(tqpair->mgmt_pdu == &tqpair->pdus[2 * SPDK_NVMF_TCP_DEFAULT_MAX_IO_QUEUE_DEPTH]);
874 CU_ASSERT(tqpair->mgmt_pdu->qpair == tqpair);
875 CU_ASSERT(tqpair->pdu_in_progress ==
876 &tqpair->pdus[2 * SPDK_NVMF_TCP_DEFAULT_MAX_IO_QUEUE_DEPTH - 1]);
877 CU_ASSERT(tqpair->recv_buf_size == (4096 + sizeof(struct spdk_nvme_tcp_cmd) + 2 *
880 /* Free all of tqpair resource */
881 nvmf_tcp_qpair_destroy(tqpair);
893 struct spdk_nvmf_tcp_qpair tqpair = {};
898 mgmt_pdu.qpair = &tqpair;
899 tqpair.mgmt_pdu = &mgmt_pdu;
900 tqpair.pdu_in_progress = &pdu_in_progress;
901 tqpair.tcp_pdu_working_count = 1;
905 nvmf_tcp_send_c2h_term_req(&tqpair, &pdu, fes, error_offset);
906 CU_ASSERT(tqpair.recv_state == NVME_TCP_PDU_RECV_STATE_QUIESCING);
907 CU_ASSERT(tqpair.mgmt_pdu->hdr.term_req.common.hlen == sizeof(struct spdk_nvme_tcp_term_req_hdr));
908 CU_ASSERT(tqpair.mgmt_pdu->hdr.term_req.common.plen == tqpair.mgmt_pdu->hdr.term_req.common.hlen +
910 CU_ASSERT(tqpair.mgmt_pdu->hdr.term_req.common.pdu_type == SPDK_NVME_TCP_PDU_TYPE_C2H_TERM_REQ);
911 CU_ASSERT(tqpair.mgmt_pdu->hdr.term_req.fes == SPDK_NVME_TCP_TERM_REQ_FES_INVALID_HEADER_FIELD);
915 nvmf_tcp_send_c2h_term_req(&tqpair, &pdu, fes, error_offset);
916 CU_ASSERT(tqpair.recv_state == NVME_TCP_PDU_RECV_STATE_QUIESCING);
917 CU_ASSERT(tqpair.mgmt_pdu->hdr.term_req.common.hlen == sizeof(struct spdk_nvme_tcp_term_req_hdr));
918 CU_ASSERT(tqpair.mgmt_pdu->hdr.term_req.common.plen == (unsigned)
919 tqpair.mgmt_pdu->hdr.term_req.common.hlen + SPDK_NVME_TCP_TERM_REQ_ERROR_DATA_MAX_SIZE);
920 CU_ASSERT(tqpair.mgmt_pdu->hdr.term_req.common.pdu_type == SPDK_NVME_TCP_PDU_TYPE_C2H_TERM_REQ);
921 CU_ASSERT(tqpair.mgmt_pdu->hdr.term_req.fes == SPDK_NVME_TCP_TERM_REQ_FES_INVALID_HEADER_FIELD);
928 struct spdk_nvmf_tcp_qpair tqpair = {};
932 tcp_req.req.qpair = &tqpair.qpair;
936 tqpair.host_hdgst_enable = true;
938 nvmf_tcp_send_capsule_resp_pdu(&tcp_req, &tqpair);
952 tqpair.host_hdgst_enable = false;
956 nvmf_tcp_send_capsule_resp_pdu(&tcp_req, &tqpair);
973 struct spdk_nvmf_tcp_qpair tqpair = {};
979 mgmt_pdu.qpair = &tqpair;
980 tqpair.mgmt_pdu = &mgmt_pdu;
981 tqpair.pdu_in_progress = &pdu_in_progress;
982 tqpair.tcp_pdu_working_count = 1;
987 nvmf_tcp_icreq_handle(&ttransport, &tqpair, &pdu);
989 CU_ASSERT(tqpair.recv_state == NVME_TCP_PDU_RECV_STATE_QUIESCING);
994 nvmf_tcp_icreq_handle(&ttransport, &tqpair, &pdu);
996 CU_ASSERT(tqpair.recv_state == NVME_TCP_PDU_RECV_STATE_QUIESCING);
1001 tqpair.host_hdgst_enable = false;
1002 tqpair.host_ddgst_enable = false;
1003 tqpair.recv_buf_size = 64;
1006 nvmf_tcp_icreq_handle(&ttransport, &tqpair, &pdu);
1008 ic_resp = &tqpair.mgmt_pdu->hdr.ic_resp;
1009 CU_ASSERT(tqpair.recv_buf_size == MIN_SOCK_PIPE_SIZE);
1010 CU_ASSERT(tqpair.cpda == pdu.hdr.ic_req.hpda);
1015 CU_ASSERT(ic_resp->cpda == tqpair.cpda);
1019 CU_ASSERT(tqpair.recv_state == NVME_TCP_PDU_RECV_STATE_AWAIT_PDU_READY);
1027 struct spdk_nvmf_tcp_qpair tqpair = {};
1041 tqpair.pdu_in_progress = &pdu_in_progress;
1049 tqpair.group = &tcp_group;
1051 TAILQ_INIT(&tqpair.tcp_req_free_queue);
1052 TAILQ_INIT(&tqpair.tcp_req_working_queue);
1054 tqpair.qpair.transport = &ttransport.transport;
1055 tqpair.state = NVMF_TCP_QPAIR_STATE_RUNNING;
1056 tqpair.recv_state = NVME_TCP_PDU_RECV_STATE_AWAIT_PDU_PSH;
1057 tqpair.qpair.state = SPDK_NVMF_QPAIR_ENABLED;
1060 tcp_req.req.qpair = &tqpair.qpair;
1066 TAILQ_INSERT_TAIL(&tqpair.tcp_req_working_queue, &tcp_req, state_link);
1067 tqpair.state_cntr[TCP_REQUEST_STATE_NEW]++;
1070 capsule_data = &tqpair.pdu_in_progress->hdr.capsule_cmd;
1088 CU_ASSERT(tqpair.recv_state == NVME_TCP_PDU_RECV_STATE_AWAIT_PDU_READY);
1099 struct spdk_nvmf_tcp_qpair tqpair = {};
1114 tqpair.pdu_in_progress = &pdu_in_progress;
1122 tqpair.group = &tcp_group;
1124 TAILQ_INIT(&tqpair.tcp_req_free_queue);
1125 TAILQ_INIT(&tqpair.tcp_req_working_queue);
1127 tqpair.qpair.transport = &ttransport.transport;
1128 tqpair.state = NVMF_TCP_QPAIR_STATE_RUNNING;
1129 tqpair.recv_state = NVME_TCP_PDU_RECV_STATE_AWAIT_PDU_PSH;
1130 tqpair.qpair.state = SPDK_NVMF_QPAIR_ENABLED;
1133 tcp_req.req.qpair = &tqpair.qpair;
1135 tcp_req.pdu->qpair = &tqpair;
1136 tqpair.mgmt_pdu = &mgmt_pdu;
1137 tqpair.mgmt_pdu->qpair = &tqpair;
1142 TAILQ_INSERT_TAIL(&tqpair.tcp_req_working_queue, &tcp_req, state_link);
1143 tqpair.state_cntr[TCP_REQUEST_STATE_NEW]++;
1146 capsule_data = &tqpair.pdu_in_progress->hdr.capsule_cmd;
1164 CU_ASSERT(tqpair.recv_state == NVME_TCP_PDU_RECV_STATE_QUIESCING);
1165 CU_ASSERT(tqpair.mgmt_pdu->hdr.term_req.common.pdu_type == SPDK_NVME_TCP_PDU_TYPE_C2H_TERM_REQ);
1171 struct spdk_nvmf_tcp_qpair tqpair = {};
1174 mgmt_pdu.qpair = &tqpair;
1175 tqpair.mgmt_pdu = &mgmt_pdu;
1176 tqpair.pdu_in_progress = &pdu_in_progress;
1177 tqpair.recv_state = NVME_TCP_PDU_RECV_STATE_AWAIT_PDU_CH;
1178 tqpair.cpda = 0;
1181 tqpair.pdu_in_progress->hdr.common.pdu_type = SPDK_NVME_TCP_PDU_TYPE_IC_REQ;
1182 tqpair.state = NVMF_TCP_QPAIR_STATE_INITIALIZING;
1183 nvmf_tcp_pdu_ch_handle(&tqpair);
1184 CU_ASSERT(tqpair.recv_state == NVME_TCP_PDU_RECV_STATE_QUIESCING);
1185 CU_ASSERT(tqpair.mgmt_pdu->hdr.term_req.common.pdu_type == SPDK_NVME_TCP_PDU_TYPE_C2H_TERM_REQ);
1186 CU_ASSERT(tqpair.mgmt_pdu->hdr.term_req.common.hlen == sizeof(struct spdk_nvme_tcp_term_req_hdr));
1187 CU_ASSERT(tqpair.mgmt_pdu->hdr.term_req.common.plen == tqpair.mgmt_pdu->hdr.term_req.common.hlen);
1190 tqpair.recv_state = NVME_TCP_PDU_RECV_STATE_AWAIT_PDU_CH;
1191 tqpair.pdu_in_progress->hdr.common.pdu_type = SPDK_NVME_TCP_PDU_TYPE_IC_REQ;
1192 tqpair.state = NVMF_TCP_QPAIR_STATE_INVALID;
1193 tqpair.pdu_in_progress->hdr.common.plen = sizeof(struct spdk_nvme_tcp_ic_req);
1194 tqpair.pdu_in_progress->hdr.common.hlen = 0;
1195 nvmf_tcp_pdu_ch_handle(&tqpair);
1196 CU_ASSERT(tqpair.recv_state == NVME_TCP_PDU_RECV_STATE_QUIESCING);
1197 CU_ASSERT(tqpair.mgmt_pdu->hdr.term_req.common.pdu_type == SPDK_NVME_TCP_PDU_TYPE_C2H_TERM_REQ);
1198 CU_ASSERT(tqpair.mgmt_pdu->hdr.term_req.common.hlen == sizeof(struct spdk_nvme_tcp_term_req_hdr));
1199 CU_ASSERT(tqpair.mgmt_pdu->hdr.term_req.common.plen == tqpair.mgmt_pdu->hdr.term_req.common.hlen);
1200 CU_ASSERT(tqpair.mgmt_pdu->hdr.term_req.fei[0] == 2);
1202 /* Test case: The TCP/IP tqpair connection is not negotiated. Expect: fail */
1203 tqpair.recv_state = NVME_TCP_PDU_RECV_STATE_AWAIT_PDU_CH;
1204 tqpair.pdu_in_progress->hdr.common.pdu_type = SPDK_NVME_TCP_PDU_TYPE_IC_RESP;
1205 tqpair.state = NVMF_TCP_QPAIR_STATE_INVALID;
1206 tqpair.pdu_in_progress->hdr.common.plen = sizeof(struct spdk_nvme_tcp_ic_req);
1207 tqpair.pdu_in_progress->hdr.common.hlen = 0;
1208 nvmf_tcp_pdu_ch_handle(&tqpair);
1209 CU_ASSERT(tqpair.recv_state == NVME_TCP_PDU_RECV_STATE_QUIESCING);
1210 CU_ASSERT(tqpair.mgmt_pdu->hdr.term_req.common.pdu_type == SPDK_NVME_TCP_PDU_TYPE_C2H_TERM_REQ);
1211 CU_ASSERT(tqpair.mgmt_pdu->hdr.term_req.common.hlen == sizeof(struct spdk_nvme_tcp_term_req_hdr));
1212 CU_ASSERT(tqpair.mgmt_pdu->hdr.term_req.common.plen == tqpair.mgmt_pdu->hdr.term_req.common.hlen);
1215 tqpair.recv_state = NVME_TCP_PDU_RECV_STATE_AWAIT_PDU_CH;
1216 tqpair.pdu_in_progress->hdr.common.pdu_type = SPDK_NVME_TCP_PDU_TYPE_CAPSULE_RESP;
1217 tqpair.state = NVMF_TCP_QPAIR_STATE_RUNNING;
1218 tqpair.pdu_in_progress->hdr.common.plen = 0;
1219 tqpair.pdu_in_progress->hdr.common.hlen = sizeof(struct spdk_nvme_tcp_ic_req);
1220 nvmf_tcp_pdu_ch_handle(&tqpair);
1221 CU_ASSERT(tqpair.recv_state == NVME_TCP_PDU_RECV_STATE_QUIESCING);
1222 CU_ASSERT(tqpair.mgmt_pdu->hdr.term_req.common.pdu_type == SPDK_NVME_TCP_PDU_TYPE_C2H_TERM_REQ);
1223 CU_ASSERT(tqpair.mgmt_pdu->hdr.term_req.common.hlen == sizeof(struct spdk_nvme_tcp_term_req_hdr));
1224 CU_ASSERT(tqpair.mgmt_pdu->hdr.term_req.common.plen == tqpair.mgmt_pdu->hdr.term_req.common.hlen +
1228 tqpair.recv_state = NVME_TCP_PDU_RECV_STATE_AWAIT_PDU_CH;
1229 tqpair.pdu_in_progress->hdr.common.pdu_type = SPDK_NVME_TCP_PDU_TYPE_IC_REQ;
1230 tqpair.state = NVMF_TCP_QPAIR_STATE_INVALID;
1231 tqpair.pdu_in_progress->hdr.common.plen = 0;
1232 tqpair.pdu_in_progress->hdr.common.hlen = sizeof(struct spdk_nvme_tcp_ic_req);
1233 nvmf_tcp_pdu_ch_handle(&tqpair);
1234 CU_ASSERT(tqpair.recv_state == NVME_TCP_PDU_RECV_STATE_QUIESCING);
1235 CU_ASSERT(tqpair.mgmt_pdu->hdr.term_req.common.pdu_type == SPDK_NVME_TCP_PDU_TYPE_C2H_TERM_REQ);
1236 CU_ASSERT(tqpair.mgmt_pdu->hdr.term_req.common.hlen == sizeof(struct spdk_nvme_tcp_term_req_hdr));
1237 CU_ASSERT(tqpair.mgmt_pdu->hdr.term_req.common.plen == tqpair.mgmt_pdu->hdr.term_req.common.hlen +
1239 CU_ASSERT(tqpair.mgmt_pdu->hdr.term_req.fei[0] == 4);
1242 tqpair.recv_state = NVME_TCP_PDU_RECV_STATE_AWAIT_PDU_CH;
1243 tqpair.pdu_in_progress->hdr.common.pdu_type = SPDK_NVME_TCP_PDU_TYPE_CAPSULE_CMD;
1244 tqpair.state = NVMF_TCP_QPAIR_STATE_RUNNING;
1245 tqpair.pdu_in_progress->hdr.common.flags = SPDK_NVME_TCP_CH_FLAGS_HDGSTF;
1246 tqpair.pdu_in_progress->hdr.common.plen = 0;
1247 tqpair.pdu_in_progress->hdr.common.hlen = sizeof(struct spdk_nvme_tcp_cmd);
1248 nvmf_tcp_pdu_ch_handle(&tqpair);
1249 CU_ASSERT(tqpair.recv_state == NVME_TCP_PDU_RECV_STATE_QUIESCING);
1250 CU_ASSERT(tqpair.mgmt_pdu->hdr.term_req.common.pdu_type == SPDK_NVME_TCP_PDU_TYPE_C2H_TERM_REQ);
1251 CU_ASSERT(tqpair.mgmt_pdu->hdr.term_req.common.hlen == sizeof(struct spdk_nvme_tcp_term_req_hdr));
1252 CU_ASSERT(tqpair.mgmt_pdu->hdr.term_req.common.plen == sizeof(struct spdk_nvme_tcp_cmd) + sizeof(
1254 CU_ASSERT(tqpair.mgmt_pdu->hdr.term_req.fei[0] == 4);
1257 tqpair.recv_state = NVME_TCP_PDU_RECV_STATE_AWAIT_PDU_CH;
1258 tqpair.pdu_in_progress->hdr.common.pdu_type = SPDK_NVME_TCP_PDU_TYPE_H2C_DATA;
1259 tqpair.state = NVMF_TCP_QPAIR_STATE_RUNNING;
1260 tqpair.pdu_in_progress->hdr.common.plen = 0;
1261 tqpair.pdu_in_progress->hdr.common.pdo = 64;
1262 tqpair.pdu_in_progress->hdr.common.hlen = sizeof(struct spdk_nvme_tcp_h2c_data_hdr);
1263 nvmf_tcp_pdu_ch_handle(&tqpair);
1264 CU_ASSERT(tqpair.recv_state == NVME_TCP_PDU_RECV_STATE_QUIESCING);
1265 CU_ASSERT(tqpair.mgmt_pdu->hdr.term_req.common.pdu_type == SPDK_NVME_TCP_PDU_TYPE_C2H_TERM_REQ);
1266 CU_ASSERT(tqpair.mgmt_pdu->hdr.term_req.common.hlen == sizeof(struct spdk_nvme_tcp_term_req_hdr));
1267 CU_ASSERT(tqpair.mgmt_pdu->hdr.term_req.common.plen == tqpair.mgmt_pdu->hdr.term_req.common.hlen +
1269 CU_ASSERT(tqpair.mgmt_pdu->hdr.term_req.fei[0] == 4);
1272 tqpair.recv_state = NVME_TCP_PDU_RECV_STATE_AWAIT_PDU_CH;
1273 tqpair.pdu_in_progress->hdr.common.pdu_type = SPDK_NVME_TCP_PDU_TYPE_H2C_TERM_REQ;
1274 tqpair.state = NVMF_TCP_QPAIR_STATE_RUNNING;
1275 tqpair.pdu_in_progress->hdr.common.plen = 0;
1276 tqpair.pdu_in_progress->hdr.common.hlen = sizeof(struct spdk_nvme_tcp_term_req_hdr);
1277 nvmf_tcp_pdu_ch_handle(&tqpair);
1278 CU_ASSERT(tqpair.recv_state == NVME_TCP_PDU_RECV_STATE_QUIESCING);
1279 CU_ASSERT(tqpair.mgmt_pdu->hdr.term_req.common.pdu_type == SPDK_NVME_TCP_PDU_TYPE_C2H_TERM_REQ);
1280 CU_ASSERT(tqpair.mgmt_pdu->hdr.term_req.common.hlen == sizeof(struct spdk_nvme_tcp_term_req_hdr));
1281 CU_ASSERT(tqpair.mgmt_pdu->hdr.term_req.common.plen == tqpair.mgmt_pdu->hdr.term_req.common.hlen +
1283 CU_ASSERT(tqpair.mgmt_pdu->hdr.term_req.fei[0] == 4);
1286 tqpair.recv_state = NVME_TCP_PDU_RECV_STATE_AWAIT_PDU_CH;
1287 tqpair.pdu_in_progress->hdr.common.pdu_type = SPDK_NVME_TCP_PDU_TYPE_CAPSULE_CMD;
1288 tqpair.state = NVMF_TCP_QPAIR_STATE_RUNNING;
1289 tqpair.cpda = 1;
1290 tqpair.pdu_in_progress->hdr.common.flags = SPDK_NVME_TCP_CH_FLAGS_HDGSTF;
1291 tqpair.pdu_in_progress->hdr.common.plen = 0;
1292 tqpair.pdu_in_progress->hdr.common.pdo = 63;
1293 tqpair.pdu_in_progress->hdr.common.hlen = sizeof(struct spdk_nvme_tcp_cmd);
1294 nvmf_tcp_pdu_ch_handle(&tqpair);
1295 CU_ASSERT(tqpair.recv_state == NVME_TCP_PDU_RECV_STATE_QUIESCING);
1296 CU_ASSERT(tqpair.mgmt_pdu->hdr.term_req.common.pdu_type == SPDK_NVME_TCP_PDU_TYPE_C2H_TERM_REQ);
1297 CU_ASSERT(tqpair.mgmt_pdu->hdr.term_req.common.hlen == sizeof(struct spdk_nvme_tcp_term_req_hdr));
1298 CU_ASSERT(tqpair.mgmt_pdu->hdr.term_req.common.plen == sizeof(struct spdk_nvme_tcp_cmd) + sizeof(
1300 CU_ASSERT(tqpair.mgmt_pdu->hdr.term_req.fei[0] == 3);
1303 tqpair.recv_state = NVME_TCP_PDU_RECV_STATE_AWAIT_PDU_CH;
1304 tqpair.pdu_in_progress->hdr.common.pdu_type = SPDK_NVME_TCP_PDU_TYPE_H2C_DATA;
1305 tqpair.state = NVMF_TCP_QPAIR_STATE_RUNNING;
1306 tqpair.cpda = 1;
1307 tqpair.pdu_in_progress->hdr.common.plen = 0;
1308 tqpair.pdu_in_progress->hdr.common.pdo = 63;
1309 tqpair.pdu_in_progress->hdr.common.hlen = sizeof(struct spdk_nvme_tcp_h2c_data_hdr);
1310 nvmf_tcp_pdu_ch_handle(&tqpair);
1311 CU_ASSERT(tqpair.recv_state == NVME_TCP_PDU_RECV_STATE_QUIESCING);
1312 CU_ASSERT(tqpair.mgmt_pdu->hdr.term_req.common.pdu_type == SPDK_NVME_TCP_PDU_TYPE_C2H_TERM_REQ);
1313 CU_ASSERT(tqpair.mgmt_pdu->hdr.term_req.common.hlen == sizeof(struct spdk_nvme_tcp_term_req_hdr));
1314 CU_ASSERT(tqpair.mgmt_pdu->hdr.term_req.common.plen == tqpair.mgmt_pdu->hdr.term_req.common.hlen +
1316 CU_ASSERT(tqpair.mgmt_pdu->hdr.term_req.fei[0] == 3);
1319 tqpair.recv_state = NVME_TCP_PDU_RECV_STATE_AWAIT_PDU_CH;
1320 tqpair.pdu_in_progress->hdr.common.pdu_type = SPDK_NVME_TCP_PDU_TYPE_IC_REQ;
1321 tqpair.state = NVMF_TCP_QPAIR_STATE_INVALID;
1322 tqpair.pdu_in_progress->hdr.common.plen = sizeof(struct spdk_nvme_tcp_ic_req);
1323 tqpair.pdu_in_progress->hdr.common.hlen = sizeof(struct spdk_nvme_tcp_ic_req);
1324 nvmf_tcp_pdu_ch_handle(&tqpair);
1325 CU_ASSERT(tqpair.recv_state == NVME_TCP_PDU_RECV_STATE_AWAIT_PDU_PSH);
1326 CU_ASSERT(tqpair.pdu_in_progress->psh_len == tqpair.pdu_in_progress->hdr.common.hlen - sizeof(