Lines Matching defs:conn

415 	struct iscsi_conn *conn = tcp_conn->iscsi_conn;
421 rc = iscsi_complete_pdu(conn, tcp_conn->in.hdr,
422 conn->data, tcp_conn->in.datalen);
433 struct iscsi_conn *conn = tcp_conn->iscsi_conn;
436 if (conn->datadgst_en &&
437 !(conn->session->tt->caps & CAP_DIGEST_OFFLOAD))
441 conn->data, tcp_conn->in.datalen,
465 ISCSI_DBG_TCP(task->conn, "pending r2t dropped\n");
480 * @conn: iscsi connection
483 static int iscsi_tcp_data_in(struct iscsi_conn *conn, struct iscsi_task *task)
485 struct iscsi_tcp_conn *tcp_conn = conn->dd_data;
496 iscsi_update_cmdsn(conn->session, (struct iscsi_nopin*)rhdr);
502 ISCSI_DBG_TCP(conn, "task->exp_datasn(%d) != rhdr->datasn(%d)"
511 ISCSI_DBG_TCP(conn, "data_offset(%d) + data_len(%d) > "
517 conn->datain_pdus_cnt++;
523 * @conn: iscsi connection
526 static int iscsi_tcp_r2t_rsp(struct iscsi_conn *conn, struct iscsi_task *task)
528 struct iscsi_session *session = conn->session;
530 struct iscsi_tcp_conn *tcp_conn = conn->dd_data;
539 iscsi_conn_printk(KERN_ERR, conn,
546 ISCSI_DBG_TCP(conn, "task->exp_datasn(%d) != rhdr->r2tsn(%d)\n",
555 iscsi_conn_printk(KERN_INFO, conn,
563 iscsi_conn_printk(KERN_ERR, conn,
569 ISCSI_DBG_TCP(conn, "invalid R2T with data len %u and max "
575 iscsi_conn_printk(KERN_ERR, conn,
585 iscsi_conn_printk(KERN_ERR, conn, "Could not allocate R2T. "
602 conn->r2t_pdus_cnt++;
616 struct iscsi_conn *conn = tcp_conn->iscsi_conn;
625 rc = iscsi_complete_pdu(conn, tcp_conn->in.hdr, NULL, 0);
636 * @conn: iSCSI connection
645 iscsi_tcp_hdr_dissect(struct iscsi_conn *conn, struct iscsi_hdr *hdr)
648 struct iscsi_tcp_conn *tcp_conn = conn->dd_data;
653 if (tcp_conn->in.datalen > conn->max_recv_dlength) {
654 iscsi_conn_printk(KERN_ERR, conn,
656 tcp_conn->in.datalen, conn->max_recv_dlength);
667 rc = iscsi_verify_itt(conn, hdr->itt);
671 ISCSI_DBG_TCP(conn, "opcode 0x%x ahslen %d datalen %d\n",
676 spin_lock(&conn->session->back_lock);
677 task = iscsi_itt_to_ctask(conn, hdr->itt);
681 rc = iscsi_tcp_data_in(conn, task);
683 spin_unlock(&conn->session->back_lock);
700 if (conn->datadgst_en &&
701 !(conn->session->tt->caps & CAP_DIGEST_OFFLOAD))
704 ISCSI_DBG_TCP(conn, "iscsi_tcp_begin_data_in( "
716 spin_unlock(&conn->session->back_lock);
719 rc = __iscsi_complete_pdu(conn, hdr, NULL, 0);
720 spin_unlock(&conn->session->back_lock);
727 rc = iscsi_complete_pdu(conn, hdr, NULL, 0);
730 spin_lock(&conn->session->back_lock);
731 task = iscsi_itt_to_ctask(conn, hdr->itt);
732 spin_unlock(&conn->session->back_lock);
739 spin_lock(&conn->session->frwd_lock);
740 rc = iscsi_tcp_r2t_rsp(conn, task);
741 spin_unlock(&conn->session->frwd_lock);
755 iscsi_conn_printk(KERN_ERR, conn,
757 "len %u but conn buffer is only %u "
776 rc = iscsi_complete_pdu(conn, hdr, NULL, 0);
805 struct iscsi_conn *conn = tcp_conn->iscsi_conn;
831 if (conn->hdrdgst_en &&
832 !(conn->session->tt->caps & CAP_DIGEST_OFFLOAD)) {
853 return iscsi_tcp_hdr_dissect(conn, hdr);
858 * @tcp_conn: iscsi tcp conn
871 * @conn: iscsi connection
879 int iscsi_tcp_recv_skb(struct iscsi_conn *conn, struct sk_buff *skb,
882 struct iscsi_tcp_conn *tcp_conn = conn->dd_data;
888 ISCSI_DBG_TCP(conn, "in %d bytes\n", skb->len - offset);
894 conn->last_recv = jiffies;
896 if (unlikely(conn->suspend_rx)) {
897 ISCSI_DBG_TCP(conn, "Rx suspended!\n");
914 ISCSI_DBG_TCP(conn, "no more data avail. Consumed %d\n",
921 ISCSI_DBG_TCP(conn, "skb %p ptr=%p avail=%u\n", skb, ptr,
935 ISCSI_DBG_TCP(conn, "segment done\n");
939 ISCSI_DBG_TCP(conn, "Error receiving PDU, errno=%d\n", rc);
940 iscsi_conn_failure(conn, rc);
946 conn->rxdata_octets += consumed;
953 * @conn: iscsi connection
960 struct iscsi_conn *conn = task->conn;
969 ISCSI_DBG_TCP(conn, "mtask deq [itt 0x%x]\n", task->itt);
971 return conn->session->tt->init_pdu(task, 0, task->data_count);
978 ISCSI_DBG_TCP(conn, "task deq [itt 0x%x imm %d unsol %d]\n",
981 err = conn->session->tt->init_pdu(task, 0, task->imm_count);
1002 ISCSI_DBG_TCP(task->conn,
1035 struct iscsi_conn *conn = task->conn;
1036 struct iscsi_session *session = conn->session;
1060 ISCSI_DBG_TCP(conn, "no R2Ts yet\n");
1064 rc = conn->session->tt->alloc_pdu(task, ISCSI_OP_SCSI_DATA_OUT);
1069 ISCSI_DBG_TCP(conn, "sol dout %p [dsn %d itt 0x%x doff %d dlen %d]\n",
1073 rc = conn->session->tt->init_pdu(task, r2t->data_offset + r2t->sent,
1076 iscsi_conn_failure(conn, ISCSI_ERR_XMIT_FAILED);
1090 struct iscsi_conn *conn;
1098 conn = cls_conn->dd_data;
1103 conn->max_recv_dlength = ISCSI_DEF_MAX_RECV_SEG_LEN;
1105 tcp_conn = conn->dd_data;
1106 tcp_conn->iscsi_conn = conn;
1107 tcp_conn->dd_data = conn->dd_data + sizeof(*tcp_conn);
1181 int iscsi_tcp_set_max_r2t(struct iscsi_conn *conn, char *buf)
1183 struct iscsi_session *session = conn->session;
1202 struct iscsi_conn *conn = cls_conn->dd_data;
1204 stats->txdata_octets = conn->txdata_octets;
1205 stats->rxdata_octets = conn->rxdata_octets;
1206 stats->scsicmd_pdus = conn->scsicmd_pdus_cnt;
1207 stats->dataout_pdus = conn->dataout_pdus_cnt;
1208 stats->scsirsp_pdus = conn->scsirsp_pdus_cnt;
1209 stats->datain_pdus = conn->datain_pdus_cnt;
1210 stats->r2t_pdus = conn->r2t_pdus_cnt;
1211 stats->tmfcmd_pdus = conn->tmfcmd_pdus_cnt;
1212 stats->tmfrsp_pdus = conn->tmfrsp_pdus_cnt;