Lines Matching refs:sess

204 	if (conn->sess != NULL) {
207 conn->StatSN, conn->sess->ExpCmdSN,
208 conn->sess->MaxCmdSN);
244 if (conn->sess != NULL) {
245 to_be32(&rsph->exp_cmd_sn, conn->sess->ExpCmdSN);
246 to_be32(&rsph->max_cmd_sn, conn->sess->MaxCmdSN);
499 iscsi_free_sess(struct spdk_iscsi_sess *sess)
501 if (sess == NULL) {
505 sess->tag = 0;
506 sess->target = NULL;
507 sess->session_type = SESSION_TYPE_INVALID;
508 iscsi_param_free(sess->params);
509 free(sess->conns);
510 spdk_scsi_port_free(&sess->initiator_port);
511 spdk_mempool_put(g_iscsi.session_pool, (void *)sess);
519 struct spdk_iscsi_sess *sess;
522 sess = spdk_mempool_get(g_iscsi.session_pool);
523 if (!sess) {
532 sess->MaxConnections = g_iscsi.MaxConnectionsPerSession;
533 sess->MaxOutstandingR2T = DEFAULT_MAXOUTSTANDINGR2T;
535 sess->DefaultTime2Wait = g_iscsi.DefaultTime2Wait;
536 sess->DefaultTime2Retain = g_iscsi.DefaultTime2Retain;
537 sess->FirstBurstLength = g_iscsi.FirstBurstLength;
538 sess->MaxBurstLength = SPDK_ISCSI_MAX_BURST_LENGTH;
539 sess->InitialR2T = DEFAULT_INITIALR2T;
540 sess->ImmediateData = g_iscsi.ImmediateData;
541 sess->DataPDUInOrder = DEFAULT_DATAPDUINORDER;
542 sess->DataSequenceInOrder = DEFAULT_DATASEQUENCEINORDER;
543 sess->ErrorRecoveryLevel = g_iscsi.ErrorRecoveryLevel;
547 sess->tag = conn->pg_tag;
549 sess->conns = calloc(sess->MaxConnections, sizeof(*sess->conns));
550 if (!sess->conns) {
551 spdk_mempool_put(g_iscsi.session_pool, (void *)sess);
556 sess->connections = 0;
558 sess->conns[sess->connections] = conn;
559 sess->connections++;
561 sess->params = NULL;
562 sess->target = target;
563 sess->isid = 0;
564 sess->session_type = session_type;
565 sess->current_text_itt = 0xffffffffU;
568 rc = iscsi_sess_params_init(&sess->params);
574 rc = iscsi_param_set_int(sess->params, "MaxConnections",
575 sess->MaxConnections);
581 rc = iscsi_param_set_int(sess->params, "MaxOutstandingR2T",
582 sess->MaxOutstandingR2T);
588 rc = iscsi_param_set_int(sess->params, "DefaultTime2Wait",
589 sess->DefaultTime2Wait);
595 rc = iscsi_param_set_int(sess->params, "DefaultTime2Retain",
596 sess->DefaultTime2Retain);
602 rc = iscsi_param_set_int(sess->params, "FirstBurstLength",
603 sess->FirstBurstLength);
609 rc = iscsi_param_set_int(sess->params, "MaxBurstLength",
610 sess->MaxBurstLength);
616 rc = iscsi_param_set(sess->params, "InitialR2T",
617 sess->InitialR2T ? "Yes" : "No");
623 rc = iscsi_param_set(sess->params, "ImmediateData",
624 sess->ImmediateData ? "Yes" : "No");
630 rc = iscsi_param_set(sess->params, "DataPDUInOrder",
631 sess->DataPDUInOrder ? "Yes" : "No");
637 rc = iscsi_param_set(sess->params, "DataSequenceInOrder",
638 sess->DataSequenceInOrder ? "Yes" : "No");
644 rc = iscsi_param_set_int(sess->params, "ErrorRecoveryLevel",
645 sess->ErrorRecoveryLevel);
659 /* sess for first connection of session */
660 conn->sess = sess;
664 iscsi_free_sess(sess);
665 conn->sess = NULL;
688 struct spdk_iscsi_sess *sess;
693 sess = get_iscsi_sess_by_tsih(tsih);
694 if (sess == NULL) {
698 if ((conn->pg_tag != sess->tag) ||
699 (strcasecmp(initiator_port_name, spdk_scsi_port_get_name(sess->initiator_port)) != 0) ||
700 (conn->target != sess->target)) {
707 if (sess->connections >= sess->MaxConnections) {
714 SPDK_DEBUGLOG(iscsi, "Connections (tsih %d): %d\n", sess->tsih, sess->connections);
715 conn->sess = sess;
721 sess->conns[sess->connections] = conn;
722 sess->connections++;
762 param = iscsi_param_find(conn->sess->params, key);
1030 if (conn->sess->FirstBurstLength > conn->sess->MaxBurstLength) {
1032 conn->sess->FirstBurstLength,
1033 conn->sess->MaxBurstLength);
1036 if (conn->sess->FirstBurstLength > g_iscsi.FirstBurstLength) {
1038 conn->sess->FirstBurstLength, g_iscsi.FirstBurstLength);
1041 if (conn->sess->MaxBurstLength > 0x00ffffff) {
1043 conn->sess->MaxBurstLength);
1093 recv_buf_size = spdk_max(0x1000, spdk_min(0x2000, conn->sess->FirstBurstLength));
1163 if (conn->sess != NULL) {
1164 to_be32(&rsph->exp_cmd_sn, conn->sess->ExpCmdSN);
1165 to_be32(&rsph->max_cmd_sn, conn->sess->MaxCmdSN);
1240 if (conn->sess != NULL) {
1245 conn->sess->ExpCmdSN,
1246 conn->sess->MaxCmdSN);
1482 /* new session, drop old sess by the initiator */
1722 if (conn->sess == NULL) {
1742 conn->sess->initiator_port = initiator_port;
1744 conn->sess->isid = iscsi_get_isid(rsph->isid);
1747 spdk_scsi_port_set_iscsi_transport_id(conn->sess->initiator_port,
1749 conn->sess->isid);
1753 conn->sess->queue_depth = target->queue_depth;
1759 conn->sess->queue_depth = 1;
1761 conn->sess->ExpCmdSN = rsp_pdu->cmd_sn;
1762 conn->sess->MaxCmdSN = rsp_pdu->cmd_sn + conn->sess->queue_depth - 1;
1765 conn->initiator_port = conn->sess->initiator_port;
1795 rc = iscsi_param_set(conn->sess->params, "TargetAlias", buf);
1803 rc = iscsi_param_set(conn->sess->params, "TargetAddress", buf);
1809 rc = iscsi_param_set(conn->sess->params, "TargetPortalGroupTag", buf);
1817 val = iscsi_param_get_val(conn->sess->params, "TargetAlias");
1910 conn->sess->MaxConnections = 1;
1911 rc = iscsi_param_set_int(conn->sess->params,
1913 conn->sess->MaxConnections);
2031 if (conn->sess->session_type == SESSION_TYPE_NORMAL) {
2039 conn->sess->isid, conn->sess->tsih, conn->cid,
2044 } else if (conn->sess->session_type == SESSION_TYPE_DISCOVERY) {
2051 conn->sess->isid, conn->sess->tsih, conn->cid,
2095 to_be16(&rsph->tsih, conn->sess->tsih);
2103 if (conn->sess->session_type == SESSION_TYPE_DISCOVERY) {
2176 if (conn->full_feature && conn->sess != NULL &&
2177 conn->sess->session_type == SESSION_TYPE_DISCOVERY) {
2275 pdu->cmd_sn, ExpStatSN, conn->StatSN, conn->sess->ExpCmdSN,
2276 conn->sess->MaxCmdSN);
2300 if (conn->sess->current_text_itt == 0xffffffffU) {
2301 conn->sess->current_text_itt = task_tag;
2302 } else if (conn->sess->current_text_itt != task_tag) {
2304 conn->sess->current_text_itt, task_tag);
2379 if (iscsi_param_eq_val(conn->sess->params,
2411 if (iscsi_param_eq_val(conn->sess->params, "SessionType", "Discovery")) {
2450 conn->sess->current_text_itt = 0xffffffffU;
2459 conn->sess->MaxCmdSN++;
2462 to_be32(&rsph->exp_cmd_sn, conn->sess->ExpCmdSN);
2463 to_be32(&rsph->max_cmd_sn, conn->sess->MaxCmdSN);
2474 if (conn->sess == NULL) {
2483 } else if (iscsi_param_eq_val(conn->sess->params, "SessionType", "Normal")) {
2490 conn->sess->isid, conn->sess->tsih, conn->cid,
2502 conn->sess->isid, conn->sess->tsih, conn->cid,
2530 if (conn->sess != NULL) {
2531 if (conn->sess->session_type == SESSION_TYPE_DISCOVERY &&
2542 conn->sess->ExpCmdSN, conn->sess->MaxCmdSN);
2544 if (pdu->cmd_sn != conn->sess->ExpCmdSN) {
2580 if (conn->sess != NULL) {
2584 if (conn->sess->connections == 1) {
2585 conn->sess->MaxCmdSN++;
2588 to_be32(&rsph->exp_cmd_sn, conn->sess->ExpCmdSN);
2589 to_be32(&rsph->max_cmd_sn, conn->sess->MaxCmdSN);
2629 to_be32(&rsph->exp_cmd_sn, conn->sess->ExpCmdSN);
2630 to_be32(&rsph->max_cmd_sn, conn->sess->MaxCmdSN);
2706 len = spdk_min(conn->sess->MaxBurstLength,
2736 max_burst_len = conn->sess->MaxBurstLength;
2776 if (conn->sess->MaxOutstandingR2T == task->outstanding_r2t) {
2972 conn->sess->MaxCmdSN++;
2975 to_be32(&rsph->exp_cmd_sn, conn->sess->ExpCmdSN);
2976 to_be32(&rsph->max_cmd_sn, conn->sess->MaxCmdSN);
2980 if (conn->sess->ErrorRecoveryLevel >= 1) {
3051 datain_seq_cnt = 1 + ((transfer_len - 1) / (int)conn->sess->MaxBurstLength);
3053 offset = i * conn->sess->MaxBurstLength;
3054 sequence_end = spdk_min(((i + 1) * conn->sess->MaxBurstLength),
3187 conn->sess->MaxCmdSN++;
3190 to_be32(&rsph->exp_cmd_sn, conn->sess->ExpCmdSN);
3191 to_be32(&rsph->max_cmd_sn, conn->sess->MaxCmdSN);
3353 if (conn->sess->session_type != SESSION_TYPE_NORMAL) {
3407 if ((conn->sess->ErrorRecoveryLevel >= 1) &&
3429 if ((!conn->sess->ImmediateData && (pdu->data_segment_len > 0)) ||
3430 (pdu->data_segment_len > conn->sess->FirstBurstLength)) {
3537 conn->sess->MaxCmdSN++;
3540 to_be32(&rsph->exp_cmd_sn, conn->sess->ExpCmdSN);
3541 to_be32(&rsph->max_cmd_sn, conn->sess->MaxCmdSN);
3622 if (conn->sess->session_type != SESSION_TYPE_NORMAL) {
3637 conn->StatSN, conn->sess->ExpCmdSN, conn->sess->MaxCmdSN);
3730 if (conn->sess->session_type == SESSION_TYPE_DISCOVERY) {
3749 pdu->cmd_sn, conn->StatSN, conn->sess->ExpCmdSN,
3750 conn->sess->MaxCmdSN);
3834 conn->sess->MaxCmdSN++;
3837 to_be32(&rsph->exp_cmd_sn, conn->sess->ExpCmdSN);
3838 to_be32(&rsph->max_cmd_sn, conn->sess->MaxCmdSN);
4118 if (conn->sess->session_type == SESSION_TYPE_DISCOVERY) {
4124 if (!conn->sess->ErrorRecoveryLevel) {
4203 if (conn->sess->session_type == SESSION_TYPE_DISCOVERY) {
4241 if (conn->sess->ErrorRecoveryLevel >= 1) {
4260 if (task->current_r2t_length > conn->sess->MaxBurstLength) {
4263 conn->sess->MaxBurstLength);
4279 len = spdk_min(conn->sess->MaxBurstLength,
4428 struct spdk_iscsi_sess *sess;
4431 sess = conn->sess;
4432 if (!sess) {
4444 if (spdk_sn32_lt(pdu->cmd_sn, sess->ExpCmdSN) ||
4445 spdk_sn32_gt(pdu->cmd_sn, sess->MaxCmdSN)) {
4446 if (sess->session_type == SESSION_TYPE_NORMAL &&
4449 pdu->cmd_sn, sess->ExpCmdSN, sess->MaxCmdSN);
4451 if (sess->ErrorRecoveryLevel >= 1) {
4458 } else if (pdu->cmd_sn != sess->ExpCmdSN) {
4459 SPDK_ERRLOG("CmdSN(%u) error ExpCmdSN=%u\n", pdu->cmd_sn, sess->ExpCmdSN);
4461 if (sess->ErrorRecoveryLevel >= 1) {
4479 if (sess->ErrorRecoveryLevel >= 1) {
4484 sess->ExpCmdSN++;