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