• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-R7000-V1.0.7.12_1.2.5/components/opensource/linux/linux-2.6.36/drivers/scsi/

Lines Matching refs:tcp_conn

69 static int iscsi_tcp_hdr_recv_done(struct iscsi_tcp_conn *tcp_conn,
166 * @tcp_conn: iscsi tcp connection
180 int iscsi_tcp_segment_done(struct iscsi_tcp_conn *tcp_conn,
187 ISCSI_DBG_TCP(tcp_conn->iscsi_conn, "copied %u %u size %u %s\n",
222 ISCSI_DBG_TCP(tcp_conn->iscsi_conn, "total copied %u total size %u\n",
234 if (!(tcp_conn->iscsi_conn->session->tt->caps & CAP_PADDING_OFFLOAD)) {
237 ISCSI_DBG_TCP(tcp_conn->iscsi_conn,
263 * @tcp_conn: the iSCSI TCP connection
279 iscsi_tcp_segment_recv(struct iscsi_tcp_conn *tcp_conn,
285 while (!iscsi_tcp_segment_done(tcp_conn, segment, 1, copy)) {
287 ISCSI_DBG_TCP(tcp_conn->iscsi_conn,
293 ISCSI_DBG_TCP(tcp_conn->iscsi_conn, "copying %d\n", copy);
312 iscsi_tcp_dgst_verify(struct iscsi_tcp_conn *tcp_conn,
320 ISCSI_DBG_TCP(tcp_conn->iscsi_conn, "digest mismatch\n");
379 * @tcp_conn: iscsi connection to prep for
385 void iscsi_tcp_hdr_recv_prep(struct iscsi_tcp_conn *tcp_conn)
387 ISCSI_DBG_TCP(tcp_conn->iscsi_conn,
388 "(%s)\n", tcp_conn->iscsi_conn->hdrdgst_en ?
390 iscsi_segment_init_linear(&tcp_conn->in.segment,
391 tcp_conn->in.hdr_buf, sizeof(struct iscsi_hdr),
400 iscsi_tcp_data_recv_done(struct iscsi_tcp_conn *tcp_conn,
403 struct iscsi_conn *conn = tcp_conn->iscsi_conn;
406 if (!iscsi_tcp_dgst_verify(tcp_conn, segment))
409 rc = iscsi_complete_pdu(conn, tcp_conn->in.hdr,
410 conn->data, tcp_conn->in.datalen);
414 iscsi_tcp_hdr_recv_prep(tcp_conn);
419 iscsi_tcp_data_recv_prep(struct iscsi_tcp_conn *tcp_conn)
421 struct iscsi_conn *conn = tcp_conn->iscsi_conn;
426 rx_hash = tcp_conn->rx_hash;
428 iscsi_segment_init_linear(&tcp_conn->in.segment,
429 conn->data, tcp_conn->in.datalen,
471 struct iscsi_tcp_conn *tcp_conn = conn->dd_data;
473 struct iscsi_data_rsp *rhdr = (struct iscsi_data_rsp *)tcp_conn->in.hdr;
484 if (tcp_conn->in.datalen == 0)
496 if (tcp_task->data_offset + tcp_conn->in.datalen > total_in_length) {
499 tcp_conn->in.datalen, total_in_length);
516 struct iscsi_tcp_conn *tcp_conn = conn->dd_data;
517 struct iscsi_r2t_rsp *rhdr = (struct iscsi_r2t_rsp *)tcp_conn->in.hdr;
522 if (tcp_conn->in.datalen) {
525 tcp_conn->in.datalen);
595 iscsi_tcp_process_data_in(struct iscsi_tcp_conn *tcp_conn,
598 struct iscsi_conn *conn = tcp_conn->iscsi_conn;
599 struct iscsi_hdr *hdr = tcp_conn->in.hdr;
602 if (!iscsi_tcp_dgst_verify(tcp_conn, segment))
607 rc = iscsi_complete_pdu(conn, tcp_conn->in.hdr, NULL, 0);
612 iscsi_tcp_hdr_recv_prep(tcp_conn);
630 struct iscsi_tcp_conn *tcp_conn = conn->dd_data;
634 tcp_conn->in.datalen = ntoh24(hdr->dlength);
635 if (tcp_conn->in.datalen > conn->max_recv_dlength) {
638 tcp_conn->in.datalen, conn->max_recv_dlength);
654 opcode, ahslen, tcp_conn->in.datalen);
669 if (tcp_conn->in.datalen) {
684 rx_hash = tcp_conn->rx_hash;
689 tcp_conn->in.datalen);
691 rc = iscsi_segment_seek_sg(&tcp_conn->in.segment,
695 tcp_conn->in.datalen,
705 if (tcp_conn->in.datalen) {
706 iscsi_tcp_data_recv_prep(tcp_conn);
734 if (ISCSI_DEF_MAX_RECV_SEG_LEN < tcp_conn->in.datalen) {
739 tcp_conn->in.datalen,
748 if (tcp_conn->in.datalen) {
749 iscsi_tcp_data_recv_prep(tcp_conn);
766 if (tcp_conn->in.datalen)
768 iscsi_tcp_hdr_recv_prep(tcp_conn);
782 iscsi_tcp_hdr_recv_done(struct iscsi_tcp_conn *tcp_conn,
785 struct iscsi_conn *conn = tcp_conn->iscsi_conn;
792 hdr = (struct iscsi_hdr *) tcp_conn->in.hdr_buf;
800 if (sizeof(*hdr) + ahslen > sizeof(tcp_conn->in.hdr_buf))
824 iscsi_tcp_dgst_header(tcp_conn->rx_hash, hdr,
828 if (!iscsi_tcp_dgst_verify(tcp_conn, segment))
832 tcp_conn->in.hdr = hdr;
838 * @tcp_conn: iscsi tcp conn
843 inline int iscsi_tcp_recv_segment_is_hdr(struct iscsi_tcp_conn *tcp_conn)
845 return tcp_conn->in.segment.done == iscsi_tcp_hdr_recv_done;
862 struct iscsi_tcp_conn *tcp_conn = conn->dd_data;
863 struct iscsi_segment *segment = &tcp_conn->in.segment;
904 rc = iscsi_tcp_segment_recv(tcp_conn, segment, ptr, avail);
917 rc = segment->done(tcp_conn, segment);
1074 struct iscsi_tcp_conn *tcp_conn;
1076 cls_conn = iscsi_conn_setup(cls_session, sizeof(*tcp_conn), conn_idx);
1086 tcp_conn = conn->dd_data;
1087 tcp_conn->iscsi_conn = conn;
1089 tcp_conn->dd_data = kzalloc(dd_data_size, GFP_KERNEL);
1090 if (!tcp_conn->dd_data) {
1101 struct iscsi_tcp_conn *tcp_conn = conn->dd_data;
1103 kfree(tcp_conn->dd_data);