Lines Matching defs:conn

418 	struct iscsi_conn *conn = tcp_conn->iscsi_conn;
424 rc = iscsi_complete_pdu(conn, tcp_conn->in.hdr,
425 conn->data, tcp_conn->in.datalen);
436 struct iscsi_conn *conn = tcp_conn->iscsi_conn;
439 if (conn->datadgst_en &&
440 !(conn->session->tt->caps & CAP_DIGEST_OFFLOAD))
444 conn->data, tcp_conn->in.datalen,
468 ISCSI_DBG_TCP(task->conn, "pending r2t dropped\n");
483 * @conn: iscsi connection
486 static int iscsi_tcp_data_in(struct iscsi_conn *conn, struct iscsi_task *task)
488 struct iscsi_tcp_conn *tcp_conn = conn->dd_data;
499 iscsi_update_cmdsn(conn->session, (struct iscsi_nopin*)rhdr);
505 ISCSI_DBG_TCP(conn, "task->exp_datasn(%d) != rhdr->datasn(%d)"
514 ISCSI_DBG_TCP(conn, "data_offset(%d) + data_len(%d) > "
520 conn->datain_pdus_cnt++;
526 * @conn: iscsi connection
529 static int iscsi_tcp_r2t_rsp(struct iscsi_conn *conn, struct iscsi_hdr *hdr)
531 struct iscsi_session *session = conn->session;
543 task = iscsi_itt_to_ctask(conn, hdr->itt);
567 tcp_conn = conn->dd_data;
574 iscsi_conn_printk(KERN_ERR, conn,
584 ISCSI_DBG_TCP(conn, "task->exp_datasn(%d) != rhdr->r2tsn(%d)\n",
591 iscsi_conn_printk(KERN_INFO, conn,
600 iscsi_conn_printk(KERN_ERR, conn,
607 ISCSI_DBG_TCP(conn, "invalid R2T with data len %u and max "
613 iscsi_conn_printk(KERN_ERR, conn,
624 iscsi_conn_printk(KERN_ERR, conn, "Could not allocate R2T. "
642 conn->r2t_pdus_cnt++;
660 struct iscsi_conn *conn = tcp_conn->iscsi_conn;
669 rc = iscsi_complete_pdu(conn, tcp_conn->in.hdr, NULL, 0);
680 * @conn: iSCSI connection
689 iscsi_tcp_hdr_dissect(struct iscsi_conn *conn, struct iscsi_hdr *hdr)
692 struct iscsi_tcp_conn *tcp_conn = conn->dd_data;
697 if (tcp_conn->in.datalen > conn->max_recv_dlength) {
698 iscsi_conn_printk(KERN_ERR, conn,
700 tcp_conn->in.datalen, conn->max_recv_dlength);
711 rc = iscsi_verify_itt(conn, hdr->itt);
715 ISCSI_DBG_TCP(conn, "opcode 0x%x ahslen %d datalen %d\n",
720 spin_lock(&conn->session->back_lock);
721 task = iscsi_itt_to_ctask(conn, hdr->itt);
725 rc = iscsi_tcp_data_in(conn, task);
727 spin_unlock(&conn->session->back_lock);
744 if (conn->datadgst_en &&
745 !(conn->session->tt->caps & CAP_DIGEST_OFFLOAD))
748 ISCSI_DBG_TCP(conn, "iscsi_tcp_begin_data_in( "
760 spin_unlock(&conn->session->back_lock);
763 rc = __iscsi_complete_pdu(conn, hdr, NULL, 0);
764 spin_unlock(&conn->session->back_lock);
771 rc = iscsi_complete_pdu(conn, hdr, NULL, 0);
778 rc = iscsi_tcp_r2t_rsp(conn, hdr);
790 iscsi_conn_printk(KERN_ERR, conn,
792 "len %u but conn buffer is only %u "
811 rc = iscsi_complete_pdu(conn, hdr, NULL, 0);
842 struct iscsi_conn *conn = tcp_conn->iscsi_conn;
868 if (conn->hdrdgst_en &&
869 !(conn->session->tt->caps & CAP_DIGEST_OFFLOAD)) {
890 return iscsi_tcp_hdr_dissect(conn, hdr);
895 * @tcp_conn: iscsi tcp conn
908 * @conn: iscsi connection
917 int iscsi_tcp_recv_skb(struct iscsi_conn *conn, struct sk_buff *skb,
920 struct iscsi_tcp_conn *tcp_conn = conn->dd_data;
926 ISCSI_DBG_TCP(conn, "in %d bytes\n", skb->len - offset);
932 conn->last_recv = jiffies;
934 if (unlikely(test_bit(ISCSI_CONN_FLAG_SUSPEND_RX, &conn->flags))) {
935 ISCSI_DBG_TCP(conn, "Rx suspended!\n");
952 ISCSI_DBG_TCP(conn, "no more data avail. Consumed %d\n",
959 ISCSI_DBG_TCP(conn, "skb %p ptr=%p avail=%u\n", skb, ptr,
973 ISCSI_DBG_TCP(conn, "segment done\n");
977 ISCSI_DBG_TCP(conn, "Error receiving PDU, errno=%d\n", rc);
978 iscsi_conn_failure(conn, rc);
984 conn->rxdata_octets += consumed;
996 struct iscsi_conn *conn = task->conn;
1005 ISCSI_DBG_TCP(conn, "mtask deq [itt 0x%x]\n", task->itt);
1007 return conn->session->tt->init_pdu(task, 0, task->data_count);
1014 ISCSI_DBG_TCP(conn, "task deq [itt 0x%x imm %d unsol %d]\n",
1017 err = conn->session->tt->init_pdu(task, 0, task->imm_count);
1038 ISCSI_DBG_TCP(task->conn,
1071 struct iscsi_conn *conn = task->conn;
1072 struct iscsi_session *session = conn->session;
1096 ISCSI_DBG_TCP(conn, "no R2Ts yet\n");
1100 rc = conn->session->tt->alloc_pdu(task, ISCSI_OP_SCSI_DATA_OUT);
1105 ISCSI_DBG_TCP(conn, "sol dout %p [dsn %d itt 0x%x doff %d dlen %d]\n",
1109 rc = conn->session->tt->init_pdu(task, r2t->data_offset + r2t->sent,
1112 iscsi_conn_failure(conn, ISCSI_ERR_XMIT_FAILED);
1126 struct iscsi_conn *conn;
1134 conn = cls_conn->dd_data;
1139 conn->max_recv_dlength = ISCSI_DEF_MAX_RECV_SEG_LEN;
1141 tcp_conn = conn->dd_data;
1142 tcp_conn->iscsi_conn = conn;
1143 tcp_conn->dd_data = conn->dd_data + sizeof(*tcp_conn);
1217 int iscsi_tcp_set_max_r2t(struct iscsi_conn *conn, char *buf)
1219 struct iscsi_session *session = conn->session;
1238 struct iscsi_conn *conn = cls_conn->dd_data;
1240 stats->txdata_octets = conn->txdata_octets;
1241 stats->rxdata_octets = conn->rxdata_octets;
1242 stats->scsicmd_pdus = conn->scsicmd_pdus_cnt;
1243 stats->dataout_pdus = conn->dataout_pdus_cnt;
1244 stats->scsirsp_pdus = conn->scsirsp_pdus_cnt;
1245 stats->datain_pdus = conn->datain_pdus_cnt;
1246 stats->r2t_pdus = conn->r2t_pdus_cnt;
1247 stats->tmfcmd_pdus = conn->tmfcmd_pdus_cnt;
1248 stats->tmfrsp_pdus = conn->tmfrsp_pdus_cnt;