csk 370 drivers/crypto/chelsio/chtls/chtls.h static inline void csk_set_flag(struct chtls_sock *csk, csk 373 drivers/crypto/chelsio/chtls/chtls.h __set_bit(flag, &csk->flags); csk 376 drivers/crypto/chelsio/chtls/chtls.h static inline void csk_reset_flag(struct chtls_sock *csk, csk 379 drivers/crypto/chelsio/chtls/chtls.h __clear_bit(flag, &csk->flags); csk 382 drivers/crypto/chelsio/chtls/chtls.h static inline bool csk_conn_inline(const struct chtls_sock *csk) csk 384 drivers/crypto/chelsio/chtls/chtls.h return test_bit(CSK_CONN_INLINE, &csk->flags); csk 389 drivers/crypto/chelsio/chtls/chtls.h struct chtls_sock *csk = rcu_dereference_sk_user_data(sk); csk 391 drivers/crypto/chelsio/chtls/chtls.h if (!csk_conn_inline(csk)) csk 393 drivers/crypto/chelsio/chtls/chtls.h return test_bit(flag, &csk->flags); csk 396 drivers/crypto/chelsio/chtls/chtls.h static inline int csk_flag_nochk(const struct chtls_sock *csk, csk 399 drivers/crypto/chelsio/chtls/chtls.h return test_bit(flag, &csk->flags); csk 434 drivers/crypto/chelsio/chtls/chtls.h struct chtls_sock *csk = container_of(ref, struct chtls_sock, csk 436 drivers/crypto/chelsio/chtls/chtls.h kfree(csk); csk 439 drivers/crypto/chelsio/chtls/chtls.h static inline void __chtls_sock_put(const char *fn, struct chtls_sock *csk) csk 441 drivers/crypto/chelsio/chtls/chtls.h kref_put(&csk->kref, chtls_sock_free); csk 445 drivers/crypto/chelsio/chtls/chtls.h struct chtls_sock *csk) csk 447 drivers/crypto/chelsio/chtls/chtls.h kref_get(&csk->kref); csk 453 drivers/crypto/chelsio/chtls/chtls.h struct chtls_sock *csk = rcu_dereference_sk_user_data(sk); csk 457 drivers/crypto/chelsio/chtls/chtls.h cxgb4_l2t_send(csk->egress_dev, skb, csk->l2t_entry); csk 460 drivers/crypto/chelsio/chtls/chtls.h cxgb4_ofld_send(csk->egress_dev, skb); csk 482 drivers/crypto/chelsio/chtls/chtls.h int chtls_push_frames(struct chtls_sock *csk, int comp); csk 484 drivers/crypto/chelsio/chtls/chtls.h int chtls_setkey(struct chtls_sock *csk, u32 keylen, u32 mode); csk 52 drivers/crypto/chelsio/chtls/chtls_cm.c struct chtls_sock *csk = kzalloc(sizeof(*csk), GFP_ATOMIC); csk 54 drivers/crypto/chelsio/chtls/chtls_cm.c if (!csk) csk 57 drivers/crypto/chelsio/chtls/chtls_cm.c csk->txdata_skb_cache = alloc_skb(TXDATA_SKB_LEN, GFP_ATOMIC); csk 58 drivers/crypto/chelsio/chtls/chtls_cm.c if (!csk->txdata_skb_cache) { csk 59 drivers/crypto/chelsio/chtls/chtls_cm.c kfree(csk); csk 63 drivers/crypto/chelsio/chtls/chtls_cm.c kref_init(&csk->kref); csk 64 drivers/crypto/chelsio/chtls/chtls_cm.c csk->cdev = cdev; csk 65 drivers/crypto/chelsio/chtls/chtls_cm.c skb_queue_head_init(&csk->txq); csk 66 drivers/crypto/chelsio/chtls/chtls_cm.c csk->wr_skb_head = NULL; csk 67 drivers/crypto/chelsio/chtls/chtls_cm.c csk->wr_skb_tail = NULL; csk 68 drivers/crypto/chelsio/chtls/chtls_cm.c csk->mss = MAX_MSS; csk 69 drivers/crypto/chelsio/chtls/chtls_cm.c csk->tlshws.ofld = 1; csk 70 drivers/crypto/chelsio/chtls/chtls_cm.c csk->tlshws.txkey = -1; csk 71 drivers/crypto/chelsio/chtls/chtls_cm.c csk->tlshws.rxkey = -1; csk 72 drivers/crypto/chelsio/chtls/chtls_cm.c csk->tlshws.mfs = TLS_MFS; csk 73 drivers/crypto/chelsio/chtls/chtls_cm.c skb_queue_head_init(&csk->tlshws.sk_recv_queue); csk 74 drivers/crypto/chelsio/chtls/chtls_cm.c return csk; csk 79 drivers/crypto/chelsio/chtls/chtls_cm.c struct chtls_sock *csk = csk 82 drivers/crypto/chelsio/chtls/chtls_cm.c kfree(csk); csk 105 drivers/crypto/chelsio/chtls/chtls_cm.c struct chtls_sock *csk; csk 108 drivers/crypto/chelsio/chtls/chtls_cm.c csk = rcu_dereference_sk_user_data(sk); csk 111 drivers/crypto/chelsio/chtls/chtls_cm.c cdev = csk->cdev; csk 124 drivers/crypto/chelsio/chtls/chtls_cm.c } else if (csk->opt2 & TSTAMPS_EN_F) { csk 125 drivers/crypto/chelsio/chtls/chtls_cm.c csk->opt2 &= ~TSTAMPS_EN_F; csk 126 drivers/crypto/chelsio/chtls/chtls_cm.c csk->mtu_idx = TCPOPT_MSS_G(opt); csk 142 drivers/crypto/chelsio/chtls/chtls_cm.c struct chtls_sock *csk = rcu_dereference_sk_user_data(sk); csk 145 drivers/crypto/chelsio/chtls/chtls_cm.c while ((skb = __skb_dequeue(&csk->txq))) { csk 153 drivers/crypto/chelsio/chtls/chtls_cm.c struct chtls_sock *csk = rcu_dereference_sk_user_data(sk); csk 154 drivers/crypto/chelsio/chtls/chtls_cm.c struct chtls_hws *tlsk = &csk->tlshws; csk 187 drivers/crypto/chelsio/chtls/chtls_cm.c struct chtls_sock *csk; csk 190 drivers/crypto/chelsio/chtls/chtls_cm.c csk = rcu_dereference_sk_user_data(sk); csk 194 drivers/crypto/chelsio/chtls/chtls_cm.c skb = alloc_ctrl_skb(csk->txdata_skb_cache, sizeof(*req)); csk 197 drivers/crypto/chelsio/chtls/chtls_cm.c INIT_TP_WR_CPL(req, CPL_ABORT_REQ, csk->tid); csk 198 drivers/crypto/chelsio/chtls/chtls_cm.c skb_set_queue_mapping(skb, (csk->txq_idx << 1) | CPL_PRIORITY_DATA); csk 200 drivers/crypto/chelsio/chtls/chtls_cm.c req->rsvd1 = !csk_flag_nochk(csk, CSK_TX_DATA_SENT); csk 202 drivers/crypto/chelsio/chtls/chtls_cm.c t4_set_arp_err_handler(skb, csk->cdev, abort_arp_failure); csk 208 drivers/crypto/chelsio/chtls/chtls_cm.c struct chtls_sock *csk = rcu_dereference_sk_user_data(sk); csk 210 drivers/crypto/chelsio/chtls/chtls_cm.c if (unlikely(csk_flag_nochk(csk, CSK_ABORT_SHUTDOWN) || csk 211 drivers/crypto/chelsio/chtls/chtls_cm.c !csk->cdev)) { csk 213 drivers/crypto/chelsio/chtls/chtls_cm.c csk_set_flag(csk, CSK_RST_ABORTED); csk 217 drivers/crypto/chelsio/chtls/chtls_cm.c if (!csk_flag_nochk(csk, CSK_TX_DATA_SENT)) { csk 222 drivers/crypto/chelsio/chtls/chtls_cm.c csk_set_flag(csk, CSK_TX_DATA_SENT); csk 225 drivers/crypto/chelsio/chtls/chtls_cm.c csk_set_flag(csk, CSK_ABORT_RPL_PENDING); csk 228 drivers/crypto/chelsio/chtls/chtls_cm.c csk_set_flag(csk, CSK_ABORT_SHUTDOWN); csk 258 drivers/crypto/chelsio/chtls/chtls_cm.c struct chtls_sock *csk; csk 264 drivers/crypto/chelsio/chtls/chtls_cm.c csk = rcu_dereference_sk_user_data(sk); csk 265 drivers/crypto/chelsio/chtls/chtls_cm.c tid = csk->tid; csk 281 drivers/crypto/chelsio/chtls/chtls_cm.c chtls_push_frames(csk, 1); csk 300 drivers/crypto/chelsio/chtls/chtls_cm.c struct chtls_sock *csk; csk 302 drivers/crypto/chelsio/chtls/chtls_cm.c csk = rcu_dereference_sk_user_data(sk); csk 308 drivers/crypto/chelsio/chtls/chtls_cm.c data_lost |= skb_queue_len(&csk->tlshws.sk_recv_queue); csk 440 drivers/crypto/chelsio/chtls/chtls_cm.c struct chtls_sock *csk; csk 442 drivers/crypto/chelsio/chtls/chtls_cm.c csk = rcu_dereference_sk_user_data(sk); csk 444 drivers/crypto/chelsio/chtls/chtls_cm.c csk->ulp_mode = ULP_MODE_NONE; csk 447 drivers/crypto/chelsio/chtls/chtls_cm.c kref_put(&csk->kref, chtls_sock_release); csk 454 drivers/crypto/chelsio/chtls/chtls_cm.c struct chtls_sock *csk = rcu_dereference_sk_user_data(child); csk 457 drivers/crypto/chelsio/chtls/chtls_cm.c skb = alloc_ctrl_skb(csk->txdata_skb_cache, csk 563 drivers/crypto/chelsio/chtls/chtls_cm.c struct chtls_sock *csk; csk 565 drivers/crypto/chelsio/chtls/chtls_cm.c csk = rcu_dereference_sk_user_data(child); csk 566 drivers/crypto/chelsio/chtls/chtls_cm.c req = csk->passive_reap_next; csk 569 drivers/crypto/chelsio/chtls/chtls_cm.c __skb_unlink((struct sk_buff *)&csk->synq, &csk->listen_ctx->synq); csk 571 drivers/crypto/chelsio/chtls/chtls_cm.c csk->passive_reap_next = NULL; csk 579 drivers/crypto/chelsio/chtls/chtls_cm.c struct chtls_sock *csk = csk 582 drivers/crypto/chelsio/chtls/chtls_cm.c struct sock *child = csk->sk; csk 740 drivers/crypto/chelsio/chtls/chtls_cm.c struct chtls_sock *csk = rcu_dereference_sk_user_data(sk); csk 741 drivers/crypto/chelsio/chtls/chtls_cm.c struct chtls_dev *cdev = csk->cdev; csk 742 drivers/crypto/chelsio/chtls/chtls_cm.c unsigned int tid = csk->tid; csk 749 drivers/crypto/chelsio/chtls/chtls_cm.c kfree_skb(csk->txdata_skb_cache); csk 750 drivers/crypto/chelsio/chtls/chtls_cm.c csk->txdata_skb_cache = NULL; csk 752 drivers/crypto/chelsio/chtls/chtls_cm.c if (csk->wr_credits != csk->wr_max_credits) { csk 754 drivers/crypto/chelsio/chtls/chtls_cm.c chtls_reset_wr_list(csk); csk 757 drivers/crypto/chelsio/chtls/chtls_cm.c if (csk->l2t_entry) { csk 758 drivers/crypto/chelsio/chtls/chtls_cm.c cxgb4_l2t_release(csk->l2t_entry); csk 759 drivers/crypto/chelsio/chtls/chtls_cm.c csk->l2t_entry = NULL; csk 762 drivers/crypto/chelsio/chtls/chtls_cm.c cxgb4_remove_tid(tids, csk->port_id, tid, sk->sk_family); csk 818 drivers/crypto/chelsio/chtls/chtls_cm.c struct chtls_sock *csk; csk 823 drivers/crypto/chelsio/chtls/chtls_cm.c csk = rcu_dereference_sk_user_data(sk); csk 824 drivers/crypto/chelsio/chtls/chtls_cm.c cdev = csk->cdev; csk 836 drivers/crypto/chelsio/chtls/chtls_cm.c oreq = csk->passive_reap_next; csk 860 drivers/crypto/chelsio/chtls/chtls_cm.c static unsigned int chtls_select_mss(const struct chtls_sock *csk, csk 874 drivers/crypto/chelsio/chtls/chtls_cm.c sk = csk->sk; csk 876 drivers/crypto/chelsio/chtls/chtls_cm.c cdev = csk->cdev; csk 927 drivers/crypto/chelsio/chtls/chtls_cm.c struct chtls_sock *csk; csk 935 drivers/crypto/chelsio/chtls/chtls_cm.c csk = sk->sk_user_data; csk 936 drivers/crypto/chelsio/chtls/chtls_cm.c csk->tid = tid; csk 937 drivers/crypto/chelsio/chtls/chtls_cm.c lldi = csk->cdev->lldi; csk 944 drivers/crypto/chelsio/chtls/chtls_cm.c csk->tid)); csk 945 drivers/crypto/chelsio/chtls/chtls_cm.c csk->mtu_idx = chtls_select_mss(csk, dst_mtu(__sk_dst_get(sk)), csk 949 drivers/crypto/chelsio/chtls/chtls_cm.c MSS_IDX_V(csk->mtu_idx) | csk 950 drivers/crypto/chelsio/chtls/chtls_cm.c L2T_IDX_V(csk->l2t_entry->idx) | csk 952 drivers/crypto/chelsio/chtls/chtls_cm.c TX_CHAN_V(csk->tx_chan) | csk 953 drivers/crypto/chelsio/chtls/chtls_cm.c SMAC_SEL_V(csk->smac_idx) | csk 954 drivers/crypto/chelsio/chtls/chtls_cm.c DSCP_V(csk->tos >> 2) | csk 959 drivers/crypto/chelsio/chtls/chtls_cm.c RSS_QUEUE_VALID_F | RSS_QUEUE_V(csk->rss_qid); csk 979 drivers/crypto/chelsio/chtls/chtls_cm.c set_wr_txq(skb, CPL_PRIORITY_SETUP, csk->port_id); csk 981 drivers/crypto/chelsio/chtls/chtls_cm.c cxgb4_l2t_send(csk->egress_dev, skb, csk->l2t_entry); csk 1002 drivers/crypto/chelsio/chtls/chtls_cm.c static void chtls_set_tcp_window(struct chtls_sock *csk) csk 1004 drivers/crypto/chelsio/chtls/chtls_cm.c struct net_device *ndev = csk->egress_dev; csk 1012 drivers/crypto/chelsio/chtls/chtls_cm.c csk->rcv_win = CHTLS_10G_RCVWIN; csk 1014 drivers/crypto/chelsio/chtls/chtls_cm.c csk->rcv_win *= scale; csk 1016 drivers/crypto/chelsio/chtls/chtls_cm.c csk->snd_win = CHTLS_10G_SNDWIN; csk 1018 drivers/crypto/chelsio/chtls/chtls_cm.c csk->snd_win *= scale; csk 1031 drivers/crypto/chelsio/chtls/chtls_cm.c struct chtls_sock *csk; csk 1058 drivers/crypto/chelsio/chtls/chtls_cm.c csk = chtls_sock_create(cdev); csk 1059 drivers/crypto/chelsio/chtls/chtls_cm.c if (!csk) csk 1062 drivers/crypto/chelsio/chtls/chtls_cm.c csk->l2t_entry = cxgb4_l2t_get(cdev->lldi->l2t, n, ndev, 0); csk 1063 drivers/crypto/chelsio/chtls/chtls_cm.c if (!csk->l2t_entry) csk 1066 drivers/crypto/chelsio/chtls/chtls_cm.c newsk->sk_user_data = csk; csk 1080 drivers/crypto/chelsio/chtls/chtls_cm.c csk->sk = newsk; csk 1081 drivers/crypto/chelsio/chtls/chtls_cm.c csk->passive_reap_next = oreq; csk 1082 drivers/crypto/chelsio/chtls/chtls_cm.c csk->tx_chan = cxgb4_port_chan(ndev); csk 1083 drivers/crypto/chelsio/chtls/chtls_cm.c csk->port_id = port_id; csk 1084 drivers/crypto/chelsio/chtls/chtls_cm.c csk->egress_dev = ndev; csk 1085 drivers/crypto/chelsio/chtls/chtls_cm.c csk->tos = PASS_OPEN_TOS_G(ntohl(req->tos_stid)); csk 1086 drivers/crypto/chelsio/chtls/chtls_cm.c chtls_set_tcp_window(csk); csk 1087 drivers/crypto/chelsio/chtls/chtls_cm.c tp->rcv_wnd = csk->rcv_win; csk 1088 drivers/crypto/chelsio/chtls/chtls_cm.c csk->sndbuf = csk->snd_win; csk 1089 drivers/crypto/chelsio/chtls/chtls_cm.c csk->ulp_mode = ULP_MODE_TLS; csk 1091 drivers/crypto/chelsio/chtls/chtls_cm.c csk->rss_qid = cdev->lldi->rxq_ids[port_id * step]; csk 1093 drivers/crypto/chelsio/chtls/chtls_cm.c csk->txq_idx = (rxq_idx < cdev->lldi->ntxq) ? rxq_idx : csk 1095 drivers/crypto/chelsio/chtls/chtls_cm.c csk->sndbuf = newsk->sk_sndbuf; csk 1096 drivers/crypto/chelsio/chtls/chtls_cm.c csk->smac_idx = ((struct port_info *)netdev_priv(ndev))->smt_idx; csk 1103 drivers/crypto/chelsio/chtls/chtls_cm.c csk_set_flag(csk, CSK_CONN_INLINE); csk 1108 drivers/crypto/chelsio/chtls/chtls_cm.c chtls_sock_release(&csk->kref); csk 1154 drivers/crypto/chelsio/chtls/chtls_cm.c struct chtls_sock *csk; csk 1251 drivers/crypto/chelsio/chtls/chtls_cm.c csk = rcu_dereference_sk_user_data(newsk); csk 1253 drivers/crypto/chelsio/chtls/chtls_cm.c csk->listen_ctx = listen_ctx; csk 1254 drivers/crypto/chelsio/chtls/chtls_cm.c __skb_queue_tail(&listen_ctx->synq, (struct sk_buff *)&csk->synq); csk 1343 drivers/crypto/chelsio/chtls/chtls_cm.c struct chtls_sock *csk = rcu_dereference_sk_user_data(sk); csk 1345 drivers/crypto/chelsio/chtls/chtls_cm.c reap_list = csk->passive_reap_next; csk 1346 drivers/crypto/chelsio/chtls/chtls_cm.c csk->passive_reap_next = NULL; csk 1366 drivers/crypto/chelsio/chtls/chtls_cm.c struct chtls_sock *csk = sk->sk_user_data; csk 1373 drivers/crypto/chelsio/chtls/chtls_cm.c csk->passive_reap_next = reap_list; csk 1375 drivers/crypto/chelsio/chtls/chtls_cm.c if (!csk->passive_reap_next) csk 1386 drivers/crypto/chelsio/chtls/chtls_cm.c struct chtls_sock *csk; csk 1391 drivers/crypto/chelsio/chtls/chtls_cm.c csk = child->sk_user_data; csk 1392 drivers/crypto/chelsio/chtls/chtls_cm.c oreq = csk->passive_reap_next; csk 1393 drivers/crypto/chelsio/chtls/chtls_cm.c csk->passive_reap_next = NULL; csk 1396 drivers/crypto/chelsio/chtls/chtls_cm.c __skb_unlink((struct sk_buff *)&csk->synq, &csk->listen_ctx->synq); csk 1420 drivers/crypto/chelsio/chtls/chtls_cm.c struct chtls_sock *csk; csk 1436 drivers/crypto/chelsio/chtls/chtls_cm.c csk = sk->sk_user_data; csk 1437 drivers/crypto/chelsio/chtls/chtls_cm.c csk->wr_max_credits = 64; csk 1438 drivers/crypto/chelsio/chtls/chtls_cm.c csk->wr_credits = 64; csk 1439 drivers/crypto/chelsio/chtls/chtls_cm.c csk->wr_unacked = 0; csk 1450 drivers/crypto/chelsio/chtls/chtls_cm.c if (unlikely(skb_queue_empty(&csk->listen_ctx->synq))) { csk 1500 drivers/crypto/chelsio/chtls/chtls_cm.c static void check_sk_callbacks(struct chtls_sock *csk) csk 1502 drivers/crypto/chelsio/chtls/chtls_cm.c struct sock *sk = csk->sk; csk 1505 drivers/crypto/chelsio/chtls/chtls_cm.c !csk_flag_nochk(csk, CSK_CALLBACKS_CHKD))) csk 1506 drivers/crypto/chelsio/chtls/chtls_cm.c csk_set_flag(csk, CSK_CALLBACKS_CHKD); csk 1524 drivers/crypto/chelsio/chtls/chtls_cm.c struct chtls_sock *csk; csk 1527 drivers/crypto/chelsio/chtls/chtls_cm.c csk = rcu_dereference_sk_user_data(sk); csk 1551 drivers/crypto/chelsio/chtls/chtls_cm.c if (unlikely(hdr->dack_mode != csk->delack_mode)) { csk 1552 drivers/crypto/chelsio/chtls/chtls_cm.c csk->delack_mode = hdr->dack_mode; csk 1553 drivers/crypto/chelsio/chtls/chtls_cm.c csk->delack_seq = tp->rcv_nxt; csk 1562 drivers/crypto/chelsio/chtls/chtls_cm.c check_sk_callbacks(csk); csk 1586 drivers/crypto/chelsio/chtls/chtls_cm.c struct chtls_sock *csk; csk 1590 drivers/crypto/chelsio/chtls/chtls_cm.c csk = rcu_dereference_sk_user_data(sk); csk 1591 drivers/crypto/chelsio/chtls/chtls_cm.c tlsk = &csk->tlshws; csk 1648 drivers/crypto/chelsio/chtls/chtls_cm.c struct chtls_sock *csk; csk 1653 drivers/crypto/chelsio/chtls/chtls_cm.c csk = rcu_dereference_sk_user_data(sk); csk 1654 drivers/crypto/chelsio/chtls/chtls_cm.c tlsk = &csk->tlshws; csk 1683 drivers/crypto/chelsio/chtls/chtls_cm.c check_sk_callbacks(csk); csk 1717 drivers/crypto/chelsio/chtls/chtls_cm.c struct chtls_sock *csk = rcu_dereference_sk_user_data(sk); csk 1732 drivers/crypto/chelsio/chtls/chtls_cm.c if (csk_flag_nochk(csk, CSK_ABORT_RPL_PENDING)) csk 1757 drivers/crypto/chelsio/chtls/chtls_cm.c struct chtls_sock *csk; csk 1760 drivers/crypto/chelsio/chtls/chtls_cm.c csk = rcu_dereference_sk_user_data(sk); csk 1768 drivers/crypto/chelsio/chtls/chtls_cm.c if (csk_flag_nochk(csk, CSK_ABORT_RPL_PENDING)) csk 1784 drivers/crypto/chelsio/chtls/chtls_cm.c !csk_flag_nochk(csk, CSK_ABORT_SHUTDOWN)) csk 1837 drivers/crypto/chelsio/chtls/chtls_cm.c struct chtls_sock *csk; csk 1839 drivers/crypto/chelsio/chtls/chtls_cm.c csk = rcu_dereference_sk_user_data(sk); csk 1854 drivers/crypto/chelsio/chtls/chtls_cm.c if (csk_conn_inline(csk)) { csk 1855 drivers/crypto/chelsio/chtls/chtls_cm.c struct l2t_entry *e = csk->l2t_entry; csk 1858 drivers/crypto/chelsio/chtls/chtls_cm.c cxgb4_l2t_send(csk->egress_dev, reply_skb, e); csk 1885 drivers/crypto/chelsio/chtls/chtls_cm.c struct chtls_sock *csk; csk 1888 drivers/crypto/chelsio/chtls/chtls_cm.c csk = rcu_dereference_sk_user_data(sk); csk 1900 drivers/crypto/chelsio/chtls/chtls_cm.c if (csk_conn_inline(csk)) { csk 1901 drivers/crypto/chelsio/chtls/chtls_cm.c struct l2t_entry *e = csk->l2t_entry; csk 1904 drivers/crypto/chelsio/chtls/chtls_cm.c cxgb4_l2t_send(csk->egress_dev, reply_skb, e); csk 1918 drivers/crypto/chelsio/chtls/chtls_cm.c struct chtls_sock *csk; csk 1923 drivers/crypto/chelsio/chtls/chtls_cm.c csk = rcu_dereference_sk_user_data(child); csk 1924 drivers/crypto/chelsio/chtls/chtls_cm.c queue = csk->txq_idx; csk 1936 drivers/crypto/chelsio/chtls/chtls_cm.c struct chtls_sock *csk; csk 1941 drivers/crypto/chelsio/chtls/chtls_cm.c csk = sk->sk_user_data; csk 1942 drivers/crypto/chelsio/chtls/chtls_cm.c oreq = csk->passive_reap_next; csk 1943 drivers/crypto/chelsio/chtls/chtls_cm.c cdev = csk->cdev; csk 1957 drivers/crypto/chelsio/chtls/chtls_cm.c int queue = csk->txq_idx; csk 1973 drivers/crypto/chelsio/chtls/chtls_cm.c struct chtls_sock *csk = sk->sk_user_data; csk 1975 drivers/crypto/chelsio/chtls/chtls_cm.c int queue = csk->txq_idx; csk 1985 drivers/crypto/chelsio/chtls/chtls_cm.c csk_reset_flag(csk, CSK_ABORT_REQ_RCVD); csk 1987 drivers/crypto/chelsio/chtls/chtls_cm.c if (!csk_flag_nochk(csk, CSK_ABORT_SHUTDOWN) && csk 1988 drivers/crypto/chelsio/chtls/chtls_cm.c !csk_flag_nochk(csk, CSK_TX_DATA_SENT)) { csk 1993 drivers/crypto/chelsio/chtls/chtls_cm.c csk_set_flag(csk, CSK_TX_DATA_SENT); csk 1996 drivers/crypto/chelsio/chtls/chtls_cm.c csk_set_flag(csk, CSK_ABORT_SHUTDOWN); csk 1998 drivers/crypto/chelsio/chtls/chtls_cm.c if (!csk_flag_nochk(csk, CSK_ABORT_RPL_PENDING)) { csk 2011 drivers/crypto/chelsio/chtls/chtls_cm.c chtls_send_abort_rpl(sk, skb, csk->cdev, rst_status, queue); csk 2017 drivers/crypto/chelsio/chtls/chtls_cm.c struct chtls_sock *csk; csk 2020 drivers/crypto/chelsio/chtls/chtls_cm.c csk = rcu_dereference_sk_user_data(sk); csk 2021 drivers/crypto/chelsio/chtls/chtls_cm.c cdev = csk->cdev; csk 2023 drivers/crypto/chelsio/chtls/chtls_cm.c if (csk_flag_nochk(csk, CSK_ABORT_RPL_PENDING)) { csk 2024 drivers/crypto/chelsio/chtls/chtls_cm.c csk_reset_flag(csk, CSK_ABORT_RPL_PENDING); csk 2025 drivers/crypto/chelsio/chtls/chtls_cm.c if (!csk_flag_nochk(csk, CSK_ABORT_REQ_RCVD)) { csk 2028 drivers/crypto/chelsio/chtls/chtls_cm.c csk->port_id, csk 2082 drivers/crypto/chelsio/chtls/chtls_cm.c struct chtls_sock *csk = sk->sk_user_data; csk 2088 drivers/crypto/chelsio/chtls/chtls_cm.c csk->wr_credits += credits; csk 2090 drivers/crypto/chelsio/chtls/chtls_cm.c if (csk->wr_unacked > csk->wr_max_credits - csk->wr_credits) csk 2091 drivers/crypto/chelsio/chtls/chtls_cm.c csk->wr_unacked = csk->wr_max_credits - csk->wr_credits; csk 2094 drivers/crypto/chelsio/chtls/chtls_cm.c struct sk_buff *pskb = csk->wr_skb_head; csk 2098 drivers/crypto/chelsio/chtls/chtls_cm.c if (csk->wr_nondata) csk 2099 drivers/crypto/chelsio/chtls/chtls_cm.c csk->wr_nondata -= credits; csk 2121 drivers/crypto/chelsio/chtls/chtls_cm.c !csk_flag_nochk(csk, CSK_TX_FAILOVER)) csk 2122 drivers/crypto/chelsio/chtls/chtls_cm.c csk_reset_flag(csk, CSK_TX_WAIT_IDLE); csk 2129 drivers/crypto/chelsio/chtls/chtls_cm.c csk->wr_credits -= fclen16; csk 2130 drivers/crypto/chelsio/chtls/chtls_cm.c csk_reset_flag(csk, CSK_TX_WAIT_IDLE); csk 2131 drivers/crypto/chelsio/chtls/chtls_cm.c csk_reset_flag(csk, CSK_TX_FAILOVER); csk 2133 drivers/crypto/chelsio/chtls/chtls_cm.c if (skb_queue_len(&csk->txq) && chtls_push_frames(csk, 0)) csk 188 drivers/crypto/chelsio/chtls/chtls_cm.h static inline void chtls_reset_wr_list(struct chtls_sock *csk) csk 190 drivers/crypto/chelsio/chtls/chtls_cm.h csk->wr_skb_head = NULL; csk 191 drivers/crypto/chelsio/chtls/chtls_cm.h csk->wr_skb_tail = NULL; csk 194 drivers/crypto/chelsio/chtls/chtls_cm.h static inline void enqueue_wr(struct chtls_sock *csk, struct sk_buff *skb) csk 200 drivers/crypto/chelsio/chtls/chtls_cm.h if (!csk->wr_skb_head) csk 201 drivers/crypto/chelsio/chtls/chtls_cm.h csk->wr_skb_head = skb; csk 203 drivers/crypto/chelsio/chtls/chtls_cm.h WR_SKB_CB(csk->wr_skb_tail)->next_wr = skb; csk 204 drivers/crypto/chelsio/chtls/chtls_cm.h csk->wr_skb_tail = skb; csk 209 drivers/crypto/chelsio/chtls/chtls_cm.h struct chtls_sock *csk = rcu_dereference_sk_user_data(sk); csk 212 drivers/crypto/chelsio/chtls/chtls_cm.h skb = csk->wr_skb_head; csk 216 drivers/crypto/chelsio/chtls/chtls_cm.h csk->wr_skb_head = WR_SKB_CB(skb)->next_wr; csk 23 drivers/crypto/chelsio/chtls/chtls_hw.c static void __set_tcb_field_direct(struct chtls_sock *csk, csk 29 drivers/crypto/chelsio/chtls/chtls_hw.c INIT_TP_WR_CPL(req, CPL_SET_TCB_FIELD, csk->tid); csk 30 drivers/crypto/chelsio/chtls/chtls_hw.c req->wr.wr_mid |= htonl(FW_WR_FLOWID_V(csk->tid)); csk 32 drivers/crypto/chelsio/chtls/chtls_hw.c QUEUENO_V(csk->rss_qid)); csk 45 drivers/crypto/chelsio/chtls/chtls_hw.c struct chtls_sock *csk; csk 50 drivers/crypto/chelsio/chtls/chtls_hw.c csk = rcu_dereference_sk_user_data(sk); csk 53 drivers/crypto/chelsio/chtls/chtls_hw.c __set_tcb_field_direct(csk, req, word, mask, val, cookie, no_reply); csk 54 drivers/crypto/chelsio/chtls/chtls_hw.c set_wr_txq(skb, CPL_PRIORITY_CONTROL, csk->port_id); csk 65 drivers/crypto/chelsio/chtls/chtls_hw.c struct chtls_sock *csk; csk 78 drivers/crypto/chelsio/chtls/chtls_hw.c csk = rcu_dereference_sk_user_data(sk); csk 81 drivers/crypto/chelsio/chtls/chtls_hw.c skb_set_queue_mapping(skb, (csk->txq_idx << 1) | CPL_PRIORITY_DATA); csk 82 drivers/crypto/chelsio/chtls/chtls_hw.c csk->wr_credits -= credits_needed; csk 83 drivers/crypto/chelsio/chtls/chtls_hw.c csk->wr_unacked += credits_needed; csk 84 drivers/crypto/chelsio/chtls/chtls_hw.c enqueue_wr(csk, skb); csk 85 drivers/crypto/chelsio/chtls/chtls_hw.c ret = cxgb4_ofld_send(csk->egress_dev, skb); csk 137 drivers/crypto/chelsio/chtls/chtls_hw.c static int get_new_keyid(struct chtls_sock *csk, u32 optname) csk 139 drivers/crypto/chelsio/chtls/chtls_hw.c struct net_device *dev = csk->egress_dev; csk 140 drivers/crypto/chelsio/chtls/chtls_hw.c struct chtls_dev *cdev = csk->cdev; csk 146 drivers/crypto/chelsio/chtls/chtls_hw.c hws = &csk->tlshws; csk 166 drivers/crypto/chelsio/chtls/chtls_hw.c struct chtls_sock *csk = rcu_dereference_sk_user_data(sk); csk 167 drivers/crypto/chelsio/chtls/chtls_hw.c struct net_device *dev = csk->egress_dev; csk 168 drivers/crypto/chelsio/chtls/chtls_hw.c struct chtls_dev *cdev = csk->cdev; csk 176 drivers/crypto/chelsio/chtls/chtls_hw.c hws = &csk->tlshws; csk 209 drivers/crypto/chelsio/chtls/chtls_hw.c static int chtls_key_info(struct chtls_sock *csk, csk 221 drivers/crypto/chelsio/chtls/chtls_hw.c &csk->tlshws.crypto_info; csk 244 drivers/crypto/chelsio/chtls/chtls_hw.c csk->tlshws.keylen = key_ctx_size; csk 270 drivers/crypto/chelsio/chtls/chtls_hw.c static void chtls_set_scmd(struct chtls_sock *csk) csk 272 drivers/crypto/chelsio/chtls/chtls_hw.c struct chtls_hws *hws = &csk->tlshws; csk 291 drivers/crypto/chelsio/chtls/chtls_hw.c int chtls_setkey(struct chtls_sock *csk, u32 keylen, u32 optname) csk 303 drivers/crypto/chelsio/chtls/chtls_hw.c cdev = csk->cdev; csk 304 drivers/crypto/chelsio/chtls/chtls_hw.c sk = csk->sk; csk 313 drivers/crypto/chelsio/chtls/chtls_hw.c if (skb_queue_len(&csk->txq)) csk 314 drivers/crypto/chelsio/chtls/chtls_hw.c chtls_push_frames(csk, 0); csk 322 drivers/crypto/chelsio/chtls/chtls_hw.c keyid = get_new_keyid(csk, optname); csk 335 drivers/crypto/chelsio/chtls/chtls_hw.c FW_WR_FLOWID_V(csk->tid))); csk 344 drivers/crypto/chelsio/chtls/chtls_hw.c kwr->req.len16 = cpu_to_be32((csk->tid << 8) | csk 356 drivers/crypto/chelsio/chtls/chtls_hw.c ret = chtls_key_info(csk, kctx, keylen, optname); csk 360 drivers/crypto/chelsio/chtls/chtls_hw.c set_wr_txq(skb, CPL_PRIORITY_DATA, csk->tlshws.txqid); csk 361 drivers/crypto/chelsio/chtls/chtls_hw.c csk->wr_credits -= DIV_ROUND_UP(len, 16); csk 362 drivers/crypto/chelsio/chtls/chtls_hw.c csk->wr_unacked += DIV_ROUND_UP(len, 16); csk 363 drivers/crypto/chelsio/chtls/chtls_hw.c enqueue_wr(csk, skb); csk 364 drivers/crypto/chelsio/chtls/chtls_hw.c cxgb4_ofld_send(csk->egress_dev, skb); csk 366 drivers/crypto/chelsio/chtls/chtls_hw.c chtls_set_scmd(csk); csk 386 drivers/crypto/chelsio/chtls/chtls_hw.c csk->tlshws.rxkey = keyid; csk 388 drivers/crypto/chelsio/chtls/chtls_hw.c csk->tlshws.tx_seq_no = 0; csk 389 drivers/crypto/chelsio/chtls/chtls_hw.c csk->tlshws.txkey = keyid; csk 25 drivers/crypto/chelsio/chtls/chtls_io.c static bool is_tls_tx(struct chtls_sock *csk) csk 27 drivers/crypto/chelsio/chtls/chtls_io.c return csk->tlshws.txkey >= 0; csk 30 drivers/crypto/chelsio/chtls/chtls_io.c static bool is_tls_rx(struct chtls_sock *csk) csk 32 drivers/crypto/chelsio/chtls/chtls_io.c return csk->tlshws.rxkey >= 0; csk 45 drivers/crypto/chelsio/chtls/chtls_io.c struct chtls_sock *csk = rcu_dereference_sk_user_data(sk); csk 47 drivers/crypto/chelsio/chtls/chtls_io.c return DIV_ROUND_UP(size, csk->tlshws.mfs); csk 93 drivers/crypto/chelsio/chtls/chtls_io.c struct chtls_sock *csk = rcu_dereference_sk_user_data(sk); csk 101 drivers/crypto/chelsio/chtls/chtls_io.c skb_set_queue_mapping(skb, (csk->txq_idx << 1) | CPL_PRIORITY_DATA); csk 109 drivers/crypto/chelsio/chtls/chtls_io.c struct chtls_sock *csk = rcu_dereference_sk_user_data(sk); csk 127 drivers/crypto/chelsio/chtls/chtls_io.c ret = cxgb4_immdata_send(csk->egress_dev, csk 128 drivers/crypto/chelsio/chtls/chtls_io.c csk->txq_idx, csk 168 drivers/crypto/chelsio/chtls/chtls_io.c struct chtls_sock *csk; csk 171 drivers/crypto/chelsio/chtls/chtls_io.c csk = rcu_dereference_sk_user_data(sk); csk 185 drivers/crypto/chelsio/chtls/chtls_io.c FLOWC_PARAM(PFNVFN, FW_PFVF_CMD_PFN_V(csk->cdev->lldi->pf)); csk 186 drivers/crypto/chelsio/chtls/chtls_io.c FLOWC_PARAM(CH, csk->tx_chan); csk 187 drivers/crypto/chelsio/chtls/chtls_io.c FLOWC_PARAM(PORT, csk->tx_chan); csk 188 drivers/crypto/chelsio/chtls/chtls_io.c FLOWC_PARAM(IQID, csk->rss_qid); csk 191 drivers/crypto/chelsio/chtls/chtls_io.c FLOWC_PARAM(SNDBUF, csk->sndbuf); csk 198 drivers/crypto/chelsio/chtls/chtls_io.c if (csk->ulp_mode == ULP_MODE_TLS) csk 201 drivers/crypto/chelsio/chtls/chtls_io.c if (csk->tlshws.fcplenmax) csk 202 drivers/crypto/chelsio/chtls/chtls_io.c FLOWC_PARAM(TXDATAPLEN_MAX, csk->tlshws.fcplenmax); csk 213 drivers/crypto/chelsio/chtls/chtls_io.c FW_WR_FLOWID_V(csk->tid)); csk 222 drivers/crypto/chelsio/chtls/chtls_io.c struct chtls_sock *csk; csk 230 drivers/crypto/chelsio/chtls/chtls_io.c csk = rcu_dereference_sk_user_data(sk); csk 231 drivers/crypto/chelsio/chtls/chtls_io.c hws = &csk->tlshws; csk 279 drivers/crypto/chelsio/chtls/chtls_io.c struct chtls_sock *csk; csk 286 drivers/crypto/chelsio/chtls/chtls_io.c csk = rcu_dereference_sk_user_data(sk); csk 287 drivers/crypto/chelsio/chtls/chtls_io.c hws = &csk->tlshws; csk 288 drivers/crypto/chelsio/chtls/chtls_io.c cdev = csk->cdev; csk 349 drivers/crypto/chelsio/chtls/chtls_io.c struct chtls_sock *csk; csk 359 drivers/crypto/chelsio/chtls/chtls_io.c csk = rcu_dereference_sk_user_data(sk); csk 361 drivers/crypto/chelsio/chtls/chtls_io.c dev = csk->egress_dev; csk 363 drivers/crypto/chelsio/chtls/chtls_io.c hws = &csk->tlshws; csk 386 drivers/crypto/chelsio/chtls/chtls_io.c req_wr->flowid_len16 = htonl(FW_TLSTX_DATA_WR_FLOWID_V(csk->tid) | csk 400 drivers/crypto/chelsio/chtls/chtls_io.c skb_queue_empty(&csk->txq))); csk 446 drivers/crypto/chelsio/chtls/chtls_io.c struct chtls_sock *csk = rcu_dereference_sk_user_data(sk); csk 447 drivers/crypto/chelsio/chtls/chtls_io.c struct chtls_hws *hws = &csk->tlshws; csk 483 drivers/crypto/chelsio/chtls/chtls_io.c struct chtls_sock *csk; csk 488 drivers/crypto/chelsio/chtls/chtls_io.c csk = rcu_dereference_sk_user_data(sk); csk 489 drivers/crypto/chelsio/chtls/chtls_io.c hws = &csk->tlshws; csk 514 drivers/crypto/chelsio/chtls/chtls_io.c struct chtls_sock *csk; csk 517 drivers/crypto/chelsio/chtls/chtls_io.c csk = rcu_dereference_sk_user_data(sk); csk 524 drivers/crypto/chelsio/chtls/chtls_io.c req->flowid_len16 = htonl(FW_WR_FLOWID_V(csk->tid) | csk 527 drivers/crypto/chelsio/chtls/chtls_io.c wr_ulp_mode_force = TX_ULP_MODE_V(csk->ulp_mode); csk 536 drivers/crypto/chelsio/chtls/chtls_io.c skb_queue_empty(&csk->txq))); csk 540 drivers/crypto/chelsio/chtls/chtls_io.c static int chtls_wr_size(struct chtls_sock *csk, const struct sk_buff *skb, csk 547 drivers/crypto/chelsio/chtls/chtls_io.c wr_size += ivs_size(csk->sk, skb); csk 559 drivers/crypto/chelsio/chtls/chtls_io.c static bool is_ofld_imm(struct chtls_sock *csk, const struct sk_buff *skb) csk 568 drivers/crypto/chelsio/chtls/chtls_io.c if (csk->ulp_mode == ULP_MODE_TLS && csk 570 drivers/crypto/chelsio/chtls/chtls_io.c length += chtls_wr_size(csk, skb, true); csk 596 drivers/crypto/chelsio/chtls/chtls_io.c int chtls_push_frames(struct chtls_sock *csk, int comp) csk 598 drivers/crypto/chelsio/chtls/chtls_io.c struct chtls_hws *hws = &csk->tlshws; csk 606 drivers/crypto/chelsio/chtls/chtls_io.c sk = csk->sk; csk 615 drivers/crypto/chelsio/chtls/chtls_io.c while (csk->wr_credits && (skb = skb_peek(&csk->txq)) && csk 617 drivers/crypto/chelsio/chtls/chtls_io.c skb_queue_len(&csk->txq) > 1)) { csk 628 drivers/crypto/chelsio/chtls/chtls_io.c if (!is_ofld_imm(csk, skb)) { csk 631 drivers/crypto/chelsio/chtls/chtls_io.c wr_size = chtls_wr_size(csk, skb, false); csk 635 drivers/crypto/chelsio/chtls/chtls_io.c wr_size = chtls_wr_size(csk, skb, false); csk 642 drivers/crypto/chelsio/chtls/chtls_io.c if (!csk_flag_nochk(csk, CSK_TX_DATA_SENT)) { csk 647 drivers/crypto/chelsio/chtls/chtls_io.c csk->wr_credits -= flowclen16; csk 648 drivers/crypto/chelsio/chtls/chtls_io.c csk->wr_unacked += flowclen16; csk 649 drivers/crypto/chelsio/chtls/chtls_io.c csk->wr_nondata += flowclen16; csk 650 drivers/crypto/chelsio/chtls/chtls_io.c csk_set_flag(csk, CSK_TX_DATA_SENT); csk 653 drivers/crypto/chelsio/chtls/chtls_io.c if (csk->wr_credits < credits_needed) { csk 660 drivers/crypto/chelsio/chtls/chtls_io.c __skb_unlink(skb, &csk->txq); csk 661 drivers/crypto/chelsio/chtls/chtls_io.c skb_set_queue_mapping(skb, (csk->txq_idx << 1) | csk 665 drivers/crypto/chelsio/chtls/chtls_io.c skb->csum = (__force __wsum)(credits_needed + csk->wr_nondata); csk 666 drivers/crypto/chelsio/chtls/chtls_io.c csk->wr_credits -= credits_needed; csk 667 drivers/crypto/chelsio/chtls/chtls_io.c csk->wr_unacked += credits_needed; csk 668 drivers/crypto/chelsio/chtls/chtls_io.c csk->wr_nondata = 0; csk 669 drivers/crypto/chelsio/chtls/chtls_io.c enqueue_wr(csk, skb); csk 672 drivers/crypto/chelsio/chtls/chtls_io.c if ((comp && csk->wr_unacked == credits_needed) || csk 674 drivers/crypto/chelsio/chtls/chtls_io.c csk->wr_unacked >= csk->wr_max_credits / 2) { csk 676 drivers/crypto/chelsio/chtls/chtls_io.c csk->wr_unacked = 0; csk 694 drivers/crypto/chelsio/chtls/chtls_io.c csk_set_flag(csk, csk 698 drivers/crypto/chelsio/chtls/chtls_io.c (csk->wr_unacked >= csk->wr_max_credits / 2)) { csk 700 drivers/crypto/chelsio/chtls/chtls_io.c csk->wr_unacked = 0; csk 705 drivers/crypto/chelsio/chtls/chtls_io.c csk_set_flag(csk, CSK_TX_WAIT_IDLE); csk 707 drivers/crypto/chelsio/chtls/chtls_io.c cxgb4_l2t_send(csk->egress_dev, skb, csk->l2t_entry); csk 730 drivers/crypto/chelsio/chtls/chtls_io.c struct chtls_sock *csk = rcu_dereference_sk_user_data(sk); csk 731 drivers/crypto/chelsio/chtls/chtls_io.c struct chtls_dev *cdev = csk->cdev; csk 745 drivers/crypto/chelsio/chtls/chtls_io.c return csk->wr_credits == csk->wr_max_credits || csk 767 drivers/crypto/chelsio/chtls/chtls_io.c struct chtls_sock *csk = rcu_dereference_sk_user_data(sk); csk 768 drivers/crypto/chelsio/chtls/chtls_io.c int qlen = skb_queue_len(&csk->txq); csk 771 drivers/crypto/chelsio/chtls/chtls_io.c struct sk_buff *skb = skb_peek_tail(&csk->txq); csk 786 drivers/crypto/chelsio/chtls/chtls_io.c chtls_push_frames(csk, 1); csk 821 drivers/crypto/chelsio/chtls/chtls_io.c struct chtls_sock *csk = rcu_dereference_sk_user_data(sk); csk 826 drivers/crypto/chelsio/chtls/chtls_io.c __skb_queue_tail(&csk->txq, skb); csk 851 drivers/crypto/chelsio/chtls/chtls_io.c struct chtls_sock *csk = rcu_dereference_sk_user_data(sk); csk 863 drivers/crypto/chelsio/chtls/chtls_io.c ULP_SKB_CB(skb)->ulp.tls.type = csk->tlshws.type; csk 879 drivers/crypto/chelsio/chtls/chtls_io.c struct chtls_sock *csk = rcu_dereference_sk_user_data(sk); csk 881 drivers/crypto/chelsio/chtls/chtls_io.c if (skb_queue_len(&csk->txq) == 1) csk 882 drivers/crypto/chelsio/chtls/chtls_io.c chtls_push_frames(csk, 1); csk 986 drivers/crypto/chelsio/chtls/chtls_io.c struct chtls_sock *csk = rcu_dereference_sk_user_data(sk); csk 987 drivers/crypto/chelsio/chtls/chtls_io.c struct chtls_dev *cdev = csk->cdev; csk 1010 drivers/crypto/chelsio/chtls/chtls_io.c mss = csk->mss; csk 1011 drivers/crypto/chelsio/chtls/chtls_io.c csk_set_flag(csk, CSK_TX_MORE_DATA); csk 1016 drivers/crypto/chelsio/chtls/chtls_io.c skb = skb_peek_tail(&csk->txq); csk 1024 drivers/crypto/chelsio/chtls/chtls_io.c if (is_tls_tx(csk) && !csk->tlshws.txleft) { csk 1030 drivers/crypto/chelsio/chtls/chtls_io.c csk->tlshws.txleft = recordsz; csk 1031 drivers/crypto/chelsio/chtls/chtls_io.c csk->tlshws.type = hdr.type; csk 1044 drivers/crypto/chelsio/chtls/chtls_io.c if (is_tls_tx(csk)) { csk 1067 drivers/crypto/chelsio/chtls/chtls_io.c if (is_tls_tx(csk)) csk 1068 drivers/crypto/chelsio/chtls/chtls_io.c copy = min_t(int, copy, csk->tlshws.txleft); csk 1088 drivers/crypto/chelsio/chtls/chtls_io.c if (i == (is_tls_tx(csk) ? (MAX_SKB_FRAGS - 1) : csk 1121 drivers/crypto/chelsio/chtls/chtls_io.c if (is_tls_tx(csk)) csk 1122 drivers/crypto/chelsio/chtls/chtls_io.c copy = min_t(int, copy, csk->tlshws.txleft); csk 1157 drivers/crypto/chelsio/chtls/chtls_io.c if (is_tls_tx(csk)) csk 1158 drivers/crypto/chelsio/chtls/chtls_io.c csk->tlshws.txleft -= copy; csk 1178 drivers/crypto/chelsio/chtls/chtls_io.c csk_reset_flag(csk, CSK_TX_MORE_DATA); csk 1186 drivers/crypto/chelsio/chtls/chtls_io.c __skb_unlink(skb, &csk->txq); csk 1194 drivers/crypto/chelsio/chtls/chtls_io.c if (csk_conn_inline(csk)) csk 1195 drivers/crypto/chelsio/chtls/chtls_io.c csk_reset_flag(csk, CSK_TX_MORE_DATA); csk 1203 drivers/crypto/chelsio/chtls/chtls_io.c struct chtls_sock *csk; csk 1211 drivers/crypto/chelsio/chtls/chtls_io.c csk = rcu_dereference_sk_user_data(sk); csk 1212 drivers/crypto/chelsio/chtls/chtls_io.c cdev = csk->cdev; csk 1220 drivers/crypto/chelsio/chtls/chtls_io.c mss = csk->mss; csk 1221 drivers/crypto/chelsio/chtls/chtls_io.c csk_set_flag(csk, CSK_TX_MORE_DATA); csk 1224 drivers/crypto/chelsio/chtls/chtls_io.c struct sk_buff *skb = skb_peek_tail(&csk->txq); csk 1233 drivers/crypto/chelsio/chtls/chtls_io.c if (is_tls_tx(csk)) { csk 1290 drivers/crypto/chelsio/chtls/chtls_io.c csk_reset_flag(csk, CSK_TX_MORE_DATA); csk 1302 drivers/crypto/chelsio/chtls/chtls_io.c if (csk_conn_inline(csk)) csk 1303 drivers/crypto/chelsio/chtls/chtls_io.c csk_reset_flag(csk, CSK_TX_MORE_DATA); csk 1310 drivers/crypto/chelsio/chtls/chtls_io.c struct chtls_sock *csk = rcu_dereference_sk_user_data(sk); csk 1330 drivers/crypto/chelsio/chtls/chtls_io.c csk_reset_flag(csk, CSK_UPDATE_RCV_WND); csk 1339 drivers/crypto/chelsio/chtls/chtls_io.c static u32 send_rx_credits(struct chtls_sock *csk, u32 credits) csk 1350 drivers/crypto/chelsio/chtls/chtls_io.c set_wr_txq(skb, CPL_PRIORITY_ACK, csk->port_id); csk 1351 drivers/crypto/chelsio/chtls/chtls_io.c INIT_TP_WR(req, csk->tid); csk 1353 drivers/crypto/chelsio/chtls/chtls_io.c csk->tid)); csk 1356 drivers/crypto/chelsio/chtls/chtls_io.c cxgb4_ofld_send(csk->cdev->ports[csk->port_id], skb); csk 1370 drivers/crypto/chelsio/chtls/chtls_io.c struct chtls_sock *csk = rcu_dereference_sk_user_data(sk); csk 1394 drivers/crypto/chelsio/chtls/chtls_io.c tp->rcv_wup += send_rx_credits(csk, credits); csk 1400 drivers/crypto/chelsio/chtls/chtls_io.c struct chtls_sock *csk = rcu_dereference_sk_user_data(sk); csk 1401 drivers/crypto/chelsio/chtls/chtls_io.c struct chtls_hws *hws = &csk->tlshws; csk 1434 drivers/crypto/chelsio/chtls/chtls_io.c if (csk->wr_credits && csk 1435 drivers/crypto/chelsio/chtls/chtls_io.c skb_queue_len(&csk->txq) && csk 1436 drivers/crypto/chelsio/chtls/chtls_io.c chtls_push_frames(csk, csk->wr_credits == csk 1437 drivers/crypto/chelsio/chtls/chtls_io.c csk->wr_max_credits)) csk 1688 drivers/crypto/chelsio/chtls/chtls_io.c struct chtls_sock *csk; csk 1710 drivers/crypto/chelsio/chtls/chtls_io.c csk = rcu_dereference_sk_user_data(sk); csk 1712 drivers/crypto/chelsio/chtls/chtls_io.c if (is_tls_rx(csk)) csk 1740 drivers/crypto/chelsio/chtls/chtls_io.c if (csk->wr_credits && csk 1741 drivers/crypto/chelsio/chtls/chtls_io.c skb_queue_len(&csk->txq) && csk 1742 drivers/crypto/chelsio/chtls/chtls_io.c chtls_push_frames(csk, csk->wr_credits == csk 1743 drivers/crypto/chelsio/chtls/chtls_io.c csk->wr_max_credits)) csk 487 drivers/crypto/chelsio/chtls/chtls_main.c struct chtls_sock *csk; csk 491 drivers/crypto/chelsio/chtls/chtls_main.c csk = rcu_dereference_sk_user_data(sk); csk 510 drivers/crypto/chelsio/chtls/chtls_main.c crypto_info = (struct tls_crypto_info *)&csk->tlshws.crypto_info; csk 528 drivers/crypto/chelsio/chtls/chtls_main.c rc = chtls_setkey(csk, keylen, optname); csk 469 drivers/isdn/mISDN/socket.c struct sock *csk; csk 493 drivers/isdn/mISDN/socket.c sk_for_each(csk, &data_sockets.head) { csk 494 drivers/isdn/mISDN/socket.c if (sk == csk) csk 496 drivers/isdn/mISDN/socket.c if (_pms(csk)->dev != _pms(sk)->dev) csk 498 drivers/isdn/mISDN/socket.c if (csk->sk_protocol >= ISDN_P_B_START) csk 500 drivers/isdn/mISDN/socket.c if (IS_ISDN_P_TE(csk->sk_protocol) csk 152 drivers/net/ethernet/broadcom/cnic.c static inline void csk_hold(struct cnic_sock *csk) csk 154 drivers/net/ethernet/broadcom/cnic.c atomic_inc(&csk->ref_count); csk 157 drivers/net/ethernet/broadcom/cnic.c static inline void csk_put(struct cnic_sock *csk) csk 159 drivers/net/ethernet/broadcom/cnic.c atomic_dec(&csk->ref_count); csk 285 drivers/net/ethernet/broadcom/cnic.c static int cnic_in_use(struct cnic_sock *csk) csk 287 drivers/net/ethernet/broadcom/cnic.c return test_bit(SK_F_INUSE, &csk->flags); csk 319 drivers/net/ethernet/broadcom/cnic.c struct cnic_sock *csk) csk 332 drivers/net/ethernet/broadcom/cnic.c if (csk) { csk 338 drivers/net/ethernet/broadcom/cnic.c path_req.handle = (u64) csk->l5_cid; csk 339 drivers/net/ethernet/broadcom/cnic.c if (test_bit(SK_F_IPV6, &csk->flags)) { csk 340 drivers/net/ethernet/broadcom/cnic.c memcpy(&path_req.dst.v6_addr, &csk->dst_ip[0], csk 344 drivers/net/ethernet/broadcom/cnic.c memcpy(&path_req.dst.v4_addr, &csk->dst_ip[0], csk 348 drivers/net/ethernet/broadcom/cnic.c path_req.vlan_id = csk->vlan_id; csk 349 drivers/net/ethernet/broadcom/cnic.c path_req.pmtu = csk->mtu; csk 381 drivers/net/ethernet/broadcom/cnic.c struct cnic_sock *csk; csk 397 drivers/net/ethernet/broadcom/cnic.c csk = &cp->csk_tbl[l5_cid]; csk 398 drivers/net/ethernet/broadcom/cnic.c csk_hold(csk); csk 399 drivers/net/ethernet/broadcom/cnic.c if (cnic_in_use(csk) && csk 400 drivers/net/ethernet/broadcom/cnic.c test_bit(SK_F_CONNECT_START, &csk->flags)) { csk 402 drivers/net/ethernet/broadcom/cnic.c csk->vlan_id = path_resp->vlan_id; csk 404 drivers/net/ethernet/broadcom/cnic.c memcpy(csk->ha, path_resp->mac_addr, ETH_ALEN); csk 405 drivers/net/ethernet/broadcom/cnic.c if (test_bit(SK_F_IPV6, &csk->flags)) csk 406 drivers/net/ethernet/broadcom/cnic.c memcpy(&csk->src_ip[0], &path_resp->src.v6_addr, csk 409 drivers/net/ethernet/broadcom/cnic.c memcpy(&csk->src_ip[0], &path_resp->src.v4_addr, csk 412 drivers/net/ethernet/broadcom/cnic.c if (is_valid_ether_addr(csk->ha)) { csk 413 drivers/net/ethernet/broadcom/cnic.c cnic_cm_set_pg(csk); csk 414 drivers/net/ethernet/broadcom/cnic.c } else if (!test_bit(SK_F_OFFLD_SCHED, &csk->flags) && csk 415 drivers/net/ethernet/broadcom/cnic.c !test_bit(SK_F_OFFLD_COMPLETE, &csk->flags)) { csk 417 drivers/net/ethernet/broadcom/cnic.c cnic_cm_upcall(cp, csk, csk 419 drivers/net/ethernet/broadcom/cnic.c clear_bit(SK_F_CONNECT_START, &csk->flags); csk 422 drivers/net/ethernet/broadcom/cnic.c csk_put(csk); csk 430 drivers/net/ethernet/broadcom/cnic.c static int cnic_offld_prep(struct cnic_sock *csk) csk 432 drivers/net/ethernet/broadcom/cnic.c if (test_and_set_bit(SK_F_OFFLD_SCHED, &csk->flags)) csk 435 drivers/net/ethernet/broadcom/cnic.c if (!test_bit(SK_F_CONNECT_START, &csk->flags)) { csk 436 drivers/net/ethernet/broadcom/cnic.c clear_bit(SK_F_OFFLD_SCHED, &csk->flags); csk 443 drivers/net/ethernet/broadcom/cnic.c static int cnic_close_prep(struct cnic_sock *csk) csk 445 drivers/net/ethernet/broadcom/cnic.c clear_bit(SK_F_CONNECT_START, &csk->flags); csk 448 drivers/net/ethernet/broadcom/cnic.c if (test_and_clear_bit(SK_F_OFFLD_COMPLETE, &csk->flags)) { csk 449 drivers/net/ethernet/broadcom/cnic.c while (test_and_set_bit(SK_F_OFFLD_SCHED, &csk->flags)) csk 457 drivers/net/ethernet/broadcom/cnic.c static int cnic_abort_prep(struct cnic_sock *csk) csk 459 drivers/net/ethernet/broadcom/cnic.c clear_bit(SK_F_CONNECT_START, &csk->flags); csk 462 drivers/net/ethernet/broadcom/cnic.c while (test_and_set_bit(SK_F_OFFLD_SCHED, &csk->flags)) csk 465 drivers/net/ethernet/broadcom/cnic.c if (test_and_clear_bit(SK_F_OFFLD_COMPLETE, &csk->flags)) { csk 466 drivers/net/ethernet/broadcom/cnic.c csk->state = L4_KCQE_OPCODE_VALUE_RESET_COMP; csk 2131 drivers/net/ethernet/broadcom/cnic.c struct cnic_sock *csk = &cp->csk_tbl[l5_cid]; csk 2161 drivers/net/ethernet/broadcom/cnic.c conn_addr->remote_addr_0 = csk->ha[0]; csk 2162 drivers/net/ethernet/broadcom/cnic.c conn_addr->remote_addr_1 = csk->ha[1]; csk 2163 drivers/net/ethernet/broadcom/cnic.c conn_addr->remote_addr_2 = csk->ha[2]; csk 2164 drivers/net/ethernet/broadcom/cnic.c conn_addr->remote_addr_3 = csk->ha[3]; csk 2165 drivers/net/ethernet/broadcom/cnic.c conn_addr->remote_addr_4 = csk->ha[4]; csk 2166 drivers/net/ethernet/broadcom/cnic.c conn_addr->remote_addr_5 = csk->ha[5]; csk 2192 drivers/net/ethernet/broadcom/cnic.c XSTORM_ISCSI_LOCAL_VLAN_OFFSET(bp->pfid), csk->vlan_id); csk 3376 drivers/net/ethernet/broadcom/cnic.c static int cnic_cm_offload_pg(struct cnic_sock *csk) csk 3378 drivers/net/ethernet/broadcom/cnic.c struct cnic_dev *dev = csk->dev; csk 3382 drivers/net/ethernet/broadcom/cnic.c l4kwqe = (struct l4_kwq_offload_pg *) &csk->kwqe1; csk 3391 drivers/net/ethernet/broadcom/cnic.c l4kwqe->da0 = csk->ha[0]; csk 3392 drivers/net/ethernet/broadcom/cnic.c l4kwqe->da1 = csk->ha[1]; csk 3393 drivers/net/ethernet/broadcom/cnic.c l4kwqe->da2 = csk->ha[2]; csk 3394 drivers/net/ethernet/broadcom/cnic.c l4kwqe->da3 = csk->ha[3]; csk 3395 drivers/net/ethernet/broadcom/cnic.c l4kwqe->da4 = csk->ha[4]; csk 3396 drivers/net/ethernet/broadcom/cnic.c l4kwqe->da5 = csk->ha[5]; csk 3407 drivers/net/ethernet/broadcom/cnic.c l4kwqe->host_opaque = csk->l5_cid; csk 3409 drivers/net/ethernet/broadcom/cnic.c if (csk->vlan_id) { csk 3411 drivers/net/ethernet/broadcom/cnic.c l4kwqe->vlan_tag = csk->vlan_id; csk 3418 drivers/net/ethernet/broadcom/cnic.c static int cnic_cm_update_pg(struct cnic_sock *csk) csk 3420 drivers/net/ethernet/broadcom/cnic.c struct cnic_dev *dev = csk->dev; csk 3424 drivers/net/ethernet/broadcom/cnic.c l4kwqe = (struct l4_kwq_update_pg *) &csk->kwqe1; csk 3431 drivers/net/ethernet/broadcom/cnic.c l4kwqe->pg_cid = csk->pg_cid; csk 3433 drivers/net/ethernet/broadcom/cnic.c l4kwqe->da0 = csk->ha[0]; csk 3434 drivers/net/ethernet/broadcom/cnic.c l4kwqe->da1 = csk->ha[1]; csk 3435 drivers/net/ethernet/broadcom/cnic.c l4kwqe->da2 = csk->ha[2]; csk 3436 drivers/net/ethernet/broadcom/cnic.c l4kwqe->da3 = csk->ha[3]; csk 3437 drivers/net/ethernet/broadcom/cnic.c l4kwqe->da4 = csk->ha[4]; csk 3438 drivers/net/ethernet/broadcom/cnic.c l4kwqe->da5 = csk->ha[5]; csk 3440 drivers/net/ethernet/broadcom/cnic.c l4kwqe->pg_host_opaque = csk->l5_cid; csk 3446 drivers/net/ethernet/broadcom/cnic.c static int cnic_cm_upload_pg(struct cnic_sock *csk) csk 3448 drivers/net/ethernet/broadcom/cnic.c struct cnic_dev *dev = csk->dev; csk 3452 drivers/net/ethernet/broadcom/cnic.c l4kwqe = (struct l4_kwq_upload *) &csk->kwqe1; csk 3459 drivers/net/ethernet/broadcom/cnic.c l4kwqe->cid = csk->pg_cid; csk 3464 drivers/net/ethernet/broadcom/cnic.c static int cnic_cm_conn_req(struct cnic_sock *csk) csk 3466 drivers/net/ethernet/broadcom/cnic.c struct cnic_dev *dev = csk->dev; csk 3474 drivers/net/ethernet/broadcom/cnic.c l4kwqe1 = (struct l4_kwq_connect_req1 *) &csk->kwqe1; csk 3475 drivers/net/ethernet/broadcom/cnic.c l4kwqe2 = (struct l4_kwq_connect_req2 *) &csk->kwqe2; csk 3476 drivers/net/ethernet/broadcom/cnic.c l4kwqe3 = (struct l4_kwq_connect_req3 *) &csk->kwqe3; csk 3484 drivers/net/ethernet/broadcom/cnic.c l4kwqe3->ka_timeout = csk->ka_timeout; csk 3485 drivers/net/ethernet/broadcom/cnic.c l4kwqe3->ka_interval = csk->ka_interval; csk 3486 drivers/net/ethernet/broadcom/cnic.c l4kwqe3->ka_max_probe_count = csk->ka_max_probe_count; csk 3487 drivers/net/ethernet/broadcom/cnic.c l4kwqe3->tos = csk->tos; csk 3488 drivers/net/ethernet/broadcom/cnic.c l4kwqe3->ttl = csk->ttl; csk 3489 drivers/net/ethernet/broadcom/cnic.c l4kwqe3->snd_seq_scale = csk->snd_seq_scale; csk 3490 drivers/net/ethernet/broadcom/cnic.c l4kwqe3->pmtu = csk->mtu; csk 3491 drivers/net/ethernet/broadcom/cnic.c l4kwqe3->rcv_buf = csk->rcv_buf; csk 3492 drivers/net/ethernet/broadcom/cnic.c l4kwqe3->snd_buf = csk->snd_buf; csk 3493 drivers/net/ethernet/broadcom/cnic.c l4kwqe3->seed = csk->seed; csk 3496 drivers/net/ethernet/broadcom/cnic.c if (test_bit(SK_F_IPV6, &csk->flags)) { csk 3506 drivers/net/ethernet/broadcom/cnic.c l4kwqe2->src_ip_v6_2 = be32_to_cpu(csk->src_ip[1]); csk 3507 drivers/net/ethernet/broadcom/cnic.c l4kwqe2->src_ip_v6_3 = be32_to_cpu(csk->src_ip[2]); csk 3508 drivers/net/ethernet/broadcom/cnic.c l4kwqe2->src_ip_v6_4 = be32_to_cpu(csk->src_ip[3]); csk 3509 drivers/net/ethernet/broadcom/cnic.c l4kwqe2->dst_ip_v6_2 = be32_to_cpu(csk->dst_ip[1]); csk 3510 drivers/net/ethernet/broadcom/cnic.c l4kwqe2->dst_ip_v6_3 = be32_to_cpu(csk->dst_ip[2]); csk 3511 drivers/net/ethernet/broadcom/cnic.c l4kwqe2->dst_ip_v6_4 = be32_to_cpu(csk->dst_ip[3]); csk 3524 drivers/net/ethernet/broadcom/cnic.c l4kwqe1->cid = csk->cid; csk 3525 drivers/net/ethernet/broadcom/cnic.c l4kwqe1->pg_cid = csk->pg_cid; csk 3526 drivers/net/ethernet/broadcom/cnic.c l4kwqe1->src_ip = be32_to_cpu(csk->src_ip[0]); csk 3527 drivers/net/ethernet/broadcom/cnic.c l4kwqe1->dst_ip = be32_to_cpu(csk->dst_ip[0]); csk 3528 drivers/net/ethernet/broadcom/cnic.c l4kwqe1->src_port = be16_to_cpu(csk->src_port); csk 3529 drivers/net/ethernet/broadcom/cnic.c l4kwqe1->dst_port = be16_to_cpu(csk->dst_port); csk 3530 drivers/net/ethernet/broadcom/cnic.c if (csk->tcp_flags & SK_TCP_NO_DELAY_ACK) csk 3532 drivers/net/ethernet/broadcom/cnic.c if (csk->tcp_flags & SK_TCP_KEEP_ALIVE) csk 3534 drivers/net/ethernet/broadcom/cnic.c if (csk->tcp_flags & SK_TCP_NAGLE) csk 3536 drivers/net/ethernet/broadcom/cnic.c if (csk->tcp_flags & SK_TCP_TIMESTAMP) csk 3538 drivers/net/ethernet/broadcom/cnic.c if (csk->tcp_flags & SK_TCP_SACK) csk 3540 drivers/net/ethernet/broadcom/cnic.c if (csk->tcp_flags & SK_TCP_SEG_SCALING) csk 3548 drivers/net/ethernet/broadcom/cnic.c static int cnic_cm_close_req(struct cnic_sock *csk) csk 3550 drivers/net/ethernet/broadcom/cnic.c struct cnic_dev *dev = csk->dev; csk 3554 drivers/net/ethernet/broadcom/cnic.c l4kwqe = (struct l4_kwq_close_req *) &csk->kwqe2; csk 3560 drivers/net/ethernet/broadcom/cnic.c l4kwqe->cid = csk->cid; csk 3565 drivers/net/ethernet/broadcom/cnic.c static int cnic_cm_abort_req(struct cnic_sock *csk) csk 3567 drivers/net/ethernet/broadcom/cnic.c struct cnic_dev *dev = csk->dev; csk 3571 drivers/net/ethernet/broadcom/cnic.c l4kwqe = (struct l4_kwq_reset_req *) &csk->kwqe2; csk 3577 drivers/net/ethernet/broadcom/cnic.c l4kwqe->cid = csk->cid; csk 3583 drivers/net/ethernet/broadcom/cnic.c u32 l5_cid, struct cnic_sock **csk, void *context) csk 3622 drivers/net/ethernet/broadcom/cnic.c *csk = csk1; csk 3626 drivers/net/ethernet/broadcom/cnic.c static void cnic_cm_cleanup(struct cnic_sock *csk) csk 3628 drivers/net/ethernet/broadcom/cnic.c if (csk->src_port) { csk 3629 drivers/net/ethernet/broadcom/cnic.c struct cnic_dev *dev = csk->dev; csk 3632 drivers/net/ethernet/broadcom/cnic.c cnic_free_id(&cp->csk_port_tbl, be16_to_cpu(csk->src_port)); csk 3633 drivers/net/ethernet/broadcom/cnic.c csk->src_port = 0; csk 3637 drivers/net/ethernet/broadcom/cnic.c static void cnic_close_conn(struct cnic_sock *csk) csk 3639 drivers/net/ethernet/broadcom/cnic.c if (test_bit(SK_F_PG_OFFLD_COMPLETE, &csk->flags)) { csk 3640 drivers/net/ethernet/broadcom/cnic.c cnic_cm_upload_pg(csk); csk 3641 drivers/net/ethernet/broadcom/cnic.c clear_bit(SK_F_PG_OFFLD_COMPLETE, &csk->flags); csk 3643 drivers/net/ethernet/broadcom/cnic.c cnic_cm_cleanup(csk); csk 3646 drivers/net/ethernet/broadcom/cnic.c static int cnic_cm_destroy(struct cnic_sock *csk) csk 3648 drivers/net/ethernet/broadcom/cnic.c if (!cnic_in_use(csk)) csk 3651 drivers/net/ethernet/broadcom/cnic.c csk_hold(csk); csk 3652 drivers/net/ethernet/broadcom/cnic.c clear_bit(SK_F_INUSE, &csk->flags); csk 3654 drivers/net/ethernet/broadcom/cnic.c while (atomic_read(&csk->ref_count) != 1) csk 3656 drivers/net/ethernet/broadcom/cnic.c cnic_cm_cleanup(csk); csk 3658 drivers/net/ethernet/broadcom/cnic.c csk->flags = 0; csk 3659 drivers/net/ethernet/broadcom/cnic.c csk_put(csk); csk 3749 drivers/net/ethernet/broadcom/cnic.c static int cnic_resolve_addr(struct cnic_sock *csk, struct cnic_sockaddr *saddr) csk 3751 drivers/net/ethernet/broadcom/cnic.c struct cnic_dev *dev = csk->dev; csk 3754 drivers/net/ethernet/broadcom/cnic.c return cnic_send_nlmsg(cp, ISCSI_KEVENT_PATH_REQ, csk); csk 3757 drivers/net/ethernet/broadcom/cnic.c static int cnic_get_route(struct cnic_sock *csk, struct cnic_sockaddr *saddr) csk 3759 drivers/net/ethernet/broadcom/cnic.c struct cnic_dev *dev = csk->dev; csk 3776 drivers/net/ethernet/broadcom/cnic.c clear_bit(SK_F_IPV6, &csk->flags); csk 3779 drivers/net/ethernet/broadcom/cnic.c set_bit(SK_F_IPV6, &csk->flags); csk 3782 drivers/net/ethernet/broadcom/cnic.c memcpy(&csk->dst_ip[0], &saddr->remote.v6.sin6_addr, csk 3784 drivers/net/ethernet/broadcom/cnic.c csk->dst_port = saddr->remote.v6.sin6_port; csk 3790 drivers/net/ethernet/broadcom/cnic.c csk->dst_ip[0] = saddr->remote.v4.sin_addr.s_addr; csk 3791 drivers/net/ethernet/broadcom/cnic.c csk->dst_port = saddr->remote.v4.sin_port; csk 3795 drivers/net/ethernet/broadcom/cnic.c csk->vlan_id = 0; csk 3796 drivers/net/ethernet/broadcom/cnic.c csk->mtu = dev->netdev->mtu; csk 3800 drivers/net/ethernet/broadcom/cnic.c csk->vlan_id = vlan; csk 3801 drivers/net/ethernet/broadcom/cnic.c csk->mtu = dst_mtu(dst); csk 3821 drivers/net/ethernet/broadcom/cnic.c csk->src_port = local_port; csk 3828 drivers/net/ethernet/broadcom/cnic.c static void cnic_init_csk_state(struct cnic_sock *csk) csk 3830 drivers/net/ethernet/broadcom/cnic.c csk->state = 0; csk 3831 drivers/net/ethernet/broadcom/cnic.c clear_bit(SK_F_OFFLD_SCHED, &csk->flags); csk 3832 drivers/net/ethernet/broadcom/cnic.c clear_bit(SK_F_CLOSING, &csk->flags); csk 3835 drivers/net/ethernet/broadcom/cnic.c static int cnic_cm_connect(struct cnic_sock *csk, struct cnic_sockaddr *saddr) csk 3837 drivers/net/ethernet/broadcom/cnic.c struct cnic_local *cp = csk->dev->cnic_priv; csk 3843 drivers/net/ethernet/broadcom/cnic.c if (!cnic_in_use(csk)) csk 3846 drivers/net/ethernet/broadcom/cnic.c if (test_and_set_bit(SK_F_CONNECT_START, &csk->flags)) csk 3849 drivers/net/ethernet/broadcom/cnic.c cnic_init_csk_state(csk); csk 3851 drivers/net/ethernet/broadcom/cnic.c err = cnic_get_route(csk, saddr); csk 3855 drivers/net/ethernet/broadcom/cnic.c err = cnic_resolve_addr(csk, saddr); csk 3860 drivers/net/ethernet/broadcom/cnic.c clear_bit(SK_F_CONNECT_START, &csk->flags); csk 3864 drivers/net/ethernet/broadcom/cnic.c static int cnic_cm_abort(struct cnic_sock *csk) csk 3866 drivers/net/ethernet/broadcom/cnic.c struct cnic_local *cp = csk->dev->cnic_priv; csk 3869 drivers/net/ethernet/broadcom/cnic.c if (!cnic_in_use(csk)) csk 3872 drivers/net/ethernet/broadcom/cnic.c if (cnic_abort_prep(csk)) csk 3873 drivers/net/ethernet/broadcom/cnic.c return cnic_cm_abort_req(csk); csk 3879 drivers/net/ethernet/broadcom/cnic.c cp->close_conn(csk, opcode); csk 3880 drivers/net/ethernet/broadcom/cnic.c if (csk->state != opcode) { csk 3882 drivers/net/ethernet/broadcom/cnic.c while (test_bit(SK_F_PG_OFFLD_COMPLETE, &csk->flags)) csk 3891 drivers/net/ethernet/broadcom/cnic.c static int cnic_cm_close(struct cnic_sock *csk) csk 3893 drivers/net/ethernet/broadcom/cnic.c if (!cnic_in_use(csk)) csk 3896 drivers/net/ethernet/broadcom/cnic.c if (cnic_close_prep(csk)) { csk 3897 drivers/net/ethernet/broadcom/cnic.c csk->state = L4_KCQE_OPCODE_VALUE_CLOSE_COMP; csk 3898 drivers/net/ethernet/broadcom/cnic.c return cnic_cm_close_req(csk); csk 3901 drivers/net/ethernet/broadcom/cnic.c while (test_bit(SK_F_PG_OFFLD_COMPLETE, &csk->flags)) csk 3909 drivers/net/ethernet/broadcom/cnic.c static void cnic_cm_upcall(struct cnic_local *cp, struct cnic_sock *csk, csk 3913 drivers/net/ethernet/broadcom/cnic.c int ulp_type = csk->ulp_type; csk 3919 drivers/net/ethernet/broadcom/cnic.c ulp_ops->cm_connect_complete(csk); csk 3921 drivers/net/ethernet/broadcom/cnic.c ulp_ops->cm_close_complete(csk); csk 3923 drivers/net/ethernet/broadcom/cnic.c ulp_ops->cm_remote_abort(csk); csk 3925 drivers/net/ethernet/broadcom/cnic.c ulp_ops->cm_abort_complete(csk); csk 3927 drivers/net/ethernet/broadcom/cnic.c ulp_ops->cm_remote_close(csk); csk 3932 drivers/net/ethernet/broadcom/cnic.c static int cnic_cm_set_pg(struct cnic_sock *csk) csk 3934 drivers/net/ethernet/broadcom/cnic.c if (cnic_offld_prep(csk)) { csk 3935 drivers/net/ethernet/broadcom/cnic.c if (test_bit(SK_F_PG_OFFLD_COMPLETE, &csk->flags)) csk 3936 drivers/net/ethernet/broadcom/cnic.c cnic_cm_update_pg(csk); csk 3938 drivers/net/ethernet/broadcom/cnic.c cnic_cm_offload_pg(csk); csk 3948 drivers/net/ethernet/broadcom/cnic.c struct cnic_sock *csk = &cp->csk_tbl[l5_cid]; csk 3950 drivers/net/ethernet/broadcom/cnic.c csk_hold(csk); csk 3951 drivers/net/ethernet/broadcom/cnic.c if (!cnic_in_use(csk)) csk 3955 drivers/net/ethernet/broadcom/cnic.c clear_bit(SK_F_OFFLD_SCHED, &csk->flags); csk 3960 drivers/net/ethernet/broadcom/cnic.c clear_bit(SK_F_OFFLD_SCHED, &csk->flags); csk 3961 drivers/net/ethernet/broadcom/cnic.c cnic_cm_upcall(cp, csk, csk 3966 drivers/net/ethernet/broadcom/cnic.c csk->pg_cid = kcqe->pg_cid; csk 3967 drivers/net/ethernet/broadcom/cnic.c set_bit(SK_F_PG_OFFLD_COMPLETE, &csk->flags); csk 3968 drivers/net/ethernet/broadcom/cnic.c cnic_cm_conn_req(csk); csk 3971 drivers/net/ethernet/broadcom/cnic.c csk_put(csk); csk 3992 drivers/net/ethernet/broadcom/cnic.c struct cnic_sock *csk; csk 4010 drivers/net/ethernet/broadcom/cnic.c csk = &cp->csk_tbl[l5_cid]; csk 4011 drivers/net/ethernet/broadcom/cnic.c csk_hold(csk); csk 4013 drivers/net/ethernet/broadcom/cnic.c if (!cnic_in_use(csk)) { csk 4014 drivers/net/ethernet/broadcom/cnic.c csk_put(csk); csk 4021 drivers/net/ethernet/broadcom/cnic.c clear_bit(SK_F_OFFLD_SCHED, &csk->flags); csk 4022 drivers/net/ethernet/broadcom/cnic.c cnic_cm_upcall(cp, csk, csk 4028 drivers/net/ethernet/broadcom/cnic.c set_bit(SK_F_OFFLD_COMPLETE, &csk->flags); csk 4031 drivers/net/ethernet/broadcom/cnic.c set_bit(SK_F_HW_ERR, &csk->flags); csk 4034 drivers/net/ethernet/broadcom/cnic.c clear_bit(SK_F_OFFLD_SCHED, &csk->flags); csk 4035 drivers/net/ethernet/broadcom/cnic.c cnic_cm_upcall(cp, csk, opcode); csk 4055 drivers/net/ethernet/broadcom/cnic.c set_bit(SK_F_HW_ERR, &csk->flags); csk 4057 drivers/net/ethernet/broadcom/cnic.c cp->close_conn(csk, opcode); csk 4063 drivers/net/ethernet/broadcom/cnic.c !test_bit(SK_F_OFFLD_COMPLETE, &csk->flags) && csk 4064 drivers/net/ethernet/broadcom/cnic.c csk->state == L4_KCQE_OPCODE_VALUE_CLOSE_COMP) csk 4065 drivers/net/ethernet/broadcom/cnic.c cp->close_conn(csk, L4_KCQE_OPCODE_VALUE_RESET_COMP); csk 4067 drivers/net/ethernet/broadcom/cnic.c cnic_cm_upcall(cp, csk, opcode); csk 4070 drivers/net/ethernet/broadcom/cnic.c csk_put(csk); csk 4119 drivers/net/ethernet/broadcom/cnic.c static int cnic_ready_to_close(struct cnic_sock *csk, u32 opcode) csk 4121 drivers/net/ethernet/broadcom/cnic.c if (test_and_clear_bit(SK_F_OFFLD_COMPLETE, &csk->flags)) { csk 4124 drivers/net/ethernet/broadcom/cnic.c csk->state = opcode; csk 4133 drivers/net/ethernet/broadcom/cnic.c if (opcode == csk->state || csk->state == 0 || csk 4134 drivers/net/ethernet/broadcom/cnic.c csk->state == L4_KCQE_OPCODE_VALUE_CLOSE_COMP || csk 4135 drivers/net/ethernet/broadcom/cnic.c csk->state == L4_KCQE_OPCODE_VALUE_RESET_COMP) { csk 4136 drivers/net/ethernet/broadcom/cnic.c if (!test_and_set_bit(SK_F_CLOSING, &csk->flags)) { csk 4137 drivers/net/ethernet/broadcom/cnic.c if (csk->state == 0) csk 4138 drivers/net/ethernet/broadcom/cnic.c csk->state = opcode; csk 4145 drivers/net/ethernet/broadcom/cnic.c static void cnic_close_bnx2_conn(struct cnic_sock *csk, u32 opcode) csk 4147 drivers/net/ethernet/broadcom/cnic.c struct cnic_dev *dev = csk->dev; csk 4151 drivers/net/ethernet/broadcom/cnic.c cnic_cm_upcall(cp, csk, opcode); csk 4155 drivers/net/ethernet/broadcom/cnic.c clear_bit(SK_F_CONNECT_START, &csk->flags); csk 4156 drivers/net/ethernet/broadcom/cnic.c cnic_close_conn(csk); csk 4157 drivers/net/ethernet/broadcom/cnic.c csk->state = opcode; csk 4158 drivers/net/ethernet/broadcom/cnic.c cnic_cm_upcall(cp, csk, opcode); csk 4174 drivers/net/ethernet/broadcom/cnic.c static void cnic_close_bnx2x_conn(struct cnic_sock *csk, u32 opcode) csk 4176 drivers/net/ethernet/broadcom/cnic.c struct cnic_dev *dev = csk->dev; csk 4178 drivers/net/ethernet/broadcom/cnic.c struct cnic_context *ctx = &cp->ctx_tbl[csk->l5_cid]; csk 4187 drivers/net/ethernet/broadcom/cnic.c if (cnic_ready_to_close(csk, opcode)) { csk 4188 drivers/net/ethernet/broadcom/cnic.c if (test_bit(SK_F_HW_ERR, &csk->flags)) csk 4190 drivers/net/ethernet/broadcom/cnic.c else if (test_bit(SK_F_PG_OFFLD_COMPLETE, &csk->flags)) csk 4206 drivers/net/ethernet/broadcom/cnic.c cnic_submit_kwqe_16(dev, cmd, csk->cid, ISCSI_CONNECTION_TYPE, csk 4210 drivers/net/ethernet/broadcom/cnic.c cnic_close_conn(csk); csk 4211 drivers/net/ethernet/broadcom/cnic.c cnic_cm_upcall(cp, csk, csk->state); csk 4361 drivers/net/ethernet/broadcom/cnic.c struct cnic_sock *csk = &cp->csk_tbl[i]; csk 4363 drivers/net/ethernet/broadcom/cnic.c clear_bit(SK_F_INUSE, &csk->flags); csk 4364 drivers/net/ethernet/broadcom/cnic.c cnic_cm_cleanup(csk); csk 1576 drivers/scsi/bnx2i/bnx2i_iscsi.c struct cnic_sock *csk; csk 1581 drivers/scsi/bnx2i/bnx2i_iscsi.c csk = bnx2i_ep->cm_sk; csk 1582 drivers/scsi/bnx2i/bnx2i_iscsi.c if (test_bit(SK_F_IPV6, &csk->flags)) csk 1583 drivers/scsi/bnx2i/bnx2i_iscsi.c len = sprintf(buf, "%pI6\n", csk->src_ip); csk 1585 drivers/scsi/bnx2i/bnx2i_iscsi.c len = sprintf(buf, "%pI4\n", csk->src_ip); csk 155 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c static int push_tx_frames(struct cxgbi_sock *csk, int req_completion); csk 157 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c static void send_act_open_req(struct cxgbi_sock *csk, struct sk_buff *skb, csk 160 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c unsigned int wscale = cxgbi_sock_compute_wscale(csk->rcv_win); csk 166 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c OPCODE_TID(req) = htonl(MK_OPCODE_TID(CPL_ACT_OPEN_REQ, csk->atid)); csk 167 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c req->local_port = csk->saddr.sin_port; csk 168 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c req->peer_port = csk->daddr.sin_port; csk 169 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c req->local_ip = csk->saddr.sin_addr.s_addr; csk 170 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c req->peer_ip = csk->daddr.sin_addr.s_addr; csk 173 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c V_WND_SCALE(wscale) | V_MSS_IDX(csk->mss_idx) | csk 176 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c V_RCV_BUFSIZ(csk->rcv_win >> 10)); csk 180 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c csk, csk->state, csk->flags, csk->atid, csk 183 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c csk->mss_idx, e->idx, e->smt_idx); csk 185 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c l2t_send(csk->cdev->lldev, skb, csk->l2t); csk 199 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c static void send_close_req(struct cxgbi_sock *csk) csk 201 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c struct sk_buff *skb = csk->cpl_close; csk 203 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c unsigned int tid = csk->tid; csk 207 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c csk, csk->state, csk->flags, csk->tid); csk 209 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c csk->cpl_close = NULL; csk 213 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c req->rsvd = htonl(csk->write_seq); csk 215 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c cxgbi_sock_skb_entail(csk, skb); csk 216 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c if (csk->state >= CTP_ESTABLISHED) csk 217 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c push_tx_frames(csk, 1); csk 238 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c static void send_abort_req(struct cxgbi_sock *csk) csk 240 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c struct sk_buff *skb = csk->cpl_abort_req; csk 243 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c if (unlikely(csk->state == CTP_ABORTING || !skb)) csk 245 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c cxgbi_sock_set_state(csk, CTP_ABORTING); csk 246 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c cxgbi_sock_set_flag(csk, CTPF_ABORT_RPL_PENDING); csk 248 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c cxgbi_sock_purge_write_queue(csk); csk 250 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c csk->cpl_abort_req = NULL; csk 255 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c req->wr.wr_lo = htonl(V_WR_TID(csk->tid)); csk 256 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c OPCODE_TID(req) = htonl(MK_OPCODE_TID(CPL_ABORT_REQ, csk->tid)); csk 257 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c req->rsvd0 = htonl(csk->snd_nxt); csk 258 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c req->rsvd1 = !cxgbi_sock_flag(csk, CTPF_TX_DATA_SENT); csk 263 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c csk, csk->state, csk->flags, csk->tid, csk->snd_nxt, csk 266 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c l2t_send(csk->cdev->lldev, skb, csk->l2t); csk 274 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c static void send_abort_rpl(struct cxgbi_sock *csk, int rst_status) csk 276 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c struct sk_buff *skb = csk->cpl_abort_rpl; csk 281 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c csk, csk->state, csk->flags, csk->tid, rst_status); csk 283 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c csk->cpl_abort_rpl = NULL; csk 286 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c rpl->wr.wr_lo = htonl(V_WR_TID(csk->tid)); csk 287 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c OPCODE_TID(rpl) = htonl(MK_OPCODE_TID(CPL_ABORT_RPL, csk->tid)); csk 289 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c cxgb3_ofld_send(csk->cdev->lldev, skb); csk 297 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c static u32 send_rx_credits(struct cxgbi_sock *csk, u32 credits) csk 305 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c csk, csk->state, csk->flags, csk->tid, credits, dack); csk 309 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c pr_info("csk 0x%p, credit %u, OOM.\n", csk, credits); csk 314 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c OPCODE_TID(req) = htonl(MK_OPCODE_TID(CPL_RX_DATA_ACK, csk->tid)); csk 318 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c cxgb3_ofld_send(csk->cdev->lldev, skb); csk 350 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c static inline void make_tx_data_wr(struct cxgbi_sock *csk, struct sk_buff *skb, csk 354 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c struct l2t_entry *l2t = csk->l2t; csk 360 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c req->wr_lo = htonl(V_WR_TID(csk->tid)); csk 365 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c V_TX_SHOVE((skb_peek(&csk->write_queue) ? 0 : 1))); csk 366 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c req->sndseq = htonl(csk->snd_nxt); csk 369 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c if (!cxgbi_sock_flag(csk, CTPF_TX_DATA_SENT)) { csk 371 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c V_TX_CPU_IDX(csk->rss_qid)); csk 373 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c req->param |= htonl(V_TX_SNDBUF(csk->snd_win >> 15)); csk 374 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c cxgbi_sock_set_flag(csk, CTPF_TX_DATA_SENT); csk 394 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c static int push_tx_frames(struct cxgbi_sock *csk, int req_completion) csk 399 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c if (unlikely(csk->state < CTP_ESTABLISHED || csk 400 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c csk->state == CTP_CLOSE_WAIT_1 || csk->state >= CTP_ABORTING)) { csk 403 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c csk, csk->state, csk->flags, csk->tid); csk 407 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c while (csk->wr_cred && (skb = skb_peek(&csk->write_queue)) != NULL) { csk 417 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c if (csk->wr_cred < wrs_needed) { csk 420 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c csk, skb->len, skb->data_len, frags, csk 421 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c wrs_needed, csk->wr_cred); csk 425 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c __skb_unlink(skb, &csk->write_queue); csk 428 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c csk->wr_cred -= wrs_needed; csk 429 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c csk->wr_una_cred += wrs_needed; csk 430 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c cxgbi_sock_enqueue_wr(csk, skb); csk 435 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c csk, skb->len, skb->data_len, frags, skb->csum, csk 436 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c csk->wr_cred, csk->wr_una_cred); csk 440 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c csk->wr_una_cred == wrs_needed) || csk 441 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c csk->wr_una_cred >= csk->wr_max_cred / 2) { csk 443 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c csk->wr_una_cred = 0; csk 446 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c make_tx_data_wr(csk, skb, len, req_completion); csk 447 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c csk->snd_nxt += len; csk 453 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c csk, csk->tid, skb); csk 455 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c l2t_send(csk->cdev->lldev, skb, csk->l2t); csk 466 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c static inline void free_atid(struct cxgbi_sock *csk) csk 468 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c if (cxgbi_sock_flag(csk, CTPF_HAS_ATID)) { csk 469 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c cxgb3_free_atid(csk->cdev->lldev, csk->atid); csk 470 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c cxgbi_sock_clear_flag(csk, CTPF_HAS_ATID); csk 471 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c cxgbi_sock_put(csk); csk 477 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c struct cxgbi_sock *csk = ctx; csk 485 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c atid, atid, csk, csk->state, csk->flags, rcv_isn); csk 487 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c cxgbi_sock_get(csk); csk 488 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c cxgbi_sock_set_flag(csk, CTPF_HAS_TID); csk 489 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c csk->tid = tid; csk 490 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c cxgb3_insert_tid(csk->cdev->lldev, &t3_client, csk, tid); csk 492 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c free_atid(csk); csk 494 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c csk->rss_qid = G_QNUM(ntohs(skb->csum)); csk 496 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c spin_lock_bh(&csk->lock); csk 497 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c if (csk->retry_timer.function) { csk 498 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c del_timer(&csk->retry_timer); csk 499 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c csk->retry_timer.function = NULL; csk 502 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c if (unlikely(csk->state != CTP_ACTIVE_OPEN)) csk 504 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c csk, csk->state, csk->flags, csk->tid); csk 506 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c csk->copied_seq = csk->rcv_wup = csk->rcv_nxt = rcv_isn; csk 507 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c if (csk->rcv_win > (M_RCV_BUFSIZ << 10)) csk 508 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c csk->rcv_wup -= csk->rcv_win - (M_RCV_BUFSIZ << 10); csk 510 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c cxgbi_sock_established(csk, ntohl(req->snd_isn), ntohs(req->tcp_opt)); csk 512 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c if (unlikely(cxgbi_sock_flag(csk, CTPF_ACTIVE_CLOSE_NEEDED))) csk 514 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c send_abort_req(csk); csk 516 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c if (skb_queue_len(&csk->write_queue)) csk 517 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c push_tx_frames(csk, 1); csk 518 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c cxgbi_conn_tx_open(csk); csk 521 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c spin_unlock_bh(&csk->lock); csk 550 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c struct cxgbi_sock *csk = from_timer(csk, t, retry_timer); csk 555 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c csk, csk->state, csk->flags, csk->tid); csk 557 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c cxgbi_sock_get(csk); csk 558 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c spin_lock_bh(&csk->lock); csk 561 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c cxgbi_sock_fail_act_open(csk, -ENOMEM); csk 563 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c skb->sk = (struct sock *)csk; csk 565 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c send_act_open_req(csk, skb, csk->l2t); csk 567 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c spin_unlock_bh(&csk->lock); csk 568 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c cxgbi_sock_put(csk); csk 573 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c struct cxgbi_sock *csk = ctx; csk 577 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c csk, csk->state, csk->flags, csk->atid, rpl->status, csk 578 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c &csk->saddr.sin_addr.s_addr, ntohs(csk->saddr.sin_port), csk 579 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c &csk->daddr.sin_addr.s_addr, ntohs(csk->daddr.sin_port)); csk 586 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c cxgbi_sock_get(csk); csk 587 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c spin_lock_bh(&csk->lock); csk 589 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c csk->retry_timer.function != act_open_retry_timer) { csk 590 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c csk->retry_timer.function = act_open_retry_timer; csk 591 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c mod_timer(&csk->retry_timer, jiffies + HZ / 2); csk 593 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c cxgbi_sock_fail_act_open(csk, csk 596 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c spin_unlock_bh(&csk->lock); csk 597 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c cxgbi_sock_put(csk); csk 608 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c struct cxgbi_sock *csk = ctx; csk 612 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c csk, csk->state, csk->flags, csk->tid); csk 614 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c cxgbi_sock_rcv_peer_close(csk); csk 626 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c struct cxgbi_sock *csk = ctx; csk 631 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c csk, csk->state, csk->flags, csk->tid, ntohl(rpl->snd_nxt)); csk 633 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c cxgbi_sock_rcv_close_conn_rpl(csk, ntohl(rpl->snd_nxt)); csk 644 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c static int abort_status_to_errno(struct cxgbi_sock *csk, int abort_reason, csk 650 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c return csk->state > CTP_ESTABLISHED ? -EPIPE : -ECONNRESET; csk 664 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c struct cxgbi_sock *csk = ctx; csk 669 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c csk, csk->state, csk->flags, csk->tid); csk 676 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c cxgbi_sock_get(csk); csk 677 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c spin_lock_bh(&csk->lock); csk 679 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c if (!cxgbi_sock_flag(csk, CTPF_ABORT_REQ_RCVD)) { csk 680 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c cxgbi_sock_set_flag(csk, CTPF_ABORT_REQ_RCVD); csk 681 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c cxgbi_sock_set_state(csk, CTP_ABORTING); csk 685 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c cxgbi_sock_clear_flag(csk, CTPF_ABORT_REQ_RCVD); csk 686 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c send_abort_rpl(csk, rst_status); csk 688 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c if (!cxgbi_sock_flag(csk, CTPF_ABORT_RPL_PENDING)) { csk 689 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c csk->err = abort_status_to_errno(csk, req->status, &rst_status); csk 690 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c cxgbi_sock_closed(csk); csk 694 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c spin_unlock_bh(&csk->lock); csk 695 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c cxgbi_sock_put(csk); csk 711 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c struct cxgbi_sock *csk = ctx; csk 715 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c rpl->status, csk, csk ? csk->state : 0, csk 716 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c csk ? csk->flags : 0UL); csk 732 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c if (csk) csk 733 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c cxgbi_sock_rcv_abort_rpl(csk); csk 746 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c struct cxgbi_sock *csk = ctx; csk 756 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c csk, csk->state, csk->flags, csk->tid, skb, skb->len); csk 758 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c spin_lock_bh(&csk->lock); csk 760 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c if (unlikely(csk->state >= CTP_PASSIVE_CLOSE)) { csk 763 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c csk, csk->state, csk->flags, csk->tid); csk 764 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c if (csk->state != CTP_ABORTING) csk 780 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c csk->cdev->ports[csk->port_id]->name, csk->tid, csk 790 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c csk->cdev->ports[csk->port_id]->name, csk->tid, csk 802 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c csk, skb, skb->len, cxgbi_skcb_rx_pdulen(skb), status); csk 815 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c csk->cdev->ports[csk->port_id]->name, csk 816 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c csk->tid, sizeof(data_cpl), skb->len, err); csk 827 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c csk->rcv_nxt = ntohl(ddp_cpl.seq) + cxgbi_skcb_rx_pdulen(skb); csk 829 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c __skb_queue_tail(&csk->receive_queue, skb); csk 830 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c cxgbi_conn_pdu_ready(csk); csk 832 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c spin_unlock_bh(&csk->lock); csk 836 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c send_abort_req(csk); csk 838 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c spin_unlock_bh(&csk->lock); csk 850 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c struct cxgbi_sock *csk = ctx; csk 855 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c csk, csk->state, csk->flags, csk->tid, ntohs(hdr->credits)); csk 857 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c cxgbi_sock_rcv_wr_ack(csk, ntohs(hdr->credits), ntohl(hdr->snd_una), 1); csk 866 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c static int alloc_cpls(struct cxgbi_sock *csk) csk 868 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c csk->cpl_close = alloc_wr(sizeof(struct cpl_close_con_req), 0, csk 870 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c if (!csk->cpl_close) csk 872 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c csk->cpl_abort_req = alloc_wr(sizeof(struct cpl_abort_req), 0, csk 874 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c if (!csk->cpl_abort_req) csk 877 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c csk->cpl_abort_rpl = alloc_wr(sizeof(struct cpl_abort_rpl), 0, csk 879 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c if (!csk->cpl_abort_rpl) csk 885 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c cxgbi_sock_free_cpl_skbs(csk); csk 894 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c static void l2t_put(struct cxgbi_sock *csk) csk 896 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c struct t3cdev *t3dev = (struct t3cdev *)csk->cdev->lldev; csk 898 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c if (csk->l2t) { csk 899 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c l2t_release(t3dev, csk->l2t); csk 900 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c csk->l2t = NULL; csk 901 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c cxgbi_sock_put(csk); csk 905 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c static void release_offload_resources(struct cxgbi_sock *csk) csk 907 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c struct t3cdev *t3dev = (struct t3cdev *)csk->cdev->lldev; csk 911 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c csk, csk->state, csk->flags, csk->tid); csk 913 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c csk->rss_qid = 0; csk 914 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c cxgbi_sock_free_cpl_skbs(csk); csk 916 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c if (csk->wr_cred != csk->wr_max_cred) { csk 917 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c cxgbi_sock_purge_wr_queue(csk); csk 918 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c cxgbi_sock_reset_wr_list(csk); csk 920 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c l2t_put(csk); csk 921 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c if (cxgbi_sock_flag(csk, CTPF_HAS_ATID)) csk 922 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c free_atid(csk); csk 923 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c else if (cxgbi_sock_flag(csk, CTPF_HAS_TID)) { csk 924 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c cxgb3_remove_tid(t3dev, (void *)csk, csk->tid); csk 925 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c cxgbi_sock_clear_flag(csk, CTPF_HAS_TID); csk 926 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c cxgbi_sock_put(csk); csk 928 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c csk->dst = NULL; csk 929 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c csk->cdev = NULL; csk 954 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c static int init_act_open(struct cxgbi_sock *csk) csk 956 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c struct dst_entry *dst = csk->dst; csk 957 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c struct cxgbi_device *cdev = csk->cdev; csk 959 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c struct net_device *ndev = cdev->ports[csk->port_id]; csk 960 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c struct cxgbi_hba *chba = cdev->hbas[csk->port_id]; csk 964 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c "csk 0x%p,%u,0x%lx.\n", csk, csk->state, csk->flags); csk 968 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c csk->saddr.sin_addr.s_addr = chba->ipv4addr; csk 970 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c csk->rss_qid = 0; csk 971 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c csk->l2t = t3_l2t_get(t3dev, dst, ndev, csk 972 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c &csk->daddr.sin_addr.s_addr); csk 973 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c if (!csk->l2t) { csk 977 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c cxgbi_sock_get(csk); csk 979 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c csk->atid = cxgb3_alloc_atid(t3dev, &t3_client, csk); csk 980 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c if (csk->atid < 0) { csk 984 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c cxgbi_sock_set_flag(csk, CTPF_HAS_ATID); csk 985 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c cxgbi_sock_get(csk); csk 989 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c cxgb3_free_atid(t3dev, csk->atid); csk 990 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c cxgbi_sock_put(csk); csk 993 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c skb->sk = (struct sock *)csk; csk 995 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c csk->snd_win = cxgb3i_snd_win; csk 996 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c csk->rcv_win = cxgb3i_rcv_win; csk 998 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c csk->wr_max_cred = csk->wr_cred = T3C_DATA(t3dev)->max_wrs - 1; csk 999 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c csk->wr_una_cred = 0; csk 1000 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c csk->mss_idx = cxgbi_sock_select_mss(csk, dst_mtu(dst)); csk 1001 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c cxgbi_sock_reset_wr_list(csk); csk 1002 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c csk->err = 0; csk 1006 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c csk, csk->state, csk->flags, csk 1007 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c &csk->saddr.sin_addr.s_addr, ntohs(csk->saddr.sin_port), csk 1008 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c &csk->daddr.sin_addr.s_addr, ntohs(csk->daddr.sin_port)); csk 1010 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c cxgbi_sock_set_state(csk, CTP_ACTIVE_OPEN); csk 1011 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c send_act_open_req(csk, skb, csk->l2t); csk 1087 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c static int ddp_set_map(struct cxgbi_ppm *ppm, struct cxgbi_sock *csk, csk 1144 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c static int ddp_setup_conn_pgidx(struct cxgbi_sock *csk, csk 1153 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c "csk 0x%p, tid %u, pg_idx %d.\n", csk, tid, pg_idx); csk 1168 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c cxgb3_ofld_send(csk->cdev->lldev, skb); csk 1180 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c static int ddp_setup_conn_digest(struct cxgbi_sock *csk, unsigned int tid, csk 1189 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c "csk 0x%p, tid %u, crc %d,%d.\n", csk, tid, hcrc, dcrc); csk 1204 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c cxgb3_ofld_send(csk->cdev->lldev, skb); csk 203 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c static void send_act_open_req(struct cxgbi_sock *csk, struct sk_buff *skb, csk 206 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c struct cxgb4_lld_info *lldi = cxgbi_cdev_priv(csk->cdev); csk 207 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c int wscale = cxgbi_sock_compute_wscale(csk->mss_idx); csk 210 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c unsigned int qid_atid = ((unsigned int)csk->atid) | csk 211 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c (((unsigned int)csk->rss_qid) << 14); csk 215 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c MSS_IDX_V(csk->mss_idx) | csk 216 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c L2T_IDX_V(((struct l2t_entry *)csk->l2t)->idx) | csk 217 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c TX_CHAN_V(csk->tx_chan) | csk 218 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c SMAC_SEL_V(csk->smac_idx) | csk 220 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c RCV_BUFSIZ_V(csk->rcv_win >> 10); csk 224 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c RSS_QUEUE_V(csk->rss_qid); csk 233 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c req->local_port = csk->saddr.sin_port; csk 234 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c req->peer_port = csk->daddr.sin_port; csk 235 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c req->local_ip = csk->saddr.sin_addr.s_addr; csk 236 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c req->peer_ip = csk->daddr.sin_addr.s_addr; csk 239 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c csk->cdev->ports[csk->port_id], csk 240 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c csk->l2t)); csk 246 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c csk, &req->local_ip, ntohs(req->local_port), csk 248 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c csk->atid, csk->rss_qid); csk 257 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c req->local_port = csk->saddr.sin_port; csk 258 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c req->peer_port = csk->daddr.sin_port; csk 259 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c req->local_ip = csk->saddr.sin_addr.s_addr; csk 260 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c req->peer_ip = csk->daddr.sin_addr.s_addr; csk 264 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c csk->cdev->ports[csk->port_id], csk 265 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c csk->l2t))); csk 274 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c csk, &req->local_ip, ntohs(req->local_port), csk 276 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c csk->atid, csk->rss_qid); csk 285 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c req->local_port = csk->saddr.sin_port; csk 286 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c req->peer_port = csk->daddr.sin_port; csk 287 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c req->local_ip = csk->saddr.sin_addr.s_addr; csk 288 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c req->peer_ip = csk->daddr.sin_addr.s_addr; csk 292 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c csk->cdev->ports[csk->port_id], csk 293 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c csk->l2t))); csk 306 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c csk, &req->local_ip, ntohs(req->local_port), csk 308 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c csk->atid, csk->rss_qid); csk 311 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c set_wr_txq(skb, CPL_PRIORITY_SETUP, csk->port_id); csk 314 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c (&csk->saddr), (&csk->daddr), csk 315 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c CHELSIO_CHIP_VERSION(lldi->adapter_type), csk, csk 316 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c csk->state, csk->flags, csk->atid, csk->rss_qid); csk 318 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c cxgb4_l2t_send(csk->cdev->ports[csk->port_id], skb, csk->l2t); csk 322 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c static void send_act_open_req6(struct cxgbi_sock *csk, struct sk_buff *skb, csk 325 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c struct cxgb4_lld_info *lldi = cxgbi_cdev_priv(csk->cdev); csk 326 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c int wscale = cxgbi_sock_compute_wscale(csk->mss_idx); csk 329 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c unsigned int qid_atid = ((unsigned int)csk->atid) | csk 330 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c (((unsigned int)csk->rss_qid) << 14); csk 334 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c MSS_IDX_V(csk->mss_idx) | csk 335 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c L2T_IDX_V(((struct l2t_entry *)csk->l2t)->idx) | csk 336 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c TX_CHAN_V(csk->tx_chan) | csk 337 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c SMAC_SEL_V(csk->smac_idx) | csk 339 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c RCV_BUFSIZ_V(csk->rcv_win >> 10); csk 343 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c RSS_QUEUE_V(csk->rss_qid); csk 352 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c req->local_port = csk->saddr6.sin6_port; csk 353 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c req->peer_port = csk->daddr6.sin6_port; csk 355 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c req->local_ip_hi = *(__be64 *)(csk->saddr6.sin6_addr.s6_addr); csk 356 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c req->local_ip_lo = *(__be64 *)(csk->saddr6.sin6_addr.s6_addr + csk 358 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c req->peer_ip_hi = *(__be64 *)(csk->daddr6.sin6_addr.s6_addr); csk 359 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c req->peer_ip_lo = *(__be64 *)(csk->daddr6.sin6_addr.s6_addr + csk 368 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c csk->cdev->ports[csk->port_id], csk 369 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c csk->l2t)); csk 377 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c req->local_port = csk->saddr6.sin6_port; csk 378 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c req->peer_port = csk->daddr6.sin6_port; csk 379 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c req->local_ip_hi = *(__be64 *)(csk->saddr6.sin6_addr.s6_addr); csk 380 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c req->local_ip_lo = *(__be64 *)(csk->saddr6.sin6_addr.s6_addr + csk 382 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c req->peer_ip_hi = *(__be64 *)(csk->daddr6.sin6_addr.s6_addr); csk 383 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c req->peer_ip_lo = *(__be64 *)(csk->daddr6.sin6_addr.s6_addr + csk 391 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c csk->cdev->ports[csk->port_id], csk 392 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c csk->l2t))); csk 400 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c req->local_port = csk->saddr6.sin6_port; csk 401 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c req->peer_port = csk->daddr6.sin6_port; csk 402 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c req->local_ip_hi = *(__be64 *)(csk->saddr6.sin6_addr.s6_addr); csk 403 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c req->local_ip_lo = *(__be64 *)(csk->saddr6.sin6_addr.s6_addr + csk 405 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c req->peer_ip_hi = *(__be64 *)(csk->daddr6.sin6_addr.s6_addr); csk 406 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c req->peer_ip_lo = *(__be64 *)(csk->daddr6.sin6_addr.s6_addr + csk 416 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c csk->cdev->ports[csk->port_id], csk 417 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c csk->l2t))); csk 423 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c set_wr_txq(skb, CPL_PRIORITY_SETUP, csk->port_id); csk 426 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c CHELSIO_CHIP_VERSION(lldi->adapter_type), csk, csk->state, csk 427 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c csk->flags, csk->atid, csk 428 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c &csk->saddr6.sin6_addr, ntohs(csk->saddr.sin_port), csk 429 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c &csk->daddr6.sin6_addr, ntohs(csk->daddr.sin_port), csk 430 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c csk->rss_qid); csk 432 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c cxgb4_l2t_send(csk->cdev->ports[csk->port_id], skb, csk->l2t); csk 436 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c static void send_close_req(struct cxgbi_sock *csk) csk 438 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c struct sk_buff *skb = csk->cpl_close; csk 440 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c unsigned int tid = csk->tid; csk 444 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c csk, csk->state, csk->flags, csk->tid); csk 445 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c csk->cpl_close = NULL; csk 446 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c set_wr_txq(skb, CPL_PRIORITY_DATA, csk->port_id); csk 451 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c cxgbi_sock_skb_entail(csk, skb); csk 452 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c if (csk->state >= CTP_ESTABLISHED) csk 453 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c push_tx_frames(csk, 1); csk 458 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c struct cxgbi_sock *csk = (struct cxgbi_sock *)handle; csk 463 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c csk, csk->state, csk->flags, csk->tid); csk 466 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c cxgb4_ofld_send(csk->cdev->ports[csk->port_id], skb); csk 469 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c static void send_abort_req(struct cxgbi_sock *csk) csk 472 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c struct sk_buff *skb = csk->cpl_abort_req; csk 474 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c if (unlikely(csk->state == CTP_ABORTING) || !skb || !csk->cdev) csk 477 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c if (!cxgbi_sock_flag(csk, CTPF_TX_DATA_SENT)) { csk 478 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c send_tx_flowc_wr(csk); csk 479 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c cxgbi_sock_set_flag(csk, CTPF_TX_DATA_SENT); csk 482 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c cxgbi_sock_set_state(csk, CTP_ABORTING); csk 483 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c cxgbi_sock_set_flag(csk, CTPF_ABORT_RPL_PENDING); csk 484 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c cxgbi_sock_purge_write_queue(csk); csk 486 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c csk->cpl_abort_req = NULL; csk 488 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c set_wr_txq(skb, CPL_PRIORITY_DATA, csk->port_id); csk 490 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c t4_set_arp_err_handler(skb, csk, abort_arp_failure); csk 491 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c INIT_TP_WR(req, csk->tid); csk 492 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c OPCODE_TID(req) = cpu_to_be32(MK_OPCODE_TID(CPL_ABORT_REQ, csk->tid)); csk 493 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c req->rsvd0 = htonl(csk->snd_nxt); csk 494 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c req->rsvd1 = !cxgbi_sock_flag(csk, CTPF_TX_DATA_SENT); csk 498 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c csk, csk->state, csk->flags, csk->tid, csk->snd_nxt, csk 501 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c cxgb4_l2t_send(csk->cdev->ports[csk->port_id], skb, csk->l2t); csk 504 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c static void send_abort_rpl(struct cxgbi_sock *csk, int rst_status) csk 506 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c struct sk_buff *skb = csk->cpl_abort_rpl; csk 511 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c csk, csk->state, csk->flags, csk->tid, rst_status); csk 513 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c csk->cpl_abort_rpl = NULL; csk 514 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c set_wr_txq(skb, CPL_PRIORITY_DATA, csk->port_id); csk 515 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c INIT_TP_WR(rpl, csk->tid); csk 516 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c OPCODE_TID(rpl) = cpu_to_be32(MK_OPCODE_TID(CPL_ABORT_RPL, csk->tid)); csk 518 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c cxgb4_ofld_send(csk->cdev->ports[csk->port_id], skb); csk 526 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c static u32 send_rx_credits(struct cxgbi_sock *csk, u32 credits) csk 533 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c csk, csk->state, csk->flags, csk->tid, credits); csk 537 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c pr_info("csk 0x%p, credit %u, OOM.\n", csk, credits); csk 542 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c set_wr_txq(skb, CPL_PRIORITY_ACK, csk->port_id); csk 543 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c INIT_TP_WR(req, csk->tid); csk 545 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c csk->tid)); csk 548 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c cxgb4_ofld_send(csk->cdev->ports[csk->port_id], skb); csk 609 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c static inline int send_tx_flowc_wr(struct cxgbi_sock *csk) csk 616 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c u16 vlan = ((struct l2t_entry *)csk->l2t)->vlan; csk 624 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c htonl(FW_WR_LEN16_V(flowclen16) | FW_WR_FLOWID_V(csk->tid)); csk 626 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c flowc->mnemval[0].val = htonl(csk->cdev->pfvf); csk 628 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c flowc->mnemval[1].val = htonl(csk->tx_chan); csk 630 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c flowc->mnemval[2].val = htonl(csk->tx_chan); csk 632 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c flowc->mnemval[3].val = htonl(csk->rss_qid); csk 634 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c flowc->mnemval[4].val = htonl(csk->snd_nxt); csk 636 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c flowc->mnemval[5].val = htonl(csk->rcv_nxt); csk 638 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c flowc->mnemval[6].val = htonl(csk->snd_win); csk 640 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c flowc->mnemval[7].val = htonl(csk->advmss); csk 649 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c csk->tid); csk 657 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c set_wr_txq(skb, CPL_PRIORITY_DATA, csk->port_id); csk 661 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c csk, csk->tid, 0, csk->tx_chan, csk->rss_qid, csk 662 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c csk->snd_nxt, csk->rcv_nxt, csk->snd_win, csk 663 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c csk->advmss); csk 665 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c cxgb4_ofld_send(csk->cdev->ports[csk->port_id], skb); csk 670 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c static inline void make_tx_data_wr(struct cxgbi_sock *csk, struct sk_buff *skb, csk 684 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c req->flowid_len16 = htonl(FW_WR_FLOWID_V(csk->tid) | csk 692 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c cpu_to_be32(FW_WR_FLOWID_V(csk->tid) | csk 698 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c val = skb_peek(&csk->write_queue) ? 0 : 1; csk 702 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c if (!cxgbi_sock_flag(csk, CTPF_TX_DATA_SENT)) csk 703 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c cxgbi_sock_set_flag(csk, CTPF_TX_DATA_SENT); csk 711 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c static int push_tx_frames(struct cxgbi_sock *csk, int req_completion) csk 716 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c if (unlikely(csk->state < CTP_ESTABLISHED || csk 717 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c csk->state == CTP_CLOSE_WAIT_1 || csk->state >= CTP_ABORTING)) { csk 721 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c csk, csk->state, csk->flags, csk->tid); csk 725 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c while (csk->wr_cred && (skb = skb_peek(&csk->write_queue)) != NULL) { csk 748 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c if (!cxgbi_sock_flag(csk, CTPF_TX_DATA_SENT)) { csk 749 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c flowclen16 = send_tx_flowc_wr(csk); csk 750 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c csk->wr_cred -= flowclen16; csk 751 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c csk->wr_una_cred += flowclen16; csk 752 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c cxgbi_sock_set_flag(csk, CTPF_TX_DATA_SENT); csk 755 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c if (csk->wr_cred < credits_needed) { csk 758 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c csk, skb->len, skb->data_len, csk 759 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c credits_needed, csk->wr_cred); csk 762 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c __skb_unlink(skb, &csk->write_queue); csk 763 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c set_wr_txq(skb, CPL_PRIORITY_DATA, csk->port_id); csk 765 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c csk->wr_cred -= credits_needed; csk 766 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c csk->wr_una_cred += credits_needed; csk 767 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c cxgbi_sock_enqueue_wr(csk, skb); csk 771 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c csk, skb->len, skb->data_len, credits_needed, csk 772 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c csk->wr_cred, csk->wr_una_cred); csk 776 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c make_tx_data_wr(csk, skb, dlen, len, credits_needed, csk 778 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c csk->snd_nxt += len; csk 781 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c (csk->wr_una_cred >= (csk->wr_max_cred / 2))) { csk 787 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c t4_set_arp_err_handler(skb, csk, arp_failure_skb_discard); csk 791 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c csk, csk->state, csk->flags, csk->tid, skb, len); csk 793 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c cxgb4_l2t_send(csk->cdev->ports[csk->port_id], skb, csk->l2t); csk 798 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c static inline void free_atid(struct cxgbi_sock *csk) csk 800 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c struct cxgb4_lld_info *lldi = cxgbi_cdev_priv(csk->cdev); csk 802 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c if (cxgbi_sock_flag(csk, CTPF_HAS_ATID)) { csk 803 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c cxgb4_free_atid(lldi->tids, csk->atid); csk 804 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c cxgbi_sock_clear_flag(csk, CTPF_HAS_ATID); csk 805 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c cxgbi_sock_put(csk); csk 811 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c struct cxgbi_sock *csk; csk 820 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c csk = lookup_atid(t, atid); csk 821 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c if (unlikely(!csk)) { csk 826 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c if (csk->atid != atid) { csk 828 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c atid, csk, csk->state, csk->flags, csk->tid, csk->atid); csk 833 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c (&csk->saddr), (&csk->daddr), csk 834 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c atid, tid, csk, csk->state, csk->flags, rcv_isn); csk 838 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c cxgbi_sock_get(csk); csk 839 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c csk->tid = tid; csk 840 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c cxgb4_insert_tid(lldi->tids, csk, tid, csk->csk_family); csk 841 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c cxgbi_sock_set_flag(csk, CTPF_HAS_TID); csk 843 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c free_atid(csk); csk 845 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c spin_lock_bh(&csk->lock); csk 846 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c if (unlikely(csk->state != CTP_ACTIVE_OPEN)) csk 848 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c csk, csk->state, csk->flags, csk->tid); csk 850 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c if (csk->retry_timer.function) { csk 851 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c del_timer(&csk->retry_timer); csk 852 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c csk->retry_timer.function = NULL; csk 855 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c csk->copied_seq = csk->rcv_wup = csk->rcv_nxt = rcv_isn; csk 860 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c if (csk->rcv_win > (RCV_BUFSIZ_MASK << 10)) csk 861 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c csk->rcv_wup -= csk->rcv_win - (RCV_BUFSIZ_MASK << 10); csk 863 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c csk->advmss = lldi->mtus[TCPOPT_MSS_G(tcp_opt)] - 40; csk 865 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c csk->advmss -= 12; csk 866 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c if (csk->advmss < 128) csk 867 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c csk->advmss = 128; csk 871 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c csk, TCPOPT_MSS_G(tcp_opt), csk->advmss); csk 873 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c cxgbi_sock_established(csk, ntohl(req->snd_isn), ntohs(req->tcp_opt)); csk 875 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c if (unlikely(cxgbi_sock_flag(csk, CTPF_ACTIVE_CLOSE_NEEDED))) csk 876 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c send_abort_req(csk); csk 878 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c if (skb_queue_len(&csk->write_queue)) csk 879 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c push_tx_frames(csk, 0); csk 880 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c cxgbi_conn_tx_open(csk); csk 882 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c spin_unlock_bh(&csk->lock); csk 909 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c struct cxgbi_sock *csk = from_timer(csk, t, retry_timer); csk 910 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c struct cxgb4_lld_info *lldi = cxgbi_cdev_priv(csk->cdev); csk 917 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c csk, csk->state, csk->flags, csk->tid); csk 919 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c cxgbi_sock_get(csk); csk 920 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c spin_lock_bh(&csk->lock); csk 930 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c if (csk->csk_family == AF_INET) { csk 941 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c cxgbi_sock_fail_act_open(csk, -ENOMEM); csk 943 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c skb->sk = (struct sock *)csk; csk 944 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c t4_set_arp_err_handler(skb, csk, csk 946 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c send_act_open_func(csk, skb, csk->l2t); csk 949 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c spin_unlock_bh(&csk->lock); csk 950 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c cxgbi_sock_put(csk); csk 963 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c struct cxgbi_sock *csk; csk 972 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c csk = lookup_atid(t, atid); csk 973 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c if (unlikely(!csk)) { csk 979 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c "csk 0x%p,%u,0x%lx. ", (&csk->saddr), (&csk->daddr), csk 980 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c atid, tid, status, csk, csk->state, csk->flags); csk 990 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c cxgb4_remove_tid(lldi->tids, csk->port_id, GET_TID(rpl), csk 991 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c csk->csk_family); csk 993 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c cxgbi_sock_get(csk); csk 994 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c spin_lock_bh(&csk->lock); csk 997 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c csk->retry_timer.function != csk_act_open_retry_timer) { csk 998 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c csk->retry_timer.function = csk_act_open_retry_timer; csk 999 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c mod_timer(&csk->retry_timer, jiffies + HZ / 2); csk 1001 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c cxgbi_sock_fail_act_open(csk, csk 1004 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c spin_unlock_bh(&csk->lock); csk 1005 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c cxgbi_sock_put(csk); csk 1012 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c struct cxgbi_sock *csk; csk 1018 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c csk = lookup_tid(t, tid); csk 1019 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c if (unlikely(!csk)) { csk 1024 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c (&csk->saddr), (&csk->daddr), csk 1025 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c csk, csk->state, csk->flags, csk->tid); csk 1026 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c cxgbi_sock_rcv_peer_close(csk); csk 1033 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c struct cxgbi_sock *csk; csk 1039 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c csk = lookup_tid(t, tid); csk 1040 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c if (unlikely(!csk)) { csk 1045 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c (&csk->saddr), (&csk->daddr), csk 1046 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c csk, csk->state, csk->flags, csk->tid); csk 1047 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c cxgbi_sock_rcv_close_conn_rpl(csk, ntohl(rpl->snd_nxt)); csk 1052 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c static int abort_status_to_errno(struct cxgbi_sock *csk, int abort_reason, csk 1058 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c return csk->state > CTP_ESTABLISHED ? csk 1072 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c struct cxgbi_sock *csk; csk 1079 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c csk = lookup_tid(t, tid); csk 1080 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c if (unlikely(!csk)) { csk 1086 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c (&csk->saddr), (&csk->daddr), csk 1087 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c csk, csk->state, csk->flags, csk->tid, req->status); csk 1092 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c cxgbi_sock_get(csk); csk 1093 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c spin_lock_bh(&csk->lock); csk 1095 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c cxgbi_sock_clear_flag(csk, CTPF_ABORT_REQ_RCVD); csk 1097 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c if (!cxgbi_sock_flag(csk, CTPF_TX_DATA_SENT)) { csk 1098 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c send_tx_flowc_wr(csk); csk 1099 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c cxgbi_sock_set_flag(csk, CTPF_TX_DATA_SENT); csk 1102 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c cxgbi_sock_set_flag(csk, CTPF_ABORT_REQ_RCVD); csk 1103 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c cxgbi_sock_set_state(csk, CTP_ABORTING); csk 1105 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c send_abort_rpl(csk, rst_status); csk 1107 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c if (!cxgbi_sock_flag(csk, CTPF_ABORT_RPL_PENDING)) { csk 1108 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c csk->err = abort_status_to_errno(csk, req->status, &rst_status); csk 1109 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c cxgbi_sock_closed(csk); csk 1112 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c spin_unlock_bh(&csk->lock); csk 1113 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c cxgbi_sock_put(csk); csk 1120 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c struct cxgbi_sock *csk; csk 1126 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c csk = lookup_tid(t, tid); csk 1127 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c if (!csk) csk 1130 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c if (csk) csk 1132 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c (&csk->saddr), (&csk->daddr), csk, csk 1133 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c csk->state, csk->flags, csk->tid, rpl->status); csk 1138 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c cxgbi_sock_rcv_abort_rpl(csk); csk 1145 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c struct cxgbi_sock *csk; csk 1151 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c csk = lookup_tid(t, tid); csk 1152 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c if (!csk) { csk 1156 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c pr_err("csk 0x%p, tid %u, rcv cpl_rx_data.\n", csk, tid); csk 1157 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c spin_lock_bh(&csk->lock); csk 1158 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c send_abort_req(csk); csk 1159 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c spin_unlock_bh(&csk->lock); csk 1166 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c struct cxgbi_sock *csk; csk 1173 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c csk = lookup_tid(t, tid); csk 1174 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c if (unlikely(!csk)) { csk 1181 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c csk, csk->state, csk->flags, csk->tid, skb, skb->len, csk 1184 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c spin_lock_bh(&csk->lock); csk 1186 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c if (unlikely(csk->state >= CTP_PASSIVE_CLOSE)) { csk 1189 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c csk, csk->state, csk->flags, csk->tid); csk 1190 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c if (csk->state != CTP_ABORTING) csk 1203 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c if (!csk->skb_ulp_lhdr) { csk 1209 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c csk, csk->state, csk->flags, csk->tid, skb); csk 1210 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c csk->skb_ulp_lhdr = skb; csk 1214 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c (cxgbi_skcb_tcp_seq(skb) != csk->rcv_nxt)) { csk 1216 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c csk->tid, cxgbi_skcb_tcp_seq(skb), csk 1217 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c csk->rcv_nxt); csk 1232 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c csk->tid, plen, hlen, dlen, csk 1239 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c cxgbi_skcb_rx_pdulen(skb) += csk->dcrc_len; csk 1240 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c csk->rcv_nxt += cxgbi_skcb_rx_pdulen(skb); csk 1244 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c csk, skb, *bhs, hlen, dlen, csk 1249 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c struct sk_buff *lskb = csk->skb_ulp_lhdr; csk 1254 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c csk, csk->state, csk->flags, skb, lskb); csk 1257 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c __skb_queue_tail(&csk->receive_queue, skb); csk 1258 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c spin_unlock_bh(&csk->lock); csk 1262 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c send_abort_req(csk); csk 1264 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c spin_unlock_bh(&csk->lock); csk 1271 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c struct cxgbi_sock *csk; csk 1279 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c csk = lookup_tid(t, tid); csk 1280 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c if (unlikely(!csk)) { csk 1287 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c csk, csk->state, csk->flags, csk->tid, skb, csk 1290 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c spin_lock_bh(&csk->lock); csk 1292 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c if (unlikely(csk->state >= CTP_PASSIVE_CLOSE)) { csk 1295 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c csk, csk->state, csk->flags, csk->tid); csk 1297 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c if (csk->state != CTP_ABORTING) csk 1310 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c if (!csk->skb_ulp_lhdr) csk 1311 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c csk->skb_ulp_lhdr = skb; csk 1313 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c lskb = csk->skb_ulp_lhdr; csk 1318 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c csk, csk->state, csk->flags, skb, lskb); csk 1320 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c __skb_queue_tail(&csk->receive_queue, skb); csk 1321 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c spin_unlock_bh(&csk->lock); csk 1325 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c send_abort_req(csk); csk 1327 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c spin_unlock_bh(&csk->lock); csk 1333 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c cxgb4i_process_ddpvld(struct cxgbi_sock *csk, csk 1338 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c csk, skb, ddpvld, cxgbi_skcb_flags(skb)); csk 1344 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c csk, skb, ddpvld, cxgbi_skcb_flags(skb)); csk 1351 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c csk, skb, ddpvld); csk 1359 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c csk, skb, ddpvld); csk 1367 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c struct cxgbi_sock *csk; csk 1375 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c csk = lookup_tid(t, tid); csk 1376 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c if (unlikely(!csk)) { csk 1383 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c csk, csk->state, csk->flags, skb, ddpvld, csk->skb_ulp_lhdr); csk 1385 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c spin_lock_bh(&csk->lock); csk 1387 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c if (unlikely(csk->state >= CTP_PASSIVE_CLOSE)) { csk 1390 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c csk, csk->state, csk->flags, csk->tid); csk 1391 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c if (csk->state != CTP_ABORTING) csk 1397 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c if (!csk->skb_ulp_lhdr) { csk 1398 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c pr_err("tid 0x%x, rcv RX_DATA_DDP w/o pdu bhs.\n", csk->tid); csk 1402 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c lskb = csk->skb_ulp_lhdr; csk 1403 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c csk->skb_ulp_lhdr = NULL; csk 1409 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c csk->tid, ntohs(rpl->len), cxgbi_skcb_rx_pdulen(lskb)); csk 1411 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c cxgb4i_process_ddpvld(csk, lskb, ddpvld); csk 1415 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c csk, lskb, cxgbi_skcb_flags(lskb)); csk 1418 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c cxgbi_conn_pdu_ready(csk); csk 1419 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c spin_unlock_bh(&csk->lock); csk 1423 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c send_abort_req(csk); csk 1425 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c spin_unlock_bh(&csk->lock); csk 1433 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c struct cxgbi_sock *csk; csk 1443 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c csk = lookup_tid(t, tid); csk 1444 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c if (unlikely(!csk)) { csk 1452 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c csk, csk->state, csk->flags, skb, ddpvld, csk->skb_ulp_lhdr, csk 1455 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c spin_lock_bh(&csk->lock); csk 1457 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c if (unlikely(csk->state >= CTP_PASSIVE_CLOSE)) { csk 1460 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c csk, csk->state, csk->flags, csk->tid); csk 1462 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c if (csk->state != CTP_ABORTING) csk 1476 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c csk->rcv_nxt = seq + pdu_len_ddp; csk 1478 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c if (csk->skb_ulp_lhdr) { csk 1479 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c data_skb = skb_peek(&csk->receive_queue); csk 1487 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c __skb_unlink(data_skb, &csk->receive_queue); csk 1491 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c __skb_queue_tail(&csk->receive_queue, skb); csk 1492 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c __skb_queue_tail(&csk->receive_queue, data_skb); csk 1494 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c __skb_queue_tail(&csk->receive_queue, skb); csk 1497 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c csk->skb_ulp_lhdr = NULL; csk 1504 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c cxgb4i_process_ddpvld(csk, skb, ddpvld); csk 1507 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c csk, skb, cxgbi_skcb_flags(skb)); csk 1509 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c cxgbi_conn_pdu_ready(csk); csk 1510 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c spin_unlock_bh(&csk->lock); csk 1515 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c send_abort_req(csk); csk 1517 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c spin_unlock_bh(&csk->lock); csk 1524 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c struct cxgbi_sock *csk; csk 1530 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c csk = lookup_tid(t, tid); csk 1531 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c if (unlikely(!csk)) csk 1536 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c csk, csk->state, csk->flags, csk->tid); csk 1537 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c cxgbi_sock_rcv_wr_ack(csk, rpl->credits, ntohl(rpl->snd_una), csk 1549 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c struct cxgbi_sock *csk; csk 1551 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c csk = lookup_tid(t, tid); csk 1552 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c if (!csk) { csk 1559 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c csk, csk->state, csk->flags, csk->tid, rpl->status); csk 1563 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c csk, tid, rpl->status); csk 1564 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c csk->err = -EINVAL; csk 1567 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c complete(&csk->cmpl); csk 1572 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c static int alloc_cpls(struct cxgbi_sock *csk) csk 1574 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c csk->cpl_close = alloc_wr(sizeof(struct cpl_close_con_req), csk 1576 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c if (!csk->cpl_close) csk 1579 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c csk->cpl_abort_req = alloc_wr(sizeof(struct cpl_abort_req), csk 1581 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c if (!csk->cpl_abort_req) csk 1584 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c csk->cpl_abort_rpl = alloc_wr(sizeof(struct cpl_abort_rpl), csk 1586 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c if (!csk->cpl_abort_rpl) csk 1591 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c cxgbi_sock_free_cpl_skbs(csk); csk 1595 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c static inline void l2t_put(struct cxgbi_sock *csk) csk 1597 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c if (csk->l2t) { csk 1598 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c cxgb4_l2t_release(csk->l2t); csk 1599 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c csk->l2t = NULL; csk 1600 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c cxgbi_sock_put(csk); csk 1604 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c static void release_offload_resources(struct cxgbi_sock *csk) csk 1608 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c struct net_device *ndev = csk->cdev->ports[csk->port_id]; csk 1613 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c csk, csk->state, csk->flags, csk->tid); csk 1615 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c cxgbi_sock_free_cpl_skbs(csk); csk 1616 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c cxgbi_sock_purge_write_queue(csk); csk 1617 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c if (csk->wr_cred != csk->wr_max_cred) { csk 1618 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c cxgbi_sock_purge_wr_queue(csk); csk 1619 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c cxgbi_sock_reset_wr_list(csk); csk 1622 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c l2t_put(csk); csk 1624 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c if (csk->csk_family == AF_INET6) csk 1626 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c (const u32 *)&csk->saddr6.sin6_addr, 1); csk 1629 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c if (cxgbi_sock_flag(csk, CTPF_HAS_ATID)) csk 1630 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c free_atid(csk); csk 1631 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c else if (cxgbi_sock_flag(csk, CTPF_HAS_TID)) { csk 1632 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c lldi = cxgbi_cdev_priv(csk->cdev); csk 1633 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c cxgb4_remove_tid(lldi->tids, 0, csk->tid, csk 1634 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c csk->csk_family); csk 1635 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c cxgbi_sock_clear_flag(csk, CTPF_HAS_TID); csk 1636 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c cxgbi_sock_put(csk); csk 1638 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c csk->dst = NULL; csk 1685 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c static int init_act_open(struct cxgbi_sock *csk) csk 1687 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c struct cxgbi_device *cdev = csk->cdev; csk 1689 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c struct net_device *ndev = cdev->ports[csk->port_id]; csk 1703 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c csk, csk->state, csk->flags, csk->tid); csk 1705 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c if (csk->csk_family == AF_INET) csk 1706 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c daddr = &csk->daddr.sin_addr.s_addr; csk 1708 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c else if (csk->csk_family == AF_INET6) csk 1709 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c daddr = &csk->daddr6.sin6_addr; csk 1712 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c pr_err("address family 0x%x not supported\n", csk->csk_family); csk 1716 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c n = dst_neigh_lookup(csk->dst, daddr); csk 1726 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c csk->atid = cxgb4_alloc_atid(lldi->tids, csk); csk 1727 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c if (csk->atid < 0) { csk 1731 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c cxgbi_sock_set_flag(csk, CTPF_HAS_ATID); csk 1732 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c cxgbi_sock_get(csk); csk 1738 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c csk->dcb_priority = priority; csk 1739 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c csk->l2t = cxgb4_l2t_get(lldi->l2t, n, ndev, priority); csk 1741 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c csk->l2t = cxgb4_l2t_get(lldi->l2t, n, ndev, 0); csk 1743 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c if (!csk->l2t) { csk 1747 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c cxgbi_sock_get(csk); csk 1750 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c if (csk->csk_family == AF_INET6) csk 1751 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c cxgb4_clip_get(ndev, (const u32 *)&csk->saddr6.sin6_addr, 1); csk 1765 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c if (csk->csk_family == AF_INET) csk 1774 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c skb->sk = (struct sock *)csk; csk 1775 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c t4_set_arp_err_handler(skb, csk, cxgbi_sock_act_open_req_arp_failure); csk 1777 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c if (!csk->mtu) csk 1778 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c csk->mtu = dst_mtu(csk->dst); csk 1779 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c cxgb4_best_mtu(lldi->mtus, csk->mtu, &csk->mss_idx); csk 1780 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c csk->tx_chan = cxgb4_port_chan(ndev); csk 1781 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c csk->smac_idx = ((struct port_info *)netdev_priv(ndev))->smt_idx; csk 1783 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c csk->txq_idx = cxgb4_port_idx(ndev) * step; csk 1787 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c csk->rss_qid = lldi->rxq_ids[rxq_idx]; csk 1789 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c csk->snd_win = cxgb4i_snd_win; csk 1790 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c csk->rcv_win = cxgb4i_rcv_win; csk 1792 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c csk->rcv_win = CXGB4I_DEFAULT_10G_RCV_WIN; csk 1795 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c csk->rcv_win *= rcv_winf; csk 1798 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c csk->snd_win = CXGB4I_DEFAULT_10G_SND_WIN; csk 1801 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c csk->snd_win *= snd_winf; csk 1803 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c csk->wr_cred = lldi->wr_cred - csk 1805 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c csk->wr_max_cred = csk->wr_cred; csk 1806 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c csk->wr_una_cred = 0; csk 1807 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c cxgbi_sock_reset_wr_list(csk); csk 1808 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c csk->err = 0; csk 1811 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c (&csk->saddr), (&csk->daddr), csk, csk->state, csk 1812 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c csk->flags, csk->tx_chan, csk->txq_idx, csk->rss_qid, csk 1813 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c csk->mtu, csk->mss_idx, csk->smac_idx); csk 1821 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c cxgbi_sock_set_state(csk, CTP_ACTIVE_OPEN); csk 1822 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c if (csk->csk_family == AF_INET) csk 1823 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c send_act_open_req(csk, skb, csk->l2t); csk 1826 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c send_act_open_req6(csk, skb, csk->l2t); csk 1834 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c if (csk->csk_family == AF_INET6) csk 1836 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c (const u32 *)&csk->saddr6.sin6_addr, 1); csk 1935 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c static int ddp_ppod_write_idata(struct cxgbi_ppm *ppm, struct cxgbi_sock *csk, csk 1941 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c struct cxgbi_device *cdev = csk->cdev; csk 1943 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c csk->tid); csk 1961 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c set_wr_txq(skb, CPL_PRIORITY_DATA, csk->port_id); csk 1963 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c spin_lock_bh(&csk->lock); csk 1964 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c cxgbi_sock_skb_entail(csk, skb); csk 1965 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c spin_unlock_bh(&csk->lock); csk 1970 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c static int ddp_set_map(struct cxgbi_ppm *ppm, struct cxgbi_sock *csk, csk 1980 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c ttinfo->cid = csk->port_id; csk 1987 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c err = ddp_ppod_write_idata(ppm, csk, ttinfo, pidx, cnt, csk 1996 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c static int ddp_setup_conn_pgidx(struct cxgbi_sock *csk, unsigned int tid, csk 2011 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c INIT_TP_WR(req, csk->tid); csk 2012 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c OPCODE_TID(req) = htonl(MK_OPCODE_TID(CPL_SET_TCB_FIELD, csk->tid)); csk 2013 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c req->reply_ctrl = htons(NO_REPLY_V(0) | QUEUENO_V(csk->rss_qid)); csk 2017 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c set_wr_txq(skb, CPL_PRIORITY_CONTROL, csk->port_id); csk 2020 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c "csk 0x%p, tid 0x%x, pg_idx %u.\n", csk, csk->tid, pg_idx); csk 2022 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c reinit_completion(&csk->cmpl); csk 2023 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c cxgb4_ofld_send(csk->cdev->ports[csk->port_id], skb); csk 2024 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c wait_for_completion(&csk->cmpl); csk 2026 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c return csk->err; csk 2029 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c static int ddp_setup_conn_digest(struct cxgbi_sock *csk, unsigned int tid, csk 2042 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c csk->hcrc_len = (hcrc ? 4 : 0); csk 2043 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c csk->dcrc_len = (dcrc ? 4 : 0); csk 2048 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c req->reply_ctrl = htons(NO_REPLY_V(0) | QUEUENO_V(csk->rss_qid)); csk 2053 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c set_wr_txq(skb, CPL_PRIORITY_CONTROL, csk->port_id); csk 2056 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c "csk 0x%p, tid 0x%x, crc %d,%d.\n", csk, csk->tid, hcrc, dcrc); csk 2058 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c reinit_completion(&csk->cmpl); csk 2059 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c cxgb4_ofld_send(csk->cdev->ports[csk->port_id], skb); csk 2060 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c wait_for_completion(&csk->cmpl); csk 2062 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c return csk->err; csk 2304 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c struct cxgbi_sock *csk = pmap->port_csk[i]; csk 2306 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c if (csk->dcb_priority != priority) { csk 2307 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c iscsi_conn_failure(csk->user_data, csk 2310 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c "priority %u->%u.\n", csk, csk 2311 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c csk->dcb_priority, priority); csk 98 drivers/scsi/cxgbi/libcxgbi.c struct cxgbi_sock *csk; csk 103 drivers/scsi/cxgbi/libcxgbi.c csk = pmap->port_csk[i]; csk 107 drivers/scsi/cxgbi/libcxgbi.c csk, cdev); csk 108 drivers/scsi/cxgbi/libcxgbi.c spin_lock_bh(&csk->lock); csk 109 drivers/scsi/cxgbi/libcxgbi.c cxgbi_sock_set_flag(csk, CTPF_OFFLOAD_DOWN); csk 110 drivers/scsi/cxgbi/libcxgbi.c cxgbi_sock_closed(csk); csk 111 drivers/scsi/cxgbi/libcxgbi.c spin_unlock_bh(&csk->lock); csk 112 drivers/scsi/cxgbi/libcxgbi.c cxgbi_sock_put(csk); csk 422 drivers/scsi/cxgbi/libcxgbi.c struct cxgbi_sock *csk = pmap->port_csk[i]; csk 424 drivers/scsi/cxgbi/libcxgbi.c if (csk) { csk 425 drivers/scsi/cxgbi/libcxgbi.c if (csk->port_id == port_id) { csk 427 drivers/scsi/cxgbi/libcxgbi.c return csk; csk 437 drivers/scsi/cxgbi/libcxgbi.c static int sock_get_port(struct cxgbi_sock *csk) csk 439 drivers/scsi/cxgbi/libcxgbi.c struct cxgbi_device *cdev = csk->cdev; csk 447 drivers/scsi/cxgbi/libcxgbi.c cdev, csk->port_id, cdev->ports[csk->port_id]->name); csk 451 drivers/scsi/cxgbi/libcxgbi.c if (csk->csk_family == AF_INET) csk 452 drivers/scsi/cxgbi/libcxgbi.c port = &csk->saddr.sin_port; csk 454 drivers/scsi/cxgbi/libcxgbi.c port = &csk->saddr6.sin6_port; csk 466 drivers/scsi/cxgbi/libcxgbi.c cdev, csk->port_id, cdev->ports[csk->port_id]->name); csk 478 drivers/scsi/cxgbi/libcxgbi.c pmap->port_csk[idx] = csk; csk 480 drivers/scsi/cxgbi/libcxgbi.c cxgbi_sock_get(csk); csk 483 drivers/scsi/cxgbi/libcxgbi.c cdev, csk->port_id, csk 484 drivers/scsi/cxgbi/libcxgbi.c cdev->ports[csk->port_id]->name, csk 493 drivers/scsi/cxgbi/libcxgbi.c cdev, csk->port_id, cdev->ports[csk->port_id]->name, csk 498 drivers/scsi/cxgbi/libcxgbi.c static void sock_put_port(struct cxgbi_sock *csk) csk 500 drivers/scsi/cxgbi/libcxgbi.c struct cxgbi_device *cdev = csk->cdev; csk 504 drivers/scsi/cxgbi/libcxgbi.c if (csk->csk_family == AF_INET) csk 505 drivers/scsi/cxgbi/libcxgbi.c port = &csk->saddr.sin_port; csk 507 drivers/scsi/cxgbi/libcxgbi.c port = &csk->saddr6.sin6_port; csk 515 drivers/scsi/cxgbi/libcxgbi.c cdev, csk->port_id, csk 516 drivers/scsi/cxgbi/libcxgbi.c cdev->ports[csk->port_id]->name, csk 528 drivers/scsi/cxgbi/libcxgbi.c cdev, csk->port_id, cdev->ports[csk->port_id]->name, csk 531 drivers/scsi/cxgbi/libcxgbi.c cxgbi_sock_put(csk); csk 538 drivers/scsi/cxgbi/libcxgbi.c void cxgbi_sock_free_cpl_skbs(struct cxgbi_sock *csk) csk 540 drivers/scsi/cxgbi/libcxgbi.c if (csk->cpl_close) { csk 541 drivers/scsi/cxgbi/libcxgbi.c kfree_skb(csk->cpl_close); csk 542 drivers/scsi/cxgbi/libcxgbi.c csk->cpl_close = NULL; csk 544 drivers/scsi/cxgbi/libcxgbi.c if (csk->cpl_abort_req) { csk 545 drivers/scsi/cxgbi/libcxgbi.c kfree_skb(csk->cpl_abort_req); csk 546 drivers/scsi/cxgbi/libcxgbi.c csk->cpl_abort_req = NULL; csk 548 drivers/scsi/cxgbi/libcxgbi.c if (csk->cpl_abort_rpl) { csk 549 drivers/scsi/cxgbi/libcxgbi.c kfree_skb(csk->cpl_abort_rpl); csk 550 drivers/scsi/cxgbi/libcxgbi.c csk->cpl_abort_rpl = NULL; csk 557 drivers/scsi/cxgbi/libcxgbi.c struct cxgbi_sock *csk = kzalloc(sizeof(*csk), GFP_NOIO); csk 559 drivers/scsi/cxgbi/libcxgbi.c if (!csk) { csk 560 drivers/scsi/cxgbi/libcxgbi.c pr_info("alloc csk %zu failed.\n", sizeof(*csk)); csk 564 drivers/scsi/cxgbi/libcxgbi.c if (cdev->csk_alloc_cpls(csk) < 0) { csk 565 drivers/scsi/cxgbi/libcxgbi.c pr_info("csk 0x%p, alloc cpls failed.\n", csk); csk 566 drivers/scsi/cxgbi/libcxgbi.c kfree(csk); csk 570 drivers/scsi/cxgbi/libcxgbi.c spin_lock_init(&csk->lock); csk 571 drivers/scsi/cxgbi/libcxgbi.c kref_init(&csk->refcnt); csk 572 drivers/scsi/cxgbi/libcxgbi.c skb_queue_head_init(&csk->receive_queue); csk 573 drivers/scsi/cxgbi/libcxgbi.c skb_queue_head_init(&csk->write_queue); csk 574 drivers/scsi/cxgbi/libcxgbi.c timer_setup(&csk->retry_timer, NULL, 0); csk 575 drivers/scsi/cxgbi/libcxgbi.c init_completion(&csk->cmpl); csk 576 drivers/scsi/cxgbi/libcxgbi.c rwlock_init(&csk->callback_lock); csk 577 drivers/scsi/cxgbi/libcxgbi.c csk->cdev = cdev; csk 578 drivers/scsi/cxgbi/libcxgbi.c csk->flags = 0; csk 579 drivers/scsi/cxgbi/libcxgbi.c cxgbi_sock_set_state(csk, CTP_CLOSED); csk 581 drivers/scsi/cxgbi/libcxgbi.c log_debug(1 << CXGBI_DBG_SOCK, "cdev 0x%p, new csk 0x%p.\n", cdev, csk); csk 583 drivers/scsi/cxgbi/libcxgbi.c return csk; csk 611 drivers/scsi/cxgbi/libcxgbi.c struct cxgbi_sock *csk = NULL; csk 672 drivers/scsi/cxgbi/libcxgbi.c csk = cxgbi_sock_create(cdev); csk 673 drivers/scsi/cxgbi/libcxgbi.c if (!csk) { csk 677 drivers/scsi/cxgbi/libcxgbi.c csk->cdev = cdev; csk 678 drivers/scsi/cxgbi/libcxgbi.c csk->port_id = port; csk 679 drivers/scsi/cxgbi/libcxgbi.c csk->mtu = mtu; csk 680 drivers/scsi/cxgbi/libcxgbi.c csk->dst = dst; csk 682 drivers/scsi/cxgbi/libcxgbi.c csk->csk_family = AF_INET; csk 683 drivers/scsi/cxgbi/libcxgbi.c csk->daddr.sin_addr.s_addr = daddr->sin_addr.s_addr; csk 684 drivers/scsi/cxgbi/libcxgbi.c csk->daddr.sin_port = daddr->sin_port; csk 685 drivers/scsi/cxgbi/libcxgbi.c csk->daddr.sin_family = daddr->sin_family; csk 686 drivers/scsi/cxgbi/libcxgbi.c csk->saddr.sin_family = daddr->sin_family; csk 687 drivers/scsi/cxgbi/libcxgbi.c csk->saddr.sin_addr.s_addr = fl4.saddr; csk 690 drivers/scsi/cxgbi/libcxgbi.c return csk; csk 727 drivers/scsi/cxgbi/libcxgbi.c struct cxgbi_sock *csk = NULL; csk 783 drivers/scsi/cxgbi/libcxgbi.c csk = cxgbi_sock_create(cdev); csk 784 drivers/scsi/cxgbi/libcxgbi.c if (!csk) { csk 788 drivers/scsi/cxgbi/libcxgbi.c csk->cdev = cdev; csk 789 drivers/scsi/cxgbi/libcxgbi.c csk->port_id = port; csk 790 drivers/scsi/cxgbi/libcxgbi.c csk->mtu = mtu; csk 791 drivers/scsi/cxgbi/libcxgbi.c csk->dst = dst; csk 806 drivers/scsi/cxgbi/libcxgbi.c csk->csk_family = AF_INET6; csk 807 drivers/scsi/cxgbi/libcxgbi.c csk->daddr6.sin6_addr = daddr6->sin6_addr; csk 808 drivers/scsi/cxgbi/libcxgbi.c csk->daddr6.sin6_port = daddr6->sin6_port; csk 809 drivers/scsi/cxgbi/libcxgbi.c csk->daddr6.sin6_family = daddr6->sin6_family; csk 810 drivers/scsi/cxgbi/libcxgbi.c csk->saddr6.sin6_family = daddr6->sin6_family; csk 811 drivers/scsi/cxgbi/libcxgbi.c csk->saddr6.sin6_addr = pref_saddr; csk 814 drivers/scsi/cxgbi/libcxgbi.c return csk; csk 821 drivers/scsi/cxgbi/libcxgbi.c if (csk) csk 822 drivers/scsi/cxgbi/libcxgbi.c cxgbi_sock_closed(csk); csk 828 drivers/scsi/cxgbi/libcxgbi.c void cxgbi_sock_established(struct cxgbi_sock *csk, unsigned int snd_isn, csk 831 drivers/scsi/cxgbi/libcxgbi.c csk->write_seq = csk->snd_nxt = csk->snd_una = snd_isn; csk 832 drivers/scsi/cxgbi/libcxgbi.c dst_confirm(csk->dst); csk 834 drivers/scsi/cxgbi/libcxgbi.c cxgbi_sock_set_state(csk, CTP_ESTABLISHED); csk 838 drivers/scsi/cxgbi/libcxgbi.c static void cxgbi_inform_iscsi_conn_closing(struct cxgbi_sock *csk) csk 842 drivers/scsi/cxgbi/libcxgbi.c csk, csk->state, csk->flags, csk->user_data); csk 844 drivers/scsi/cxgbi/libcxgbi.c if (csk->state != CTP_ESTABLISHED) { csk 845 drivers/scsi/cxgbi/libcxgbi.c read_lock_bh(&csk->callback_lock); csk 846 drivers/scsi/cxgbi/libcxgbi.c if (csk->user_data) csk 847 drivers/scsi/cxgbi/libcxgbi.c iscsi_conn_failure(csk->user_data, csk 849 drivers/scsi/cxgbi/libcxgbi.c read_unlock_bh(&csk->callback_lock); csk 853 drivers/scsi/cxgbi/libcxgbi.c void cxgbi_sock_closed(struct cxgbi_sock *csk) csk 856 drivers/scsi/cxgbi/libcxgbi.c csk, (csk)->state, (csk)->flags, (csk)->tid); csk 857 drivers/scsi/cxgbi/libcxgbi.c cxgbi_sock_set_flag(csk, CTPF_ACTIVE_CLOSE_NEEDED); csk 858 drivers/scsi/cxgbi/libcxgbi.c if (csk->state == CTP_ACTIVE_OPEN || csk->state == CTP_CLOSED) csk 860 drivers/scsi/cxgbi/libcxgbi.c if (csk->saddr.sin_port) csk 861 drivers/scsi/cxgbi/libcxgbi.c sock_put_port(csk); csk 862 drivers/scsi/cxgbi/libcxgbi.c if (csk->dst) csk 863 drivers/scsi/cxgbi/libcxgbi.c dst_release(csk->dst); csk 864 drivers/scsi/cxgbi/libcxgbi.c csk->cdev->csk_release_offload_resources(csk); csk 865 drivers/scsi/cxgbi/libcxgbi.c cxgbi_sock_set_state(csk, CTP_CLOSED); csk 866 drivers/scsi/cxgbi/libcxgbi.c cxgbi_inform_iscsi_conn_closing(csk); csk 867 drivers/scsi/cxgbi/libcxgbi.c cxgbi_sock_put(csk); csk 871 drivers/scsi/cxgbi/libcxgbi.c static void need_active_close(struct cxgbi_sock *csk) csk 877 drivers/scsi/cxgbi/libcxgbi.c csk, (csk)->state, (csk)->flags, (csk)->tid); csk 878 drivers/scsi/cxgbi/libcxgbi.c spin_lock_bh(&csk->lock); csk 879 drivers/scsi/cxgbi/libcxgbi.c if (csk->dst) csk 880 drivers/scsi/cxgbi/libcxgbi.c dst_confirm(csk->dst); csk 881 drivers/scsi/cxgbi/libcxgbi.c data_lost = skb_queue_len(&csk->receive_queue); csk 882 drivers/scsi/cxgbi/libcxgbi.c __skb_queue_purge(&csk->receive_queue); csk 884 drivers/scsi/cxgbi/libcxgbi.c if (csk->state == CTP_ACTIVE_OPEN) csk 885 drivers/scsi/cxgbi/libcxgbi.c cxgbi_sock_set_flag(csk, CTPF_ACTIVE_CLOSE_NEEDED); csk 886 drivers/scsi/cxgbi/libcxgbi.c else if (csk->state == CTP_ESTABLISHED) { csk 888 drivers/scsi/cxgbi/libcxgbi.c cxgbi_sock_set_state(csk, CTP_ACTIVE_CLOSE); csk 889 drivers/scsi/cxgbi/libcxgbi.c } else if (csk->state == CTP_PASSIVE_CLOSE) { csk 891 drivers/scsi/cxgbi/libcxgbi.c cxgbi_sock_set_state(csk, CTP_CLOSE_WAIT_2); csk 895 drivers/scsi/cxgbi/libcxgbi.c if (!cxgbi_sock_flag(csk, CTPF_LOGOUT_RSP_RCVD) || csk 897 drivers/scsi/cxgbi/libcxgbi.c csk->cdev->csk_send_abort_req(csk); csk 899 drivers/scsi/cxgbi/libcxgbi.c csk->cdev->csk_send_close_req(csk); csk 902 drivers/scsi/cxgbi/libcxgbi.c spin_unlock_bh(&csk->lock); csk 905 drivers/scsi/cxgbi/libcxgbi.c void cxgbi_sock_fail_act_open(struct cxgbi_sock *csk, int errno) csk 908 drivers/scsi/cxgbi/libcxgbi.c csk, csk->state, csk->flags, csk 909 drivers/scsi/cxgbi/libcxgbi.c &csk->saddr.sin_addr.s_addr, csk->saddr.sin_port, csk 910 drivers/scsi/cxgbi/libcxgbi.c &csk->daddr.sin_addr.s_addr, csk->daddr.sin_port, csk 913 drivers/scsi/cxgbi/libcxgbi.c cxgbi_sock_set_state(csk, CTP_CONNECTING); csk 914 drivers/scsi/cxgbi/libcxgbi.c csk->err = errno; csk 915 drivers/scsi/cxgbi/libcxgbi.c cxgbi_sock_closed(csk); csk 921 drivers/scsi/cxgbi/libcxgbi.c struct cxgbi_sock *csk = (struct cxgbi_sock *)skb->sk; csk 922 drivers/scsi/cxgbi/libcxgbi.c struct module *owner = csk->cdev->owner; csk 925 drivers/scsi/cxgbi/libcxgbi.c csk, (csk)->state, (csk)->flags, (csk)->tid); csk 926 drivers/scsi/cxgbi/libcxgbi.c cxgbi_sock_get(csk); csk 927 drivers/scsi/cxgbi/libcxgbi.c spin_lock_bh(&csk->lock); csk 928 drivers/scsi/cxgbi/libcxgbi.c if (csk->state == CTP_ACTIVE_OPEN) csk 929 drivers/scsi/cxgbi/libcxgbi.c cxgbi_sock_fail_act_open(csk, -EHOSTUNREACH); csk 930 drivers/scsi/cxgbi/libcxgbi.c spin_unlock_bh(&csk->lock); csk 931 drivers/scsi/cxgbi/libcxgbi.c cxgbi_sock_put(csk); csk 938 drivers/scsi/cxgbi/libcxgbi.c void cxgbi_sock_rcv_abort_rpl(struct cxgbi_sock *csk) csk 940 drivers/scsi/cxgbi/libcxgbi.c cxgbi_sock_get(csk); csk 941 drivers/scsi/cxgbi/libcxgbi.c spin_lock_bh(&csk->lock); csk 943 drivers/scsi/cxgbi/libcxgbi.c cxgbi_sock_set_flag(csk, CTPF_ABORT_RPL_RCVD); csk 944 drivers/scsi/cxgbi/libcxgbi.c if (cxgbi_sock_flag(csk, CTPF_ABORT_RPL_PENDING)) { csk 945 drivers/scsi/cxgbi/libcxgbi.c cxgbi_sock_clear_flag(csk, CTPF_ABORT_RPL_PENDING); csk 946 drivers/scsi/cxgbi/libcxgbi.c if (cxgbi_sock_flag(csk, CTPF_ABORT_REQ_RCVD)) csk 948 drivers/scsi/cxgbi/libcxgbi.c csk, csk->state, csk->flags, csk->tid); csk 949 drivers/scsi/cxgbi/libcxgbi.c cxgbi_sock_closed(csk); csk 952 drivers/scsi/cxgbi/libcxgbi.c spin_unlock_bh(&csk->lock); csk 953 drivers/scsi/cxgbi/libcxgbi.c cxgbi_sock_put(csk); csk 957 drivers/scsi/cxgbi/libcxgbi.c void cxgbi_sock_rcv_peer_close(struct cxgbi_sock *csk) csk 960 drivers/scsi/cxgbi/libcxgbi.c csk, (csk)->state, (csk)->flags, (csk)->tid); csk 961 drivers/scsi/cxgbi/libcxgbi.c cxgbi_sock_get(csk); csk 962 drivers/scsi/cxgbi/libcxgbi.c spin_lock_bh(&csk->lock); csk 964 drivers/scsi/cxgbi/libcxgbi.c if (cxgbi_sock_flag(csk, CTPF_ABORT_RPL_PENDING)) csk 967 drivers/scsi/cxgbi/libcxgbi.c switch (csk->state) { csk 969 drivers/scsi/cxgbi/libcxgbi.c cxgbi_sock_set_state(csk, CTP_PASSIVE_CLOSE); csk 972 drivers/scsi/cxgbi/libcxgbi.c cxgbi_sock_set_state(csk, CTP_CLOSE_WAIT_2); csk 975 drivers/scsi/cxgbi/libcxgbi.c cxgbi_sock_closed(csk); csk 981 drivers/scsi/cxgbi/libcxgbi.c csk, csk->state, csk->flags, csk->tid); csk 983 drivers/scsi/cxgbi/libcxgbi.c cxgbi_inform_iscsi_conn_closing(csk); csk 985 drivers/scsi/cxgbi/libcxgbi.c spin_unlock_bh(&csk->lock); csk 986 drivers/scsi/cxgbi/libcxgbi.c cxgbi_sock_put(csk); csk 990 drivers/scsi/cxgbi/libcxgbi.c void cxgbi_sock_rcv_close_conn_rpl(struct cxgbi_sock *csk, u32 snd_nxt) csk 993 drivers/scsi/cxgbi/libcxgbi.c csk, (csk)->state, (csk)->flags, (csk)->tid); csk 994 drivers/scsi/cxgbi/libcxgbi.c cxgbi_sock_get(csk); csk 995 drivers/scsi/cxgbi/libcxgbi.c spin_lock_bh(&csk->lock); csk 997 drivers/scsi/cxgbi/libcxgbi.c csk->snd_una = snd_nxt - 1; csk 998 drivers/scsi/cxgbi/libcxgbi.c if (cxgbi_sock_flag(csk, CTPF_ABORT_RPL_PENDING)) csk 1001 drivers/scsi/cxgbi/libcxgbi.c switch (csk->state) { csk 1003 drivers/scsi/cxgbi/libcxgbi.c cxgbi_sock_set_state(csk, CTP_CLOSE_WAIT_1); csk 1007 drivers/scsi/cxgbi/libcxgbi.c cxgbi_sock_closed(csk); csk 1013 drivers/scsi/cxgbi/libcxgbi.c csk, csk->state, csk->flags, csk->tid); csk 1016 drivers/scsi/cxgbi/libcxgbi.c spin_unlock_bh(&csk->lock); csk 1017 drivers/scsi/cxgbi/libcxgbi.c cxgbi_sock_put(csk); csk 1021 drivers/scsi/cxgbi/libcxgbi.c void cxgbi_sock_rcv_wr_ack(struct cxgbi_sock *csk, unsigned int credits, csk 1026 drivers/scsi/cxgbi/libcxgbi.c csk, csk->state, csk->flags, csk->tid, credits, csk 1027 drivers/scsi/cxgbi/libcxgbi.c csk->wr_cred, csk->wr_una_cred, snd_una, seq_chk); csk 1029 drivers/scsi/cxgbi/libcxgbi.c spin_lock_bh(&csk->lock); csk 1031 drivers/scsi/cxgbi/libcxgbi.c csk->wr_cred += credits; csk 1032 drivers/scsi/cxgbi/libcxgbi.c if (csk->wr_una_cred > csk->wr_max_cred - csk->wr_cred) csk 1033 drivers/scsi/cxgbi/libcxgbi.c csk->wr_una_cred = csk->wr_max_cred - csk->wr_cred; csk 1036 drivers/scsi/cxgbi/libcxgbi.c struct sk_buff *p = cxgbi_sock_peek_wr(csk); csk 1040 drivers/scsi/cxgbi/libcxgbi.c csk, csk->state, csk->flags, csk->tid, credits, csk 1041 drivers/scsi/cxgbi/libcxgbi.c csk->wr_cred, csk->wr_una_cred); csk 1047 drivers/scsi/cxgbi/libcxgbi.c csk, csk->state, csk->flags, csk->tid, csk 1048 drivers/scsi/cxgbi/libcxgbi.c credits, csk->wr_cred, csk->wr_una_cred, csk 1053 drivers/scsi/cxgbi/libcxgbi.c cxgbi_sock_dequeue_wr(csk); csk 1059 drivers/scsi/cxgbi/libcxgbi.c cxgbi_sock_check_wr_invariants(csk); csk 1062 drivers/scsi/cxgbi/libcxgbi.c if (unlikely(before(snd_una, csk->snd_una))) { csk 1064 drivers/scsi/cxgbi/libcxgbi.c csk, csk->state, csk->flags, csk->tid, snd_una, csk 1065 drivers/scsi/cxgbi/libcxgbi.c csk->snd_una); csk 1069 drivers/scsi/cxgbi/libcxgbi.c if (csk->snd_una != snd_una) { csk 1070 drivers/scsi/cxgbi/libcxgbi.c csk->snd_una = snd_una; csk 1071 drivers/scsi/cxgbi/libcxgbi.c dst_confirm(csk->dst); csk 1075 drivers/scsi/cxgbi/libcxgbi.c if (skb_queue_len(&csk->write_queue)) { csk 1076 drivers/scsi/cxgbi/libcxgbi.c if (csk->cdev->csk_push_tx_frames(csk, 0)) csk 1077 drivers/scsi/cxgbi/libcxgbi.c cxgbi_conn_tx_open(csk); csk 1079 drivers/scsi/cxgbi/libcxgbi.c cxgbi_conn_tx_open(csk); csk 1081 drivers/scsi/cxgbi/libcxgbi.c spin_unlock_bh(&csk->lock); csk 1085 drivers/scsi/cxgbi/libcxgbi.c static unsigned int cxgbi_sock_find_best_mtu(struct cxgbi_sock *csk, csk 1090 drivers/scsi/cxgbi/libcxgbi.c while (i < csk->cdev->nmtus - 1 && csk->cdev->mtus[i + 1] <= mtu) csk 1096 drivers/scsi/cxgbi/libcxgbi.c unsigned int cxgbi_sock_select_mss(struct cxgbi_sock *csk, unsigned int pmtu) csk 1099 drivers/scsi/cxgbi/libcxgbi.c struct dst_entry *dst = csk->dst; csk 1101 drivers/scsi/cxgbi/libcxgbi.c csk->advmss = dst_metric_advmss(dst); csk 1103 drivers/scsi/cxgbi/libcxgbi.c if (csk->advmss > pmtu - 40) csk 1104 drivers/scsi/cxgbi/libcxgbi.c csk->advmss = pmtu - 40; csk 1105 drivers/scsi/cxgbi/libcxgbi.c if (csk->advmss < csk->cdev->mtus[0] - 40) csk 1106 drivers/scsi/cxgbi/libcxgbi.c csk->advmss = csk->cdev->mtus[0] - 40; csk 1107 drivers/scsi/cxgbi/libcxgbi.c idx = cxgbi_sock_find_best_mtu(csk, csk->advmss + 40); csk 1113 drivers/scsi/cxgbi/libcxgbi.c void cxgbi_sock_skb_entail(struct cxgbi_sock *csk, struct sk_buff *skb) csk 1115 drivers/scsi/cxgbi/libcxgbi.c cxgbi_skcb_tcp_seq(skb) = csk->write_seq; csk 1116 drivers/scsi/cxgbi/libcxgbi.c __skb_queue_tail(&csk->write_queue, skb); csk 1120 drivers/scsi/cxgbi/libcxgbi.c void cxgbi_sock_purge_wr_queue(struct cxgbi_sock *csk) csk 1124 drivers/scsi/cxgbi/libcxgbi.c while ((skb = cxgbi_sock_dequeue_wr(csk)) != NULL) csk 1129 drivers/scsi/cxgbi/libcxgbi.c void cxgbi_sock_check_wr_invariants(const struct cxgbi_sock *csk) csk 1131 drivers/scsi/cxgbi/libcxgbi.c int pending = cxgbi_sock_count_pending_wrs(csk); csk 1133 drivers/scsi/cxgbi/libcxgbi.c if (unlikely(csk->wr_cred + pending != csk->wr_max_cred)) csk 1135 drivers/scsi/cxgbi/libcxgbi.c csk, csk->tid, csk->wr_cred, pending, csk->wr_max_cred); csk 1139 drivers/scsi/cxgbi/libcxgbi.c static int cxgbi_sock_send_pdus(struct cxgbi_sock *csk, struct sk_buff *skb) csk 1141 drivers/scsi/cxgbi/libcxgbi.c struct cxgbi_device *cdev = csk->cdev; csk 1145 drivers/scsi/cxgbi/libcxgbi.c spin_lock_bh(&csk->lock); csk 1147 drivers/scsi/cxgbi/libcxgbi.c if (csk->state != CTP_ESTABLISHED) { csk 1150 drivers/scsi/cxgbi/libcxgbi.c csk, csk->state, csk->flags, csk->tid); csk 1155 drivers/scsi/cxgbi/libcxgbi.c if (csk->err) { csk 1158 drivers/scsi/cxgbi/libcxgbi.c csk, csk->state, csk->flags, csk->tid, csk->err); csk 1163 drivers/scsi/cxgbi/libcxgbi.c if (csk->write_seq - csk->snd_una >= csk->snd_win) { csk 1166 drivers/scsi/cxgbi/libcxgbi.c csk, csk->state, csk->flags, csk->tid, csk->write_seq, csk 1167 drivers/scsi/cxgbi/libcxgbi.c csk->snd_una, csk->snd_win); csk 1178 drivers/scsi/cxgbi/libcxgbi.c csk, skb_headroom(skb), cdev->skb_tx_rsvd); csk 1185 drivers/scsi/cxgbi/libcxgbi.c csk, skb_shinfo(skb)->nr_frags, skb->len, csk 1194 drivers/scsi/cxgbi/libcxgbi.c cxgbi_sock_skb_entail(csk, skb); csk 1196 drivers/scsi/cxgbi/libcxgbi.c csk->write_seq += skb->len + csk 1201 drivers/scsi/cxgbi/libcxgbi.c if (likely(skb_queue_len(&csk->write_queue))) csk 1202 drivers/scsi/cxgbi/libcxgbi.c cdev->csk_push_tx_frames(csk, 1); csk 1204 drivers/scsi/cxgbi/libcxgbi.c spin_unlock_bh(&csk->lock); csk 1209 drivers/scsi/cxgbi/libcxgbi.c copied = csk->err ? csk->err : -EPIPE; csk 1340 drivers/scsi/cxgbi/libcxgbi.c struct cxgbi_sock *csk = cconn->cep->csk; csk 1341 drivers/scsi/cxgbi/libcxgbi.c struct cxgbi_device *cdev = csk->cdev; csk 1400 drivers/scsi/cxgbi/libcxgbi.c ttinfo->cid = csk->port_id; csk 1402 drivers/scsi/cxgbi/libcxgbi.c cxgbi_ppm_make_ppod_hdr(ppm, ttinfo->tag, csk->tid, sgl->offset, csk 1410 drivers/scsi/cxgbi/libcxgbi.c err = cdev->csk_ddp_set_map(ppm, csk, ttinfo); csk 1483 drivers/scsi/cxgbi/libcxgbi.c cconn->cep->csk, task, tdata->dlen, csk 1527 drivers/scsi/cxgbi/libcxgbi.c void cxgbi_conn_tx_open(struct cxgbi_sock *csk) csk 1529 drivers/scsi/cxgbi/libcxgbi.c struct iscsi_conn *conn = csk->user_data; csk 1533 drivers/scsi/cxgbi/libcxgbi.c "csk 0x%p, cid %d.\n", csk, conn->id); csk 1584 drivers/scsi/cxgbi/libcxgbi.c skb_read_pdu_bhs(struct cxgbi_sock *csk, struct iscsi_conn *conn, csk 1632 drivers/scsi/cxgbi/libcxgbi.c cxgbi_sock_set_flag(csk, CTPF_LOGOUT_RSP_RCVD); csk 1676 drivers/scsi/cxgbi/libcxgbi.c static void csk_return_rx_credits(struct cxgbi_sock *csk, int copied) csk 1678 drivers/scsi/cxgbi/libcxgbi.c struct cxgbi_device *cdev = csk->cdev; csk 1684 drivers/scsi/cxgbi/libcxgbi.c csk, csk->state, csk->flags, csk->tid, csk->copied_seq, csk 1685 drivers/scsi/cxgbi/libcxgbi.c csk->rcv_wup, cdev->rx_credit_thres, csk 1686 drivers/scsi/cxgbi/libcxgbi.c csk->rcv_win); csk 1691 drivers/scsi/cxgbi/libcxgbi.c if (csk->state != CTP_ESTABLISHED) csk 1694 drivers/scsi/cxgbi/libcxgbi.c credits = csk->copied_seq - csk->rcv_wup; csk 1697 drivers/scsi/cxgbi/libcxgbi.c must_send = credits + 16384 >= csk->rcv_win; csk 1699 drivers/scsi/cxgbi/libcxgbi.c csk->rcv_wup += cdev->csk_send_rx_credits(csk, credits); csk 1702 drivers/scsi/cxgbi/libcxgbi.c void cxgbi_conn_pdu_ready(struct cxgbi_sock *csk) csk 1704 drivers/scsi/cxgbi/libcxgbi.c struct cxgbi_device *cdev = csk->cdev; csk 1705 drivers/scsi/cxgbi/libcxgbi.c struct iscsi_conn *conn = csk->user_data; csk 1711 drivers/scsi/cxgbi/libcxgbi.c "csk 0x%p, conn 0x%p.\n", csk, conn); csk 1716 drivers/scsi/cxgbi/libcxgbi.c csk, conn, conn ? conn->id : 0xFF, csk 1722 drivers/scsi/cxgbi/libcxgbi.c skb = skb_peek(&csk->receive_queue); csk 1731 drivers/scsi/cxgbi/libcxgbi.c __skb_unlink(skb, &csk->receive_queue); csk 1736 drivers/scsi/cxgbi/libcxgbi.c csk, skb, skb->len, cxgbi_skcb_flags(skb), csk 1740 drivers/scsi/cxgbi/libcxgbi.c err = skb_read_pdu_bhs(csk, conn, skb); csk 1744 drivers/scsi/cxgbi/libcxgbi.c csk, skb, skb->len, csk 1754 drivers/scsi/cxgbi/libcxgbi.c csk, skb, skb->len, csk 1758 drivers/scsi/cxgbi/libcxgbi.c err = skb_read_pdu_bhs(csk, conn, skb); csk 1762 drivers/scsi/cxgbi/libcxgbi.c csk, skb, skb->len, csk 1771 drivers/scsi/cxgbi/libcxgbi.c dskb = skb_peek(&csk->receive_queue); csk 1775 drivers/scsi/cxgbi/libcxgbi.c csk, skb, skb->len, csk 1781 drivers/scsi/cxgbi/libcxgbi.c __skb_unlink(dskb, &csk->receive_queue); csk 1788 drivers/scsi/cxgbi/libcxgbi.c csk, skb, skb->len, csk 1803 drivers/scsi/cxgbi/libcxgbi.c log_debug(1 << CXGBI_DBG_PDU_RX, "csk 0x%p, read %u.\n", csk, read); csk 1805 drivers/scsi/cxgbi/libcxgbi.c csk->copied_seq += read; csk 1806 drivers/scsi/cxgbi/libcxgbi.c csk_return_rx_credits(csk, read); csk 1812 drivers/scsi/cxgbi/libcxgbi.c csk, conn, err, read); csk 1895 drivers/scsi/cxgbi/libcxgbi.c struct cxgbi_sock *csk = cconn->cep->csk; csk 1896 drivers/scsi/cxgbi/libcxgbi.c struct net_device *ndev = cdev->ports[csk->port_id]; csk 2069 drivers/scsi/cxgbi/libcxgbi.c struct cxgbi_sock *csk = NULL; csk 2080 drivers/scsi/cxgbi/libcxgbi.c csk = cconn->cep->csk; csk 2081 drivers/scsi/cxgbi/libcxgbi.c if (!csk) { csk 2092 drivers/scsi/cxgbi/libcxgbi.c struct cxgbi_ppm *ppm = csk->cdev->cdev2ppm(csk->cdev); csk 2095 drivers/scsi/cxgbi/libcxgbi.c if (csk->cdev->csk_ddp_set_map(ppm, csk, ttinfo) < 0) csk 2104 drivers/scsi/cxgbi/libcxgbi.c err = cxgbi_sock_send_pdus(cconn->cep->csk, skb); csk 2247 drivers/scsi/cxgbi/libcxgbi.c struct cxgbi_sock *csk = cconn->cep->csk; csk 2258 drivers/scsi/cxgbi/libcxgbi.c err = csk->cdev->csk_ddp_setup_digest(csk, csk->tid, csk 2265 drivers/scsi/cxgbi/libcxgbi.c err = csk->cdev->csk_ddp_setup_digest(csk, csk->tid, csk 2288 drivers/scsi/cxgbi/libcxgbi.c static inline int csk_print_port(struct cxgbi_sock *csk, char *buf) csk 2292 drivers/scsi/cxgbi/libcxgbi.c cxgbi_sock_get(csk); csk 2293 drivers/scsi/cxgbi/libcxgbi.c len = sprintf(buf, "%hu\n", ntohs(csk->daddr.sin_port)); csk 2294 drivers/scsi/cxgbi/libcxgbi.c cxgbi_sock_put(csk); csk 2299 drivers/scsi/cxgbi/libcxgbi.c static inline int csk_print_ip(struct cxgbi_sock *csk, char *buf) csk 2303 drivers/scsi/cxgbi/libcxgbi.c cxgbi_sock_get(csk); csk 2304 drivers/scsi/cxgbi/libcxgbi.c if (csk->csk_family == AF_INET) csk 2306 drivers/scsi/cxgbi/libcxgbi.c &csk->daddr.sin_addr.s_addr); csk 2309 drivers/scsi/cxgbi/libcxgbi.c &csk->daddr6.sin6_addr); csk 2311 drivers/scsi/cxgbi/libcxgbi.c cxgbi_sock_put(csk); csk 2320 drivers/scsi/cxgbi/libcxgbi.c struct cxgbi_sock *csk; csk 2331 drivers/scsi/cxgbi/libcxgbi.c csk = cep->csk; csk 2332 drivers/scsi/cxgbi/libcxgbi.c if (!csk) csk 2336 drivers/scsi/cxgbi/libcxgbi.c &csk->daddr, param, buf); csk 2379 drivers/scsi/cxgbi/libcxgbi.c struct cxgbi_sock *csk; csk 2388 drivers/scsi/cxgbi/libcxgbi.c csk = cep->csk; csk 2390 drivers/scsi/cxgbi/libcxgbi.c ppm = csk->cdev->cdev2ppm(csk->cdev); csk 2391 drivers/scsi/cxgbi/libcxgbi.c err = csk->cdev->csk_ddp_setup_pgidx(csk, csk->tid, csk 2403 drivers/scsi/cxgbi/libcxgbi.c write_lock_bh(&csk->callback_lock); csk 2404 drivers/scsi/cxgbi/libcxgbi.c csk->user_data = conn; csk 2408 drivers/scsi/cxgbi/libcxgbi.c write_unlock_bh(&csk->callback_lock); csk 2415 drivers/scsi/cxgbi/libcxgbi.c cls_session, cls_conn, ep, cconn, csk); csk 2534 drivers/scsi/cxgbi/libcxgbi.c struct cxgbi_sock *csk = find_sock_on_port(chba->cdev, csk 2536 drivers/scsi/cxgbi/libcxgbi.c if (csk) { csk 2538 drivers/scsi/cxgbi/libcxgbi.c (struct sockaddr *)&csk->saddr); csk 2559 drivers/scsi/cxgbi/libcxgbi.c struct cxgbi_sock *csk; csk 2577 drivers/scsi/cxgbi/libcxgbi.c csk = cxgbi_check_route(dst_addr, ifindex); csk 2580 drivers/scsi/cxgbi/libcxgbi.c csk = cxgbi_check_route6(dst_addr, ifindex); csk 2589 drivers/scsi/cxgbi/libcxgbi.c if (IS_ERR(csk)) csk 2590 drivers/scsi/cxgbi/libcxgbi.c return (struct iscsi_endpoint *)csk; csk 2591 drivers/scsi/cxgbi/libcxgbi.c cxgbi_sock_get(csk); csk 2594 drivers/scsi/cxgbi/libcxgbi.c hba = csk->cdev->hbas[csk->port_id]; csk 2595 drivers/scsi/cxgbi/libcxgbi.c else if (hba != csk->cdev->hbas[csk->port_id]) { csk 2597 drivers/scsi/cxgbi/libcxgbi.c cxgbi_sock_put(csk); csk 2598 drivers/scsi/cxgbi/libcxgbi.c cxgbi_sock_closed(csk); csk 2606 drivers/scsi/cxgbi/libcxgbi.c csk->cdev->hbas[csk->port_id], csk->port_id); csk 2611 drivers/scsi/cxgbi/libcxgbi.c err = sock_get_port(csk); csk 2615 drivers/scsi/cxgbi/libcxgbi.c cxgbi_sock_set_state(csk, CTP_CONNECTING); csk 2616 drivers/scsi/cxgbi/libcxgbi.c err = csk->cdev->csk_init_act_open(csk); csk 2620 drivers/scsi/cxgbi/libcxgbi.c if (cxgbi_sock_is_closing(csk)) { csk 2622 drivers/scsi/cxgbi/libcxgbi.c pr_info("csk 0x%p is closing.\n", csk); csk 2634 drivers/scsi/cxgbi/libcxgbi.c cep->csk = csk; csk 2639 drivers/scsi/cxgbi/libcxgbi.c ep, cep, csk, hba, hba->ndev->name); csk 2643 drivers/scsi/cxgbi/libcxgbi.c cxgbi_sock_put(csk); csk 2644 drivers/scsi/cxgbi/libcxgbi.c cxgbi_sock_closed(csk); csk 2653 drivers/scsi/cxgbi/libcxgbi.c struct cxgbi_sock *csk = cep->csk; csk 2655 drivers/scsi/cxgbi/libcxgbi.c if (!cxgbi_sock_is_established(csk)) csk 2665 drivers/scsi/cxgbi/libcxgbi.c struct cxgbi_sock *csk = cep->csk; csk 2669 drivers/scsi/cxgbi/libcxgbi.c ep, cep, cconn, csk, csk->state, csk->flags); csk 2673 drivers/scsi/cxgbi/libcxgbi.c write_lock_bh(&csk->callback_lock); csk 2674 drivers/scsi/cxgbi/libcxgbi.c cep->csk->user_data = NULL; csk 2676 drivers/scsi/cxgbi/libcxgbi.c write_unlock_bh(&csk->callback_lock); csk 2680 drivers/scsi/cxgbi/libcxgbi.c if (likely(csk->state >= CTP_ESTABLISHED)) csk 2681 drivers/scsi/cxgbi/libcxgbi.c need_active_close(csk); csk 2683 drivers/scsi/cxgbi/libcxgbi.c cxgbi_sock_closed(csk); csk 2685 drivers/scsi/cxgbi/libcxgbi.c cxgbi_sock_put(csk); csk 259 drivers/scsi/cxgbi/libcxgbi.h static inline void cxgbi_sock_set_flag(struct cxgbi_sock *csk, csk 262 drivers/scsi/cxgbi/libcxgbi.h __set_bit(flag, &csk->flags); csk 265 drivers/scsi/cxgbi/libcxgbi.h csk, csk->state, csk->flags, flag); csk 268 drivers/scsi/cxgbi/libcxgbi.h static inline void cxgbi_sock_clear_flag(struct cxgbi_sock *csk, csk 271 drivers/scsi/cxgbi/libcxgbi.h __clear_bit(flag, &csk->flags); csk 274 drivers/scsi/cxgbi/libcxgbi.h csk, csk->state, csk->flags, flag); csk 277 drivers/scsi/cxgbi/libcxgbi.h static inline int cxgbi_sock_flag(struct cxgbi_sock *csk, csk 280 drivers/scsi/cxgbi/libcxgbi.h if (csk == NULL) csk 282 drivers/scsi/cxgbi/libcxgbi.h return test_bit(flag, &csk->flags); csk 285 drivers/scsi/cxgbi/libcxgbi.h static inline void cxgbi_sock_set_state(struct cxgbi_sock *csk, int state) csk 289 drivers/scsi/cxgbi/libcxgbi.h csk, csk->state, csk->flags, state); csk 290 drivers/scsi/cxgbi/libcxgbi.h csk->state = state; csk 295 drivers/scsi/cxgbi/libcxgbi.h struct cxgbi_sock *csk = container_of(kref, csk 298 drivers/scsi/cxgbi/libcxgbi.h if (csk) { csk 301 drivers/scsi/cxgbi/libcxgbi.h csk, csk->state, csk->flags); csk 302 drivers/scsi/cxgbi/libcxgbi.h kfree(csk); csk 306 drivers/scsi/cxgbi/libcxgbi.h static inline void __cxgbi_sock_put(const char *fn, struct cxgbi_sock *csk) csk 310 drivers/scsi/cxgbi/libcxgbi.h fn, csk, kref_read(&csk->refcnt)); csk 311 drivers/scsi/cxgbi/libcxgbi.h kref_put(&csk->refcnt, cxgbi_sock_free); csk 313 drivers/scsi/cxgbi/libcxgbi.h #define cxgbi_sock_put(csk) __cxgbi_sock_put(__func__, csk) csk 315 drivers/scsi/cxgbi/libcxgbi.h static inline void __cxgbi_sock_get(const char *fn, struct cxgbi_sock *csk) csk 319 drivers/scsi/cxgbi/libcxgbi.h fn, csk, kref_read(&csk->refcnt)); csk 320 drivers/scsi/cxgbi/libcxgbi.h kref_get(&csk->refcnt); csk 322 drivers/scsi/cxgbi/libcxgbi.h #define cxgbi_sock_get(csk) __cxgbi_sock_get(__func__, csk) csk 324 drivers/scsi/cxgbi/libcxgbi.h static inline int cxgbi_sock_is_closing(struct cxgbi_sock *csk) csk 326 drivers/scsi/cxgbi/libcxgbi.h return csk->state >= CTP_ACTIVE_CLOSE; csk 329 drivers/scsi/cxgbi/libcxgbi.h static inline int cxgbi_sock_is_established(struct cxgbi_sock *csk) csk 331 drivers/scsi/cxgbi/libcxgbi.h return csk->state == CTP_ESTABLISHED; csk 334 drivers/scsi/cxgbi/libcxgbi.h static inline void cxgbi_sock_purge_write_queue(struct cxgbi_sock *csk) csk 338 drivers/scsi/cxgbi/libcxgbi.h while ((skb = __skb_dequeue(&csk->write_queue))) csk 372 drivers/scsi/cxgbi/libcxgbi.h static inline void cxgbi_sock_reset_wr_list(struct cxgbi_sock *csk) csk 374 drivers/scsi/cxgbi/libcxgbi.h csk->wr_pending_head = csk->wr_pending_tail = NULL; csk 377 drivers/scsi/cxgbi/libcxgbi.h static inline void cxgbi_sock_enqueue_wr(struct cxgbi_sock *csk, csk 387 drivers/scsi/cxgbi/libcxgbi.h if (!csk->wr_pending_head) csk 388 drivers/scsi/cxgbi/libcxgbi.h csk->wr_pending_head = skb; csk 390 drivers/scsi/cxgbi/libcxgbi.h cxgbi_skcb_tx_wr_next(csk->wr_pending_tail) = skb; csk 391 drivers/scsi/cxgbi/libcxgbi.h csk->wr_pending_tail = skb; csk 394 drivers/scsi/cxgbi/libcxgbi.h static inline int cxgbi_sock_count_pending_wrs(const struct cxgbi_sock *csk) csk 397 drivers/scsi/cxgbi/libcxgbi.h const struct sk_buff *skb = csk->wr_pending_head; csk 406 drivers/scsi/cxgbi/libcxgbi.h static inline struct sk_buff *cxgbi_sock_peek_wr(const struct cxgbi_sock *csk) csk 408 drivers/scsi/cxgbi/libcxgbi.h return csk->wr_pending_head; csk 411 drivers/scsi/cxgbi/libcxgbi.h static inline struct sk_buff *cxgbi_sock_dequeue_wr(struct cxgbi_sock *csk) csk 413 drivers/scsi/cxgbi/libcxgbi.h struct sk_buff *skb = csk->wr_pending_head; csk 416 drivers/scsi/cxgbi/libcxgbi.h csk->wr_pending_head = cxgbi_skcb_tx_wr_next(skb); csk 523 drivers/scsi/cxgbi/libcxgbi.h struct cxgbi_sock *csk; csk 259 drivers/target/iscsi/cxgbit/cxgbit.h static inline void cxgbit_get_csk(struct cxgbit_sock *csk) csk 261 drivers/target/iscsi/cxgbit/cxgbit.h kref_get(&csk->kref); csk 264 drivers/target/iscsi/cxgbit/cxgbit.h static inline void cxgbit_put_csk(struct cxgbit_sock *csk) csk 266 drivers/target/iscsi/cxgbit/cxgbit.h kref_put(&csk->kref, _cxgbit_free_csk); csk 279 drivers/target/iscsi/cxgbit/cxgbit.h static inline void cxgbit_sock_reset_wr_list(struct cxgbit_sock *csk) csk 281 drivers/target/iscsi/cxgbit/cxgbit.h csk->wr_pending_tail = NULL; csk 282 drivers/target/iscsi/cxgbit/cxgbit.h csk->wr_pending_head = NULL; csk 285 drivers/target/iscsi/cxgbit/cxgbit.h static inline struct sk_buff *cxgbit_sock_peek_wr(const struct cxgbit_sock *csk) csk 287 drivers/target/iscsi/cxgbit/cxgbit.h return csk->wr_pending_head; csk 291 drivers/target/iscsi/cxgbit/cxgbit.h cxgbit_sock_enqueue_wr(struct cxgbit_sock *csk, struct sk_buff *skb) csk 297 drivers/target/iscsi/cxgbit/cxgbit.h if (!csk->wr_pending_head) csk 298 drivers/target/iscsi/cxgbit/cxgbit.h csk->wr_pending_head = skb; csk 300 drivers/target/iscsi/cxgbit/cxgbit.h cxgbit_skcb_tx_wr_next(csk->wr_pending_tail) = skb; csk 301 drivers/target/iscsi/cxgbit/cxgbit.h csk->wr_pending_tail = skb; csk 304 drivers/target/iscsi/cxgbit/cxgbit.h static inline struct sk_buff *cxgbit_sock_dequeue_wr(struct cxgbit_sock *csk) csk 306 drivers/target/iscsi/cxgbit/cxgbit.h struct sk_buff *skb = csk->wr_pending_head; csk 309 drivers/target/iscsi/cxgbit/cxgbit.h csk->wr_pending_head = cxgbit_skcb_tx_wr_next(skb); csk 322 drivers/target/iscsi/cxgbit/cxgbit.h void cxgbit_abort_conn(struct cxgbit_sock *csk); csk 469 drivers/target/iscsi/cxgbit/cxgbit_cm.c struct cxgbit_sock *csk) csk 472 drivers/target/iscsi/cxgbit/cxgbit_cm.c conn->login_sockaddr = csk->com.remote_addr; csk 473 drivers/target/iscsi/cxgbit/cxgbit_cm.c conn->local_sockaddr = csk->com.local_addr; csk 479 drivers/target/iscsi/cxgbit/cxgbit_cm.c struct cxgbit_sock *csk; csk 504 drivers/target/iscsi/cxgbit/cxgbit_cm.c csk = list_first_entry(&cnp->np_accept_list, csk 508 drivers/target/iscsi/cxgbit/cxgbit_cm.c list_del_init(&csk->accept_node); csk 510 drivers/target/iscsi/cxgbit/cxgbit_cm.c conn->context = csk; csk 511 drivers/target/iscsi/cxgbit/cxgbit_cm.c csk->conn = conn; csk 513 drivers/target/iscsi/cxgbit/cxgbit_cm.c cxgbit_set_conn_info(np, conn, csk); csk 598 drivers/target/iscsi/cxgbit/cxgbit_cm.c static void __cxgbit_free_conn(struct cxgbit_sock *csk); csk 603 drivers/target/iscsi/cxgbit/cxgbit_cm.c struct cxgbit_sock *csk, *tmp; csk 612 drivers/target/iscsi/cxgbit/cxgbit_cm.c list_for_each_entry_safe(csk, tmp, &cnp->np_accept_list, accept_node) { csk 613 drivers/target/iscsi/cxgbit/cxgbit_cm.c list_del_init(&csk->accept_node); csk 614 drivers/target/iscsi/cxgbit/cxgbit_cm.c __cxgbit_free_conn(csk); csk 622 drivers/target/iscsi/cxgbit/cxgbit_cm.c static void cxgbit_send_halfclose(struct cxgbit_sock *csk) csk 631 drivers/target/iscsi/cxgbit/cxgbit_cm.c cxgb_mk_close_con_req(skb, len, csk->tid, csk->txq_idx, csk 635 drivers/target/iscsi/cxgbit/cxgbit_cm.c __skb_queue_tail(&csk->txq, skb); csk 636 drivers/target/iscsi/cxgbit/cxgbit_cm.c cxgbit_push_tx_frames(csk); csk 641 drivers/target/iscsi/cxgbit/cxgbit_cm.c struct cxgbit_sock *csk = handle; csk 645 drivers/target/iscsi/cxgbit/cxgbit_cm.c cxgbit_put_csk(csk); csk 658 drivers/target/iscsi/cxgbit/cxgbit_cm.c static int cxgbit_send_abort_req(struct cxgbit_sock *csk) csk 664 drivers/target/iscsi/cxgbit/cxgbit_cm.c __func__, csk, csk->tid, csk->com.state); csk 666 drivers/target/iscsi/cxgbit/cxgbit_cm.c __skb_queue_purge(&csk->txq); csk 668 drivers/target/iscsi/cxgbit/cxgbit_cm.c if (!test_and_set_bit(CSK_TX_DATA_SENT, &csk->com.flags)) csk 669 drivers/target/iscsi/cxgbit/cxgbit_cm.c cxgbit_send_tx_flowc_wr(csk); csk 671 drivers/target/iscsi/cxgbit/cxgbit_cm.c skb = __skb_dequeue(&csk->skbq); csk 672 drivers/target/iscsi/cxgbit/cxgbit_cm.c cxgb_mk_abort_req(skb, len, csk->tid, csk->txq_idx, csk 673 drivers/target/iscsi/cxgbit/cxgbit_cm.c csk->com.cdev, cxgbit_abort_arp_failure); csk 675 drivers/target/iscsi/cxgbit/cxgbit_cm.c return cxgbit_l2t_send(csk->com.cdev, skb, csk->l2t); csk 679 drivers/target/iscsi/cxgbit/cxgbit_cm.c __cxgbit_abort_conn(struct cxgbit_sock *csk, struct sk_buff *skb) csk 683 drivers/target/iscsi/cxgbit/cxgbit_cm.c if (csk->com.state != CSK_STATE_ESTABLISHED) csk 686 drivers/target/iscsi/cxgbit/cxgbit_cm.c set_bit(CSK_ABORT_RPL_WAIT, &csk->com.flags); csk 687 drivers/target/iscsi/cxgbit/cxgbit_cm.c csk->com.state = CSK_STATE_ABORTING; csk 689 drivers/target/iscsi/cxgbit/cxgbit_cm.c cxgbit_send_abort_req(csk); csk 694 drivers/target/iscsi/cxgbit/cxgbit_cm.c cxgbit_wake_up(&csk->com.wr_wait, __func__, CPL_ERR_NONE); csk 695 drivers/target/iscsi/cxgbit/cxgbit_cm.c cxgbit_put_csk(csk); csk 698 drivers/target/iscsi/cxgbit/cxgbit_cm.c void cxgbit_abort_conn(struct cxgbit_sock *csk) csk 702 drivers/target/iscsi/cxgbit/cxgbit_cm.c cxgbit_get_csk(csk); csk 703 drivers/target/iscsi/cxgbit/cxgbit_cm.c cxgbit_init_wr_wait(&csk->com.wr_wait); csk 705 drivers/target/iscsi/cxgbit/cxgbit_cm.c spin_lock_bh(&csk->lock); csk 706 drivers/target/iscsi/cxgbit/cxgbit_cm.c if (csk->lock_owner) { csk 708 drivers/target/iscsi/cxgbit/cxgbit_cm.c __skb_queue_tail(&csk->backlogq, skb); csk 710 drivers/target/iscsi/cxgbit/cxgbit_cm.c __cxgbit_abort_conn(csk, skb); csk 712 drivers/target/iscsi/cxgbit/cxgbit_cm.c spin_unlock_bh(&csk->lock); csk 714 drivers/target/iscsi/cxgbit/cxgbit_cm.c cxgbit_wait_for_reply(csk->com.cdev, &csk->com.wr_wait, csk 715 drivers/target/iscsi/cxgbit/cxgbit_cm.c csk->tid, 600, __func__); csk 718 drivers/target/iscsi/cxgbit/cxgbit_cm.c static void __cxgbit_free_conn(struct cxgbit_sock *csk) csk 720 drivers/target/iscsi/cxgbit/cxgbit_cm.c struct iscsi_conn *conn = csk->conn; csk 724 drivers/target/iscsi/cxgbit/cxgbit_cm.c __func__, csk->com.state); csk 726 drivers/target/iscsi/cxgbit/cxgbit_cm.c spin_lock_bh(&csk->lock); csk 727 drivers/target/iscsi/cxgbit/cxgbit_cm.c switch (csk->com.state) { csk 730 drivers/target/iscsi/cxgbit/cxgbit_cm.c csk->com.state = CSK_STATE_CLOSING; csk 731 drivers/target/iscsi/cxgbit/cxgbit_cm.c cxgbit_send_halfclose(csk); csk 733 drivers/target/iscsi/cxgbit/cxgbit_cm.c csk->com.state = CSK_STATE_ABORTING; csk 734 drivers/target/iscsi/cxgbit/cxgbit_cm.c cxgbit_send_abort_req(csk); csk 738 drivers/target/iscsi/cxgbit/cxgbit_cm.c csk->com.state = CSK_STATE_MORIBUND; csk 739 drivers/target/iscsi/cxgbit/cxgbit_cm.c cxgbit_send_halfclose(csk); csk 746 drivers/target/iscsi/cxgbit/cxgbit_cm.c __func__, csk, csk->com.state); csk 748 drivers/target/iscsi/cxgbit/cxgbit_cm.c spin_unlock_bh(&csk->lock); csk 751 drivers/target/iscsi/cxgbit/cxgbit_cm.c cxgbit_put_csk(csk); csk 759 drivers/target/iscsi/cxgbit/cxgbit_cm.c static void cxgbit_set_emss(struct cxgbit_sock *csk, u16 opt) csk 761 drivers/target/iscsi/cxgbit/cxgbit_cm.c csk->emss = csk->com.cdev->lldi.mtus[TCPOPT_MSS_G(opt)] - csk 762 drivers/target/iscsi/cxgbit/cxgbit_cm.c ((csk->com.remote_addr.ss_family == AF_INET) ? csk 765 drivers/target/iscsi/cxgbit/cxgbit_cm.c csk->mss = csk->emss; csk 767 drivers/target/iscsi/cxgbit/cxgbit_cm.c csk->emss -= round_up(TCPOLEN_TIMESTAMP, 4); csk 768 drivers/target/iscsi/cxgbit/cxgbit_cm.c if (csk->emss < 128) csk 769 drivers/target/iscsi/cxgbit/cxgbit_cm.c csk->emss = 128; csk 770 drivers/target/iscsi/cxgbit/cxgbit_cm.c if (csk->emss & 7) csk 772 drivers/target/iscsi/cxgbit/cxgbit_cm.c TCPOPT_MSS_G(opt), csk->mss, csk->emss); csk 774 drivers/target/iscsi/cxgbit/cxgbit_cm.c csk->mss, csk->emss); csk 777 drivers/target/iscsi/cxgbit/cxgbit_cm.c static void cxgbit_free_skb(struct cxgbit_sock *csk) csk 781 drivers/target/iscsi/cxgbit/cxgbit_cm.c __skb_queue_purge(&csk->txq); csk 782 drivers/target/iscsi/cxgbit/cxgbit_cm.c __skb_queue_purge(&csk->rxq); csk 783 drivers/target/iscsi/cxgbit/cxgbit_cm.c __skb_queue_purge(&csk->backlogq); csk 784 drivers/target/iscsi/cxgbit/cxgbit_cm.c __skb_queue_purge(&csk->ppodq); csk 785 drivers/target/iscsi/cxgbit/cxgbit_cm.c __skb_queue_purge(&csk->skbq); csk 787 drivers/target/iscsi/cxgbit/cxgbit_cm.c while ((skb = cxgbit_sock_dequeue_wr(csk))) csk 790 drivers/target/iscsi/cxgbit/cxgbit_cm.c __kfree_skb(csk->lro_hskb); csk 795 drivers/target/iscsi/cxgbit/cxgbit_cm.c struct cxgbit_sock *csk; csk 798 drivers/target/iscsi/cxgbit/cxgbit_cm.c csk = container_of(kref, struct cxgbit_sock, kref); csk 800 drivers/target/iscsi/cxgbit/cxgbit_cm.c pr_debug("%s csk %p state %d\n", __func__, csk, csk->com.state); csk 802 drivers/target/iscsi/cxgbit/cxgbit_cm.c if (csk->com.local_addr.ss_family == AF_INET6) { csk 804 drivers/target/iscsi/cxgbit/cxgbit_cm.c &csk->com.local_addr; csk 805 drivers/target/iscsi/cxgbit/cxgbit_cm.c cxgb4_clip_release(csk->com.cdev->lldi.ports[0], csk 810 drivers/target/iscsi/cxgbit/cxgbit_cm.c cxgb4_remove_tid(csk->com.cdev->lldi.tids, 0, csk->tid, csk 811 drivers/target/iscsi/cxgbit/cxgbit_cm.c csk->com.local_addr.ss_family); csk 812 drivers/target/iscsi/cxgbit/cxgbit_cm.c dst_release(csk->dst); csk 813 drivers/target/iscsi/cxgbit/cxgbit_cm.c cxgb4_l2t_release(csk->l2t); csk 815 drivers/target/iscsi/cxgbit/cxgbit_cm.c cdev = csk->com.cdev; csk 817 drivers/target/iscsi/cxgbit/cxgbit_cm.c list_del(&csk->list); csk 820 drivers/target/iscsi/cxgbit/cxgbit_cm.c cxgbit_free_skb(csk); csk 821 drivers/target/iscsi/cxgbit/cxgbit_cm.c cxgbit_put_cnp(csk->cnp); csk 824 drivers/target/iscsi/cxgbit/cxgbit_cm.c kfree(csk); csk 827 drivers/target/iscsi/cxgbit/cxgbit_cm.c static void cxgbit_set_tcp_window(struct cxgbit_sock *csk, struct port_info *pi) csk 836 drivers/target/iscsi/cxgbit/cxgbit_cm.c csk->rcv_win = CXGBIT_10G_RCV_WIN; csk 838 drivers/target/iscsi/cxgbit/cxgbit_cm.c csk->rcv_win *= scale; csk 841 drivers/target/iscsi/cxgbit/cxgbit_cm.c csk->snd_win = CXGBIT_10G_SND_WIN; csk 843 drivers/target/iscsi/cxgbit/cxgbit_cm.c csk->snd_win *= scale; csk 846 drivers/target/iscsi/cxgbit/cxgbit_cm.c __func__, csk->snd_win, csk->rcv_win); csk 897 drivers/target/iscsi/cxgbit/cxgbit_cm.c cxgbit_offload_init(struct cxgbit_sock *csk, int iptype, __u8 *peer_ip, csk 931 drivers/target/iscsi/cxgbit/cxgbit_cm.c csk->l2t = cxgb4_l2t_get(cdev->lldi.l2t, csk 933 drivers/target/iscsi/cxgbit/cxgbit_cm.c if (!csk->l2t) csk 935 drivers/target/iscsi/cxgbit/cxgbit_cm.c csk->mtu = ndev->mtu; csk 936 drivers/target/iscsi/cxgbit/cxgbit_cm.c csk->tx_chan = cxgb4_port_chan(ndev); csk 937 drivers/target/iscsi/cxgbit/cxgbit_cm.c csk->smac_idx = csk 941 drivers/target/iscsi/cxgbit/cxgbit_cm.c csk->txq_idx = cxgb4_port_idx(ndev) * step; csk 944 drivers/target/iscsi/cxgbit/cxgbit_cm.c csk->ctrlq_idx = cxgb4_port_idx(ndev); csk 945 drivers/target/iscsi/cxgbit/cxgbit_cm.c csk->rss_qid = cdev->lldi.rxq_ids[ csk 947 drivers/target/iscsi/cxgbit/cxgbit_cm.c csk->port_id = cxgb4_port_idx(ndev); csk 948 drivers/target/iscsi/cxgbit/cxgbit_cm.c cxgbit_set_tcp_window(csk, csk 962 drivers/target/iscsi/cxgbit/cxgbit_cm.c csk->dcb_priority = priority; csk 964 drivers/target/iscsi/cxgbit/cxgbit_cm.c csk->l2t = cxgb4_l2t_get(cdev->lldi.l2t, n, ndev, priority); csk 966 drivers/target/iscsi/cxgbit/cxgbit_cm.c csk->l2t = cxgb4_l2t_get(cdev->lldi.l2t, n, ndev, 0); csk 968 drivers/target/iscsi/cxgbit/cxgbit_cm.c if (!csk->l2t) csk 971 drivers/target/iscsi/cxgbit/cxgbit_cm.c csk->mtu = dst_mtu(dst); csk 972 drivers/target/iscsi/cxgbit/cxgbit_cm.c csk->tx_chan = cxgb4_port_chan(ndev); csk 973 drivers/target/iscsi/cxgbit/cxgbit_cm.c csk->smac_idx = csk 977 drivers/target/iscsi/cxgbit/cxgbit_cm.c csk->txq_idx = (port_id * step) + csk 979 drivers/target/iscsi/cxgbit/cxgbit_cm.c csk->ctrlq_idx = cxgb4_port_idx(ndev); csk 984 drivers/target/iscsi/cxgbit/cxgbit_cm.c csk->rss_qid = cdev->lldi.rxq_ids[rxq_idx]; csk 985 drivers/target/iscsi/cxgbit/cxgbit_cm.c csk->port_id = port_id; csk 986 drivers/target/iscsi/cxgbit/cxgbit_cm.c cxgbit_set_tcp_window(csk, csk 1043 drivers/target/iscsi/cxgbit/cxgbit_cm.c static void cxgbit_send_rx_credits(struct cxgbit_sock *csk, struct sk_buff *skb) csk 1045 drivers/target/iscsi/cxgbit/cxgbit_cm.c if (csk->com.state != CSK_STATE_ESTABLISHED) { csk 1050 drivers/target/iscsi/cxgbit/cxgbit_cm.c cxgbit_ofld_send(csk->com.cdev, skb); csk 1058 drivers/target/iscsi/cxgbit/cxgbit_cm.c int cxgbit_rx_data_ack(struct cxgbit_sock *csk) csk 1069 drivers/target/iscsi/cxgbit/cxgbit_cm.c RX_CREDITS_V(csk->rx_credits); csk 1071 drivers/target/iscsi/cxgbit/cxgbit_cm.c cxgb_mk_rx_data_ack(skb, len, csk->tid, csk->ctrlq_idx, csk 1074 drivers/target/iscsi/cxgbit/cxgbit_cm.c csk->rx_credits = 0; csk 1076 drivers/target/iscsi/cxgbit/cxgbit_cm.c spin_lock_bh(&csk->lock); csk 1077 drivers/target/iscsi/cxgbit/cxgbit_cm.c if (csk->lock_owner) { csk 1079 drivers/target/iscsi/cxgbit/cxgbit_cm.c __skb_queue_tail(&csk->backlogq, skb); csk 1080 drivers/target/iscsi/cxgbit/cxgbit_cm.c spin_unlock_bh(&csk->lock); csk 1084 drivers/target/iscsi/cxgbit/cxgbit_cm.c cxgbit_send_rx_credits(csk, skb); csk 1085 drivers/target/iscsi/cxgbit/cxgbit_cm.c spin_unlock_bh(&csk->lock); csk 1092 drivers/target/iscsi/cxgbit/cxgbit_cm.c static int cxgbit_alloc_csk_skb(struct cxgbit_sock *csk) csk 1111 drivers/target/iscsi/cxgbit/cxgbit_cm.c __skb_queue_tail(&csk->skbq, skb); csk 1119 drivers/target/iscsi/cxgbit/cxgbit_cm.c csk->lro_hskb = skb; csk 1123 drivers/target/iscsi/cxgbit/cxgbit_cm.c __skb_queue_purge(&csk->skbq); csk 1128 drivers/target/iscsi/cxgbit/cxgbit_cm.c cxgbit_pass_accept_rpl(struct cxgbit_sock *csk, struct cpl_pass_accept_req *req) csk 1133 drivers/target/iscsi/cxgbit/cxgbit_cm.c struct cxgb4_lld_info *lldi = &csk->com.cdev->lldi; csk 1141 drivers/target/iscsi/cxgbit/cxgbit_cm.c pr_debug("%s csk %p tid %u\n", __func__, csk, csk->tid); csk 1145 drivers/target/iscsi/cxgbit/cxgbit_cm.c cxgbit_put_csk(csk); csk 1151 drivers/target/iscsi/cxgbit/cxgbit_cm.c INIT_TP_WR(rpl5, csk->tid); csk 1153 drivers/target/iscsi/cxgbit/cxgbit_cm.c csk->tid)); csk 1154 drivers/target/iscsi/cxgbit/cxgbit_cm.c cxgb_best_mtu(csk->com.cdev->lldi.mtus, csk->mtu, &mtu_idx, csk 1156 drivers/target/iscsi/cxgbit/cxgbit_cm.c (csk->com.remote_addr.ss_family == AF_INET) ? 0 : 1); csk 1157 drivers/target/iscsi/cxgbit/cxgbit_cm.c wscale = cxgb_compute_wscale(csk->rcv_win); csk 1162 drivers/target/iscsi/cxgbit/cxgbit_cm.c win = csk->rcv_win >> 10; csk 1168 drivers/target/iscsi/cxgbit/cxgbit_cm.c L2T_IDX_V(csk->l2t->idx) | csk 1169 drivers/target/iscsi/cxgbit/cxgbit_cm.c TX_CHAN_V(csk->tx_chan) | csk 1170 drivers/target/iscsi/cxgbit/cxgbit_cm.c SMAC_SEL_V(csk->smac_idx) | csk 1171 drivers/target/iscsi/cxgbit/cxgbit_cm.c DSCP_V(csk->tos >> 2) | csk 1176 drivers/target/iscsi/cxgbit/cxgbit_cm.c RSS_QUEUE_VALID_F | RSS_QUEUE_V(csk->rss_qid); csk 1210 drivers/target/iscsi/cxgbit/cxgbit_cm.c set_wr_txq(skb, CPL_PRIORITY_SETUP, csk->ctrlq_idx); csk 1211 drivers/target/iscsi/cxgbit/cxgbit_cm.c t4_set_arp_err_handler(skb, csk, cxgbit_arp_failure_discard); csk 1212 drivers/target/iscsi/cxgbit/cxgbit_cm.c cxgbit_l2t_send(csk->com.cdev, skb, csk->l2t); csk 1218 drivers/target/iscsi/cxgbit/cxgbit_cm.c struct cxgbit_sock *csk = NULL; csk 1249 drivers/target/iscsi/cxgbit/cxgbit_cm.c csk = lookup_tid(t, tid); csk 1250 drivers/target/iscsi/cxgbit/cxgbit_cm.c if (csk) { csk 1290 drivers/target/iscsi/cxgbit/cxgbit_cm.c csk = kzalloc(sizeof(*csk), GFP_ATOMIC); csk 1291 drivers/target/iscsi/cxgbit/cxgbit_cm.c if (!csk) { csk 1296 drivers/target/iscsi/cxgbit/cxgbit_cm.c ret = cxgbit_offload_init(csk, iptype, peer_ip, ntohs(local_port), csk 1302 drivers/target/iscsi/cxgbit/cxgbit_cm.c kfree(csk); csk 1306 drivers/target/iscsi/cxgbit/cxgbit_cm.c kref_init(&csk->kref); csk 1307 drivers/target/iscsi/cxgbit/cxgbit_cm.c init_completion(&csk->com.wr_wait.completion); csk 1309 drivers/target/iscsi/cxgbit/cxgbit_cm.c INIT_LIST_HEAD(&csk->accept_node); csk 1313 drivers/target/iscsi/cxgbit/cxgbit_cm.c if (peer_mss && csk->mtu > (peer_mss + hdrs)) csk 1314 drivers/target/iscsi/cxgbit/cxgbit_cm.c csk->mtu = peer_mss + hdrs; csk 1316 drivers/target/iscsi/cxgbit/cxgbit_cm.c csk->com.state = CSK_STATE_CONNECTING; csk 1317 drivers/target/iscsi/cxgbit/cxgbit_cm.c csk->com.cdev = cdev; csk 1318 drivers/target/iscsi/cxgbit/cxgbit_cm.c csk->cnp = cnp; csk 1319 drivers/target/iscsi/cxgbit/cxgbit_cm.c csk->tos = PASS_OPEN_TOS_G(ntohl(req->tos_stid)); csk 1320 drivers/target/iscsi/cxgbit/cxgbit_cm.c csk->dst = dst; csk 1321 drivers/target/iscsi/cxgbit/cxgbit_cm.c csk->tid = tid; csk 1322 drivers/target/iscsi/cxgbit/cxgbit_cm.c csk->wr_cred = cdev->lldi.wr_cred - csk 1324 drivers/target/iscsi/cxgbit/cxgbit_cm.c csk->wr_max_cred = csk->wr_cred; csk 1325 drivers/target/iscsi/cxgbit/cxgbit_cm.c csk->wr_una_cred = 0; csk 1329 drivers/target/iscsi/cxgbit/cxgbit_cm.c &csk->com.local_addr; csk 1334 drivers/target/iscsi/cxgbit/cxgbit_cm.c sin = (struct sockaddr_in *)&csk->com.remote_addr; csk 1340 drivers/target/iscsi/cxgbit/cxgbit_cm.c &csk->com.local_addr; csk 1349 drivers/target/iscsi/cxgbit/cxgbit_cm.c sin6 = (struct sockaddr_in6 *)&csk->com.remote_addr; csk 1355 drivers/target/iscsi/cxgbit/cxgbit_cm.c skb_queue_head_init(&csk->rxq); csk 1356 drivers/target/iscsi/cxgbit/cxgbit_cm.c skb_queue_head_init(&csk->txq); csk 1357 drivers/target/iscsi/cxgbit/cxgbit_cm.c skb_queue_head_init(&csk->ppodq); csk 1358 drivers/target/iscsi/cxgbit/cxgbit_cm.c skb_queue_head_init(&csk->backlogq); csk 1359 drivers/target/iscsi/cxgbit/cxgbit_cm.c skb_queue_head_init(&csk->skbq); csk 1360 drivers/target/iscsi/cxgbit/cxgbit_cm.c cxgbit_sock_reset_wr_list(csk); csk 1361 drivers/target/iscsi/cxgbit/cxgbit_cm.c spin_lock_init(&csk->lock); csk 1362 drivers/target/iscsi/cxgbit/cxgbit_cm.c init_waitqueue_head(&csk->waitq); csk 1363 drivers/target/iscsi/cxgbit/cxgbit_cm.c init_waitqueue_head(&csk->ack_waitq); csk 1364 drivers/target/iscsi/cxgbit/cxgbit_cm.c csk->lock_owner = false; csk 1366 drivers/target/iscsi/cxgbit/cxgbit_cm.c if (cxgbit_alloc_csk_skb(csk)) { csk 1368 drivers/target/iscsi/cxgbit/cxgbit_cm.c kfree(csk); csk 1376 drivers/target/iscsi/cxgbit/cxgbit_cm.c list_add_tail(&csk->list, &cdev->cskq.list); csk 1378 drivers/target/iscsi/cxgbit/cxgbit_cm.c cxgb4_insert_tid(t, csk, tid, csk->com.local_addr.ss_family); csk 1379 drivers/target/iscsi/cxgbit/cxgbit_cm.c cxgbit_pass_accept_rpl(csk, req); csk 1389 drivers/target/iscsi/cxgbit/cxgbit_cm.c cxgbit_tx_flowc_wr_credits(struct cxgbit_sock *csk, u32 *nparamsp, csk 1396 drivers/target/iscsi/cxgbit/cxgbit_cm.c if (csk->snd_wscale) csk 1416 drivers/target/iscsi/cxgbit/cxgbit_cm.c u32 cxgbit_send_tx_flowc_wr(struct cxgbit_sock *csk) csk 1418 drivers/target/iscsi/cxgbit/cxgbit_cm.c struct cxgbit_device *cdev = csk->com.cdev; csk 1425 drivers/target/iscsi/cxgbit/cxgbit_cm.c u16 vlan = ((struct l2t_entry *)csk->l2t)->vlan; csk 1428 drivers/target/iscsi/cxgbit/cxgbit_cm.c flowclen16 = cxgbit_tx_flowc_wr_credits(csk, &nparams, &flowclen); csk 1430 drivers/target/iscsi/cxgbit/cxgbit_cm.c skb = __skb_dequeue(&csk->skbq); csk 1436 drivers/target/iscsi/cxgbit/cxgbit_cm.c FW_WR_FLOWID_V(csk->tid)); csk 1439 drivers/target/iscsi/cxgbit/cxgbit_cm.c (csk->com.cdev->lldi.pf)); csk 1441 drivers/target/iscsi/cxgbit/cxgbit_cm.c flowc->mnemval[1].val = cpu_to_be32(csk->tx_chan); csk 1443 drivers/target/iscsi/cxgbit/cxgbit_cm.c flowc->mnemval[2].val = cpu_to_be32(csk->tx_chan); csk 1445 drivers/target/iscsi/cxgbit/cxgbit_cm.c flowc->mnemval[3].val = cpu_to_be32(csk->rss_qid); csk 1447 drivers/target/iscsi/cxgbit/cxgbit_cm.c flowc->mnemval[4].val = cpu_to_be32(csk->snd_nxt); csk 1449 drivers/target/iscsi/cxgbit/cxgbit_cm.c flowc->mnemval[5].val = cpu_to_be32(csk->rcv_nxt); csk 1451 drivers/target/iscsi/cxgbit/cxgbit_cm.c flowc->mnemval[6].val = cpu_to_be32(csk->snd_win); csk 1453 drivers/target/iscsi/cxgbit/cxgbit_cm.c flowc->mnemval[7].val = cpu_to_be32(csk->emss); csk 1463 drivers/target/iscsi/cxgbit/cxgbit_cm.c if (csk->snd_wscale) { csk 1465 drivers/target/iscsi/cxgbit/cxgbit_cm.c flowc->mnemval[index].val = cpu_to_be32(csk->snd_wscale); csk 1472 drivers/target/iscsi/cxgbit/cxgbit_cm.c pr_warn("csk %u without VLAN Tag on DCB Link\n", csk->tid); csk 1481 drivers/target/iscsi/cxgbit/cxgbit_cm.c __func__, csk, csk->tx_chan, csk->rss_qid, csk->snd_nxt, csk 1482 drivers/target/iscsi/cxgbit/cxgbit_cm.c csk->rcv_nxt, csk->snd_win, csk->emss); csk 1483 drivers/target/iscsi/cxgbit/cxgbit_cm.c set_wr_txq(skb, CPL_PRIORITY_DATA, csk->txq_idx); csk 1484 drivers/target/iscsi/cxgbit/cxgbit_cm.c cxgbit_ofld_send(csk->com.cdev, skb); csk 1488 drivers/target/iscsi/cxgbit/cxgbit_cm.c int cxgbit_setup_conn_digest(struct cxgbit_sock *csk) csk 1492 drivers/target/iscsi/cxgbit/cxgbit_cm.c u8 hcrc = csk->submode & CXGBIT_SUBMODE_HCRC; csk 1493 drivers/target/iscsi/cxgbit/cxgbit_cm.c u8 dcrc = csk->submode & CXGBIT_SUBMODE_DCRC; csk 1504 drivers/target/iscsi/cxgbit/cxgbit_cm.c INIT_TP_WR(req, csk->tid); csk 1505 drivers/target/iscsi/cxgbit/cxgbit_cm.c OPCODE_TID(req) = htonl(MK_OPCODE_TID(CPL_SET_TCB_FIELD, csk->tid)); csk 1506 drivers/target/iscsi/cxgbit/cxgbit_cm.c req->reply_ctrl = htons(NO_REPLY_V(0) | QUEUENO_V(csk->rss_qid)); csk 1511 drivers/target/iscsi/cxgbit/cxgbit_cm.c set_wr_txq(skb, CPL_PRIORITY_CONTROL, csk->ctrlq_idx); csk 1513 drivers/target/iscsi/cxgbit/cxgbit_cm.c cxgbit_get_csk(csk); csk 1514 drivers/target/iscsi/cxgbit/cxgbit_cm.c cxgbit_init_wr_wait(&csk->com.wr_wait); csk 1516 drivers/target/iscsi/cxgbit/cxgbit_cm.c cxgbit_ofld_send(csk->com.cdev, skb); csk 1518 drivers/target/iscsi/cxgbit/cxgbit_cm.c ret = cxgbit_wait_for_reply(csk->com.cdev, csk 1519 drivers/target/iscsi/cxgbit/cxgbit_cm.c &csk->com.wr_wait, csk 1520 drivers/target/iscsi/cxgbit/cxgbit_cm.c csk->tid, 5, __func__); csk 1527 drivers/target/iscsi/cxgbit/cxgbit_cm.c int cxgbit_setup_conn_pgidx(struct cxgbit_sock *csk, u32 pg_idx) csk 1540 drivers/target/iscsi/cxgbit/cxgbit_cm.c INIT_TP_WR(req, csk->tid); csk 1541 drivers/target/iscsi/cxgbit/cxgbit_cm.c OPCODE_TID(req) = htonl(MK_OPCODE_TID(CPL_SET_TCB_FIELD, csk->tid)); csk 1542 drivers/target/iscsi/cxgbit/cxgbit_cm.c req->reply_ctrl = htons(NO_REPLY_V(0) | QUEUENO_V(csk->rss_qid)); csk 1546 drivers/target/iscsi/cxgbit/cxgbit_cm.c set_wr_txq(skb, CPL_PRIORITY_CONTROL, csk->ctrlq_idx); csk 1548 drivers/target/iscsi/cxgbit/cxgbit_cm.c cxgbit_get_csk(csk); csk 1549 drivers/target/iscsi/cxgbit/cxgbit_cm.c cxgbit_init_wr_wait(&csk->com.wr_wait); csk 1551 drivers/target/iscsi/cxgbit/cxgbit_cm.c cxgbit_ofld_send(csk->com.cdev, skb); csk 1553 drivers/target/iscsi/cxgbit/cxgbit_cm.c ret = cxgbit_wait_for_reply(csk->com.cdev, csk 1554 drivers/target/iscsi/cxgbit/cxgbit_cm.c &csk->com.wr_wait, csk 1555 drivers/target/iscsi/cxgbit/cxgbit_cm.c csk->tid, 5, __func__); csk 1612 drivers/target/iscsi/cxgbit/cxgbit_cm.c struct cxgbit_sock *csk; csk 1618 drivers/target/iscsi/cxgbit/cxgbit_cm.c csk = lookup_tid(t, tid); csk 1619 drivers/target/iscsi/cxgbit/cxgbit_cm.c if (unlikely(!csk)) { csk 1623 drivers/target/iscsi/cxgbit/cxgbit_cm.c cnp = csk->cnp; csk 1626 drivers/target/iscsi/cxgbit/cxgbit_cm.c __func__, csk, tid, cnp); csk 1628 drivers/target/iscsi/cxgbit/cxgbit_cm.c csk->write_seq = snd_isn; csk 1629 drivers/target/iscsi/cxgbit/cxgbit_cm.c csk->snd_una = snd_isn; csk 1630 drivers/target/iscsi/cxgbit/cxgbit_cm.c csk->snd_nxt = snd_isn; csk 1632 drivers/target/iscsi/cxgbit/cxgbit_cm.c csk->rcv_nxt = rcv_isn; csk 1634 drivers/target/iscsi/cxgbit/cxgbit_cm.c if (csk->rcv_win > (RCV_BUFSIZ_M << 10)) csk 1635 drivers/target/iscsi/cxgbit/cxgbit_cm.c csk->rx_credits = (csk->rcv_win - (RCV_BUFSIZ_M << 10)); csk 1637 drivers/target/iscsi/cxgbit/cxgbit_cm.c csk->snd_wscale = TCPOPT_SND_WSCALE_G(tcp_opt); csk 1638 drivers/target/iscsi/cxgbit/cxgbit_cm.c cxgbit_set_emss(csk, tcp_opt); csk 1639 drivers/target/iscsi/cxgbit/cxgbit_cm.c dst_confirm(csk->dst); csk 1640 drivers/target/iscsi/cxgbit/cxgbit_cm.c csk->com.state = CSK_STATE_ESTABLISHED; csk 1642 drivers/target/iscsi/cxgbit/cxgbit_cm.c list_add_tail(&csk->accept_node, &cnp->np_accept_list); csk 1649 drivers/target/iscsi/cxgbit/cxgbit_cm.c static void cxgbit_queue_rx_skb(struct cxgbit_sock *csk, struct sk_buff *skb) csk 1652 drivers/target/iscsi/cxgbit/cxgbit_cm.c spin_lock_bh(&csk->rxq.lock); csk 1653 drivers/target/iscsi/cxgbit/cxgbit_cm.c __skb_queue_tail(&csk->rxq, skb); csk 1654 drivers/target/iscsi/cxgbit/cxgbit_cm.c spin_unlock_bh(&csk->rxq.lock); csk 1655 drivers/target/iscsi/cxgbit/cxgbit_cm.c wake_up(&csk->waitq); csk 1658 drivers/target/iscsi/cxgbit/cxgbit_cm.c static void cxgbit_peer_close(struct cxgbit_sock *csk, struct sk_buff *skb) csk 1661 drivers/target/iscsi/cxgbit/cxgbit_cm.c __func__, csk, csk->tid, csk->com.state); csk 1663 drivers/target/iscsi/cxgbit/cxgbit_cm.c switch (csk->com.state) { csk 1665 drivers/target/iscsi/cxgbit/cxgbit_cm.c csk->com.state = CSK_STATE_CLOSING; csk 1666 drivers/target/iscsi/cxgbit/cxgbit_cm.c cxgbit_queue_rx_skb(csk, skb); csk 1670 drivers/target/iscsi/cxgbit/cxgbit_cm.c csk->com.state = CSK_STATE_MORIBUND; csk 1673 drivers/target/iscsi/cxgbit/cxgbit_cm.c csk->com.state = CSK_STATE_DEAD; csk 1674 drivers/target/iscsi/cxgbit/cxgbit_cm.c cxgbit_put_csk(csk); csk 1680 drivers/target/iscsi/cxgbit/cxgbit_cm.c __func__, csk->com.state); csk 1686 drivers/target/iscsi/cxgbit/cxgbit_cm.c static void cxgbit_close_con_rpl(struct cxgbit_sock *csk, struct sk_buff *skb) csk 1689 drivers/target/iscsi/cxgbit/cxgbit_cm.c __func__, csk, csk->tid, csk->com.state); csk 1691 drivers/target/iscsi/cxgbit/cxgbit_cm.c switch (csk->com.state) { csk 1693 drivers/target/iscsi/cxgbit/cxgbit_cm.c csk->com.state = CSK_STATE_MORIBUND; csk 1696 drivers/target/iscsi/cxgbit/cxgbit_cm.c csk->com.state = CSK_STATE_DEAD; csk 1697 drivers/target/iscsi/cxgbit/cxgbit_cm.c cxgbit_put_csk(csk); csk 1704 drivers/target/iscsi/cxgbit/cxgbit_cm.c __func__, csk->com.state); csk 1710 drivers/target/iscsi/cxgbit/cxgbit_cm.c static void cxgbit_abort_req_rss(struct cxgbit_sock *csk, struct sk_buff *skb) csk 1720 drivers/target/iscsi/cxgbit/cxgbit_cm.c __func__, csk, tid, csk->com.state); csk 1728 drivers/target/iscsi/cxgbit/cxgbit_cm.c switch (csk->com.state) { csk 1731 drivers/target/iscsi/cxgbit/cxgbit_cm.c csk->com.state = CSK_STATE_DEAD; csk 1735 drivers/target/iscsi/cxgbit/cxgbit_cm.c csk->com.state = CSK_STATE_DEAD; csk 1739 drivers/target/iscsi/cxgbit/cxgbit_cm.c csk->com.state = CSK_STATE_DEAD; csk 1740 drivers/target/iscsi/cxgbit/cxgbit_cm.c if (!csk->conn) csk 1747 drivers/target/iscsi/cxgbit/cxgbit_cm.c __func__, csk->com.state); csk 1748 drivers/target/iscsi/cxgbit/cxgbit_cm.c csk->com.state = CSK_STATE_DEAD; csk 1751 drivers/target/iscsi/cxgbit/cxgbit_cm.c __skb_queue_purge(&csk->txq); csk 1753 drivers/target/iscsi/cxgbit/cxgbit_cm.c if (!test_and_set_bit(CSK_TX_DATA_SENT, &csk->com.flags)) csk 1754 drivers/target/iscsi/cxgbit/cxgbit_cm.c cxgbit_send_tx_flowc_wr(csk); csk 1756 drivers/target/iscsi/cxgbit/cxgbit_cm.c rpl_skb = __skb_dequeue(&csk->skbq); csk 1758 drivers/target/iscsi/cxgbit/cxgbit_cm.c cxgb_mk_abort_rpl(rpl_skb, len, csk->tid, csk->txq_idx); csk 1759 drivers/target/iscsi/cxgbit/cxgbit_cm.c cxgbit_ofld_send(csk->com.cdev, rpl_skb); csk 1762 drivers/target/iscsi/cxgbit/cxgbit_cm.c cxgbit_queue_rx_skb(csk, skb); csk 1767 drivers/target/iscsi/cxgbit/cxgbit_cm.c cxgbit_put_csk(csk); csk 1772 drivers/target/iscsi/cxgbit/cxgbit_cm.c static void cxgbit_abort_rpl_rss(struct cxgbit_sock *csk, struct sk_buff *skb) csk 1777 drivers/target/iscsi/cxgbit/cxgbit_cm.c __func__, csk, csk->tid, csk->com.state); csk 1779 drivers/target/iscsi/cxgbit/cxgbit_cm.c switch (csk->com.state) { csk 1781 drivers/target/iscsi/cxgbit/cxgbit_cm.c csk->com.state = CSK_STATE_DEAD; csk 1782 drivers/target/iscsi/cxgbit/cxgbit_cm.c if (test_bit(CSK_ABORT_RPL_WAIT, &csk->com.flags)) csk 1783 drivers/target/iscsi/cxgbit/cxgbit_cm.c cxgbit_wake_up(&csk->com.wr_wait, __func__, csk 1785 drivers/target/iscsi/cxgbit/cxgbit_cm.c cxgbit_put_csk(csk); csk 1789 drivers/target/iscsi/cxgbit/cxgbit_cm.c __func__, csk->com.state); csk 1795 drivers/target/iscsi/cxgbit/cxgbit_cm.c static bool cxgbit_credit_err(const struct cxgbit_sock *csk) csk 1797 drivers/target/iscsi/cxgbit/cxgbit_cm.c const struct sk_buff *skb = csk->wr_pending_head; csk 1800 drivers/target/iscsi/cxgbit/cxgbit_cm.c if (unlikely(csk->wr_cred > csk->wr_max_cred)) { csk 1802 drivers/target/iscsi/cxgbit/cxgbit_cm.c csk, csk->tid, csk->wr_cred, csk->wr_max_cred); csk 1811 drivers/target/iscsi/cxgbit/cxgbit_cm.c if (unlikely((csk->wr_cred + credit) != csk->wr_max_cred)) { csk 1813 drivers/target/iscsi/cxgbit/cxgbit_cm.c csk, csk->tid, csk->wr_cred, csk 1814 drivers/target/iscsi/cxgbit/cxgbit_cm.c credit, csk->wr_max_cred); csk 1822 drivers/target/iscsi/cxgbit/cxgbit_cm.c static void cxgbit_fw4_ack(struct cxgbit_sock *csk, struct sk_buff *skb) csk 1828 drivers/target/iscsi/cxgbit/cxgbit_cm.c csk->wr_cred += credits; csk 1829 drivers/target/iscsi/cxgbit/cxgbit_cm.c if (csk->wr_una_cred > (csk->wr_max_cred - csk->wr_cred)) csk 1830 drivers/target/iscsi/cxgbit/cxgbit_cm.c csk->wr_una_cred = csk->wr_max_cred - csk->wr_cred; csk 1833 drivers/target/iscsi/cxgbit/cxgbit_cm.c struct sk_buff *p = cxgbit_sock_peek_wr(csk); csk 1838 drivers/target/iscsi/cxgbit/cxgbit_cm.c csk, csk->tid, credits, csk 1839 drivers/target/iscsi/cxgbit/cxgbit_cm.c csk->wr_cred, csk->wr_una_cred); csk 1846 drivers/target/iscsi/cxgbit/cxgbit_cm.c csk, csk->tid, csk 1847 drivers/target/iscsi/cxgbit/cxgbit_cm.c credits, csk->wr_cred, csk->wr_una_cred, csk 1853 drivers/target/iscsi/cxgbit/cxgbit_cm.c cxgbit_sock_dequeue_wr(csk); csk 1858 drivers/target/iscsi/cxgbit/cxgbit_cm.c if (unlikely(cxgbit_credit_err(csk))) { csk 1859 drivers/target/iscsi/cxgbit/cxgbit_cm.c cxgbit_queue_rx_skb(csk, skb); csk 1864 drivers/target/iscsi/cxgbit/cxgbit_cm.c if (unlikely(before(snd_una, csk->snd_una))) { csk 1866 drivers/target/iscsi/cxgbit/cxgbit_cm.c csk, csk->tid, snd_una, csk 1867 drivers/target/iscsi/cxgbit/cxgbit_cm.c csk->snd_una); csk 1871 drivers/target/iscsi/cxgbit/cxgbit_cm.c if (csk->snd_una != snd_una) { csk 1872 drivers/target/iscsi/cxgbit/cxgbit_cm.c csk->snd_una = snd_una; csk 1873 drivers/target/iscsi/cxgbit/cxgbit_cm.c dst_confirm(csk->dst); csk 1874 drivers/target/iscsi/cxgbit/cxgbit_cm.c wake_up(&csk->ack_waitq); csk 1878 drivers/target/iscsi/cxgbit/cxgbit_cm.c if (skb_queue_len(&csk->txq)) csk 1879 drivers/target/iscsi/cxgbit/cxgbit_cm.c cxgbit_push_tx_frames(csk); csk 1887 drivers/target/iscsi/cxgbit/cxgbit_cm.c struct cxgbit_sock *csk; csk 1893 drivers/target/iscsi/cxgbit/cxgbit_cm.c csk = lookup_tid(t, tid); csk 1894 drivers/target/iscsi/cxgbit/cxgbit_cm.c if (unlikely(!csk)) { csk 1898 drivers/target/iscsi/cxgbit/cxgbit_cm.c cxgbit_wake_up(&csk->com.wr_wait, __func__, rpl->status); csk 1901 drivers/target/iscsi/cxgbit/cxgbit_cm.c cxgbit_put_csk(csk); csk 1908 drivers/target/iscsi/cxgbit/cxgbit_cm.c struct cxgbit_sock *csk; csk 1914 drivers/target/iscsi/cxgbit/cxgbit_cm.c csk = lookup_tid(t, tid); csk 1915 drivers/target/iscsi/cxgbit/cxgbit_cm.c if (unlikely(!csk)) { csk 1920 drivers/target/iscsi/cxgbit/cxgbit_cm.c cxgbit_queue_rx_skb(csk, skb); csk 1927 drivers/target/iscsi/cxgbit/cxgbit_cm.c __cxgbit_process_rx_cpl(struct cxgbit_sock *csk, struct sk_buff *skb) csk 1929 drivers/target/iscsi/cxgbit/cxgbit_cm.c spin_lock(&csk->lock); csk 1930 drivers/target/iscsi/cxgbit/cxgbit_cm.c if (csk->lock_owner) { csk 1931 drivers/target/iscsi/cxgbit/cxgbit_cm.c __skb_queue_tail(&csk->backlogq, skb); csk 1932 drivers/target/iscsi/cxgbit/cxgbit_cm.c spin_unlock(&csk->lock); csk 1936 drivers/target/iscsi/cxgbit/cxgbit_cm.c cxgbit_skcb_rx_backlog_fn(skb)(csk, skb); csk 1937 drivers/target/iscsi/cxgbit/cxgbit_cm.c spin_unlock(&csk->lock); csk 1940 drivers/target/iscsi/cxgbit/cxgbit_cm.c static void cxgbit_process_rx_cpl(struct cxgbit_sock *csk, struct sk_buff *skb) csk 1942 drivers/target/iscsi/cxgbit/cxgbit_cm.c cxgbit_get_csk(csk); csk 1943 drivers/target/iscsi/cxgbit/cxgbit_cm.c __cxgbit_process_rx_cpl(csk, skb); csk 1944 drivers/target/iscsi/cxgbit/cxgbit_cm.c cxgbit_put_csk(csk); csk 1949 drivers/target/iscsi/cxgbit/cxgbit_cm.c struct cxgbit_sock *csk; csk 1978 drivers/target/iscsi/cxgbit/cxgbit_cm.c csk = lookup_tid(t, tid); csk 1979 drivers/target/iscsi/cxgbit/cxgbit_cm.c if (unlikely(!csk)) { csk 1985 drivers/target/iscsi/cxgbit/cxgbit_cm.c cxgbit_process_rx_cpl(csk, skb); csk 1987 drivers/target/iscsi/cxgbit/cxgbit_cm.c __cxgbit_process_rx_cpl(csk, skb); csk 98 drivers/target/iscsi/cxgbit/cxgbit_ddp.c cxgbit_ppod_write_idata(struct cxgbi_ppm *ppm, struct cxgbit_sock *csk, csk 103 drivers/target/iscsi/cxgbit/cxgbit_ddp.c struct cxgbit_device *cdev = csk->com.cdev; csk 110 drivers/target/iscsi/cxgbit/cxgbit_ddp.c skb = cxgbit_ppod_init_idata(cdev, ppm, idx, npods, csk->tid); csk 121 drivers/target/iscsi/cxgbit/cxgbit_ddp.c __skb_queue_tail(&csk->ppodq, skb); csk 127 drivers/target/iscsi/cxgbit/cxgbit_ddp.c cxgbit_ddp_set_map(struct cxgbi_ppm *ppm, struct cxgbit_sock *csk, csk 143 drivers/target/iscsi/cxgbit/cxgbit_ddp.c ret = cxgbit_ppod_write_idata(ppm, csk, ttinfo, pidx, cnt, csk 171 drivers/target/iscsi/cxgbit/cxgbit_ddp.c cxgbit_ddp_reserve(struct cxgbit_sock *csk, struct cxgbi_task_tag_info *ttinfo, csk 174 drivers/target/iscsi/cxgbit/cxgbit_ddp.c struct cxgbit_device *cdev = csk->com.cdev; csk 212 drivers/target/iscsi/cxgbit/cxgbit_ddp.c cxgbi_ppm_make_ppod_hdr(ppm, ttinfo->tag, csk->tid, sgl->offset, csk 215 drivers/target/iscsi/cxgbit/cxgbit_ddp.c ret = cxgbit_ddp_set_map(ppm, csk, ttinfo); csk 217 drivers/target/iscsi/cxgbit/cxgbit_ddp.c __skb_queue_purge(&csk->ppodq); csk 233 drivers/target/iscsi/cxgbit/cxgbit_ddp.c struct cxgbit_sock *csk = conn->context; csk 234 drivers/target/iscsi/cxgbit/cxgbit_ddp.c struct cxgbit_device *cdev = csk->com.cdev; csk 240 drivers/target/iscsi/cxgbit/cxgbit_ddp.c (!test_bit(CSK_DDP_ENABLE, &csk->com.flags))) csk 248 drivers/target/iscsi/cxgbit/cxgbit_ddp.c ret = cxgbit_ddp_reserve(csk, ttinfo, cmd->se_cmd.data_length); csk 251 drivers/target/iscsi/cxgbit/cxgbit_ddp.c csk, cmd, cmd->se_cmd.data_length, ttinfo->nents); csk 271 drivers/target/iscsi/cxgbit/cxgbit_ddp.c struct cxgbit_sock *csk = conn->context; csk 272 drivers/target/iscsi/cxgbit/cxgbit_ddp.c struct cxgbit_device *cdev = csk->com.cdev; csk 281 drivers/target/iscsi/cxgbit/cxgbit_ddp.c cxgbit_abort_conn(csk); csk 22 drivers/target/iscsi/cxgbit/cxgbit_lro.h struct cxgbit_sock *csk; csk 91 drivers/target/iscsi/cxgbit/cxgbit_main.c struct cxgbit_sock *csk; csk 96 drivers/target/iscsi/cxgbit/cxgbit_main.c list_for_each_entry(csk, &cdev->cskq.list, list) { csk 101 drivers/target/iscsi/cxgbit/cxgbit_main.c spin_lock_bh(&csk->rxq.lock); csk 102 drivers/target/iscsi/cxgbit/cxgbit_main.c __skb_queue_tail(&csk->rxq, skb); csk 103 drivers/target/iscsi/cxgbit/cxgbit_main.c if (skb_queue_len(&csk->rxq) == 1) csk 105 drivers/target/iscsi/cxgbit/cxgbit_main.c spin_unlock_bh(&csk->rxq.lock); csk 108 drivers/target/iscsi/cxgbit/cxgbit_main.c wake_up(&csk->waitq); csk 166 drivers/target/iscsi/cxgbit/cxgbit_main.c cxgbit_process_ddpvld(struct cxgbit_sock *csk, struct cxgbit_lro_pdu_cb *pdu_cb, csk 171 drivers/target/iscsi/cxgbit/cxgbit_main.c pr_info("tid 0x%x, status 0x%x, hcrc bad.\n", csk->tid, ddpvld); csk 176 drivers/target/iscsi/cxgbit/cxgbit_main.c pr_info("tid 0x%x, status 0x%x, dcrc bad.\n", csk->tid, ddpvld); csk 181 drivers/target/iscsi/cxgbit/cxgbit_main.c pr_info("tid 0x%x, status 0x%x, pad bad.\n", csk->tid, ddpvld); csk 197 drivers/target/iscsi/cxgbit/cxgbit_main.c cxgbit_process_ddpvld(lro_cb->csk, pdu_cb, be32_to_cpu(cpl->ddpvld)); csk 284 drivers/target/iscsi/cxgbit/cxgbit_main.c cxgbit_process_ddpvld(lro_cb->csk, pdu_cb, csk 309 drivers/target/iscsi/cxgbit/cxgbit_main.c cxgbit_lro_init_skb(struct cxgbit_sock *csk, u8 op, const struct pkt_gl *gl, csk 326 drivers/target/iscsi/cxgbit/cxgbit_main.c cxgbit_get_csk(csk); csk 328 drivers/target/iscsi/cxgbit/cxgbit_main.c lro_cb->csk = csk; csk 333 drivers/target/iscsi/cxgbit/cxgbit_main.c static void cxgbit_queue_lro_skb(struct cxgbit_sock *csk, struct sk_buff *skb) csk 337 drivers/target/iscsi/cxgbit/cxgbit_main.c spin_lock(&csk->rxq.lock); csk 338 drivers/target/iscsi/cxgbit/cxgbit_main.c __skb_queue_tail(&csk->rxq, skb); csk 339 drivers/target/iscsi/cxgbit/cxgbit_main.c if (skb_queue_len(&csk->rxq) == 1) csk 341 drivers/target/iscsi/cxgbit/cxgbit_main.c spin_unlock(&csk->rxq.lock); csk 344 drivers/target/iscsi/cxgbit/cxgbit_main.c wake_up(&csk->waitq); csk 350 drivers/target/iscsi/cxgbit/cxgbit_main.c struct cxgbit_sock *csk = lro_cb->csk; csk 352 drivers/target/iscsi/cxgbit/cxgbit_main.c csk->lro_skb = NULL; csk 355 drivers/target/iscsi/cxgbit/cxgbit_main.c cxgbit_queue_lro_skb(csk, skb); csk 357 drivers/target/iscsi/cxgbit/cxgbit_main.c cxgbit_put_csk(csk); csk 372 drivers/target/iscsi/cxgbit/cxgbit_main.c cxgbit_lro_receive(struct cxgbit_sock *csk, u8 op, const __be64 *rsp, csk 379 drivers/target/iscsi/cxgbit/cxgbit_main.c if (!csk) { csk 384 drivers/target/iscsi/cxgbit/cxgbit_main.c if (csk->lro_skb) csk 393 drivers/target/iscsi/cxgbit/cxgbit_main.c skb = cxgbit_lro_init_skb(csk, op, gl, rsp, napi); csk 397 drivers/target/iscsi/cxgbit/cxgbit_main.c csk->lro_skb = skb; csk 403 drivers/target/iscsi/cxgbit/cxgbit_main.c skb = csk->lro_skb; csk 434 drivers/target/iscsi/cxgbit/cxgbit_main.c struct cxgbit_sock *csk = NULL; csk 458 drivers/target/iscsi/cxgbit/cxgbit_main.c csk = lookup_tid(lldi->tids, tid); csk 464 drivers/target/iscsi/cxgbit/cxgbit_main.c if (csk && csk->lro_skb && lro_flush) csk 465 drivers/target/iscsi/cxgbit/cxgbit_main.c cxgbit_lro_flush(lro_mgr, csk->lro_skb); csk 471 drivers/target/iscsi/cxgbit/cxgbit_main.c if (!cxgbit_lro_receive(csk, op, rsp, NULL, lro_mgr, csk 493 drivers/target/iscsi/cxgbit/cxgbit_main.c if (!cxgbit_lro_receive(csk, op, rsp, gl, lro_mgr, csk 534 drivers/target/iscsi/cxgbit/cxgbit_main.c struct cxgbit_sock *csk; csk 540 drivers/target/iscsi/cxgbit/cxgbit_main.c list_for_each_entry(csk, &cdev->cskq.list, list) { csk 541 drivers/target/iscsi/cxgbit/cxgbit_main.c if (csk->port_id != port_id) csk 544 drivers/target/iscsi/cxgbit/cxgbit_main.c if (csk->com.local_addr.ss_family == AF_INET6) { csk 547 drivers/target/iscsi/cxgbit/cxgbit_main.c sock_in6 = (struct sockaddr_in6 *)&csk->com.local_addr; csk 552 drivers/target/iscsi/cxgbit/cxgbit_main.c sock_in = (struct sockaddr_in *)&csk->com.local_addr; csk 559 drivers/target/iscsi/cxgbit/cxgbit_main.c if (csk->dcb_priority == dcb_priority) csk 566 drivers/target/iscsi/cxgbit/cxgbit_main.c spin_lock(&csk->rxq.lock); csk 567 drivers/target/iscsi/cxgbit/cxgbit_main.c __skb_queue_tail(&csk->rxq, skb); csk 568 drivers/target/iscsi/cxgbit/cxgbit_main.c if (skb_queue_len(&csk->rxq) == 1) csk 570 drivers/target/iscsi/cxgbit/cxgbit_main.c spin_unlock(&csk->rxq.lock); csk 573 drivers/target/iscsi/cxgbit/cxgbit_main.c wake_up(&csk->waitq); csk 27 drivers/target/iscsi/cxgbit/cxgbit_target.c __cxgbit_alloc_skb(struct cxgbit_sock *csk, u32 len, bool iso) csk 46 drivers/target/iscsi/cxgbit/cxgbit_target.c submode |= (csk->submode & CXGBIT_SUBMODE_DCRC); csk 60 drivers/target/iscsi/cxgbit/cxgbit_target.c submode |= (csk->submode & CXGBIT_SUBMODE_HCRC); csk 67 drivers/target/iscsi/cxgbit/cxgbit_target.c static struct sk_buff *cxgbit_alloc_skb(struct cxgbit_sock *csk, u32 len) csk 69 drivers/target/iscsi/cxgbit/cxgbit_target.c return __cxgbit_alloc_skb(csk, len, false); csk 160 drivers/target/iscsi/cxgbit/cxgbit_target.c cxgbit_tx_data_wr(struct cxgbit_sock *csk, struct sk_buff *skb, u32 dlen, csk 164 drivers/target/iscsi/cxgbit/cxgbit_target.c const struct cxgb4_lld_info *lldi = &csk->com.cdev->lldi; csk 187 drivers/target/iscsi/cxgbit/cxgbit_target.c req->flowid_len16 = cpu_to_be32(FW_WR_FLOWID_V(csk->tid) | csk 194 drivers/target/iscsi/cxgbit/cxgbit_target.c FW_OFLD_TX_DATA_WR_SHOVE_V(skb_peek(&csk->txq) ? 0 : 1)); csk 202 drivers/target/iscsi/cxgbit/cxgbit_target.c void cxgbit_push_tx_frames(struct cxgbit_sock *csk) csk 206 drivers/target/iscsi/cxgbit/cxgbit_target.c while (csk->wr_cred && ((skb = skb_peek(&csk->txq)) != NULL)) { csk 232 drivers/target/iscsi/cxgbit/cxgbit_target.c if (!test_and_set_bit(CSK_TX_DATA_SENT, &csk->com.flags)) { csk 233 drivers/target/iscsi/cxgbit/cxgbit_target.c flowclen16 = cxgbit_send_tx_flowc_wr(csk); csk 234 drivers/target/iscsi/cxgbit/cxgbit_target.c csk->wr_cred -= flowclen16; csk 235 drivers/target/iscsi/cxgbit/cxgbit_target.c csk->wr_una_cred += flowclen16; csk 238 drivers/target/iscsi/cxgbit/cxgbit_target.c if (csk->wr_cred < credits_needed) { csk 240 drivers/target/iscsi/cxgbit/cxgbit_target.c csk, skb->len, skb->data_len, csk 241 drivers/target/iscsi/cxgbit/cxgbit_target.c credits_needed, csk->wr_cred); csk 244 drivers/target/iscsi/cxgbit/cxgbit_target.c __skb_unlink(skb, &csk->txq); csk 245 drivers/target/iscsi/cxgbit/cxgbit_target.c set_wr_txq(skb, CPL_PRIORITY_DATA, csk->txq_idx); csk 247 drivers/target/iscsi/cxgbit/cxgbit_target.c csk->wr_cred -= credits_needed; csk 248 drivers/target/iscsi/cxgbit/cxgbit_target.c csk->wr_una_cred += credits_needed; csk 251 drivers/target/iscsi/cxgbit/cxgbit_target.c csk, skb->len, skb->data_len, credits_needed, csk 252 drivers/target/iscsi/cxgbit/cxgbit_target.c csk->wr_cred, csk->wr_una_cred); csk 257 drivers/target/iscsi/cxgbit/cxgbit_target.c if ((csk->wr_una_cred >= (csk->wr_max_cred / 2)) || csk 258 drivers/target/iscsi/cxgbit/cxgbit_target.c (!before(csk->write_seq, csk 259 drivers/target/iscsi/cxgbit/cxgbit_target.c csk->snd_una + csk->snd_win))) { csk 261 drivers/target/iscsi/cxgbit/cxgbit_target.c csk->wr_una_cred = 0; csk 264 drivers/target/iscsi/cxgbit/cxgbit_target.c cxgbit_tx_data_wr(csk, skb, dlen, len, credits_needed, csk 266 drivers/target/iscsi/cxgbit/cxgbit_target.c csk->snd_nxt += len; csk 269 drivers/target/iscsi/cxgbit/cxgbit_target.c (csk->wr_una_cred >= (csk->wr_max_cred / 2))) { csk 273 drivers/target/iscsi/cxgbit/cxgbit_target.c csk->wr_una_cred = 0; csk 276 drivers/target/iscsi/cxgbit/cxgbit_target.c cxgbit_sock_enqueue_wr(csk, skb); csk 277 drivers/target/iscsi/cxgbit/cxgbit_target.c t4_set_arp_err_handler(skb, csk, csk 281 drivers/target/iscsi/cxgbit/cxgbit_target.c csk, csk->tid, skb, len); csk 283 drivers/target/iscsi/cxgbit/cxgbit_target.c cxgbit_l2t_send(csk->com.cdev, skb, csk->l2t); csk 287 drivers/target/iscsi/cxgbit/cxgbit_target.c static bool cxgbit_lock_sock(struct cxgbit_sock *csk) csk 289 drivers/target/iscsi/cxgbit/cxgbit_target.c spin_lock_bh(&csk->lock); csk 291 drivers/target/iscsi/cxgbit/cxgbit_target.c if (before(csk->write_seq, csk->snd_una + csk->snd_win)) csk 292 drivers/target/iscsi/cxgbit/cxgbit_target.c csk->lock_owner = true; csk 294 drivers/target/iscsi/cxgbit/cxgbit_target.c spin_unlock_bh(&csk->lock); csk 296 drivers/target/iscsi/cxgbit/cxgbit_target.c return csk->lock_owner; csk 299 drivers/target/iscsi/cxgbit/cxgbit_target.c static void cxgbit_unlock_sock(struct cxgbit_sock *csk) csk 307 drivers/target/iscsi/cxgbit/cxgbit_target.c spin_lock_bh(&csk->lock); csk 308 drivers/target/iscsi/cxgbit/cxgbit_target.c while (skb_queue_len(&csk->backlogq)) { csk 309 drivers/target/iscsi/cxgbit/cxgbit_target.c skb_queue_splice_init(&csk->backlogq, &backlogq); csk 310 drivers/target/iscsi/cxgbit/cxgbit_target.c spin_unlock_bh(&csk->lock); csk 314 drivers/target/iscsi/cxgbit/cxgbit_target.c fn(csk, skb); csk 317 drivers/target/iscsi/cxgbit/cxgbit_target.c spin_lock_bh(&csk->lock); csk 320 drivers/target/iscsi/cxgbit/cxgbit_target.c csk->lock_owner = false; csk 321 drivers/target/iscsi/cxgbit/cxgbit_target.c spin_unlock_bh(&csk->lock); csk 324 drivers/target/iscsi/cxgbit/cxgbit_target.c static int cxgbit_queue_skb(struct cxgbit_sock *csk, struct sk_buff *skb) csk 328 drivers/target/iscsi/cxgbit/cxgbit_target.c wait_event_interruptible(csk->ack_waitq, cxgbit_lock_sock(csk)); csk 330 drivers/target/iscsi/cxgbit/cxgbit_target.c if (unlikely((csk->com.state != CSK_STATE_ESTABLISHED) || csk 333 drivers/target/iscsi/cxgbit/cxgbit_target.c __skb_queue_purge(&csk->ppodq); csk 335 drivers/target/iscsi/cxgbit/cxgbit_target.c spin_lock_bh(&csk->lock); csk 336 drivers/target/iscsi/cxgbit/cxgbit_target.c if (csk->lock_owner) { csk 337 drivers/target/iscsi/cxgbit/cxgbit_target.c spin_unlock_bh(&csk->lock); csk 340 drivers/target/iscsi/cxgbit/cxgbit_target.c spin_unlock_bh(&csk->lock); csk 344 drivers/target/iscsi/cxgbit/cxgbit_target.c csk->write_seq += skb->len + csk 347 drivers/target/iscsi/cxgbit/cxgbit_target.c skb_queue_splice_tail_init(&csk->ppodq, &csk->txq); csk 348 drivers/target/iscsi/cxgbit/cxgbit_target.c __skb_queue_tail(&csk->txq, skb); csk 349 drivers/target/iscsi/cxgbit/cxgbit_target.c cxgbit_push_tx_frames(csk); csk 352 drivers/target/iscsi/cxgbit/cxgbit_target.c cxgbit_unlock_sock(csk); csk 410 drivers/target/iscsi/cxgbit/cxgbit_target.c cxgbit_tx_datain_iso(struct cxgbit_sock *csk, struct iscsi_cmd *cmd, csk 413 drivers/target/iscsi/cxgbit/cxgbit_target.c struct iscsi_conn *conn = csk->conn; csk 427 drivers/target/iscsi/cxgbit/cxgbit_target.c if (num_pdu > csk->max_iso_npdu) csk 428 drivers/target/iscsi/cxgbit/cxgbit_target.c num_pdu = csk->max_iso_npdu; csk 434 drivers/target/iscsi/cxgbit/cxgbit_target.c skb = __cxgbit_alloc_skb(csk, 0, true); csk 440 drivers/target/iscsi/cxgbit/cxgbit_target.c cxgbit_skcb_submode(skb) |= (csk->submode & csk 481 drivers/target/iscsi/cxgbit/cxgbit_target.c ret = cxgbit_queue_skb(csk, skb); csk 501 drivers/target/iscsi/cxgbit/cxgbit_target.c cxgbit_tx_datain(struct cxgbit_sock *csk, struct iscsi_cmd *cmd, csk 507 drivers/target/iscsi/cxgbit/cxgbit_target.c skb = cxgbit_alloc_skb(csk, 0); csk 514 drivers/target/iscsi/cxgbit/cxgbit_target.c cxgbit_skcb_submode(skb) |= (csk->submode & csk 526 drivers/target/iscsi/cxgbit/cxgbit_target.c return cxgbit_queue_skb(csk, skb); csk 534 drivers/target/iscsi/cxgbit/cxgbit_target.c struct cxgbit_sock *csk = conn->context; csk 540 drivers/target/iscsi/cxgbit/cxgbit_target.c (!padding) && (!datain->offset) && csk->max_iso_npdu) { csk 543 drivers/target/iscsi/cxgbit/cxgbit_target.c return cxgbit_tx_datain_iso(csk, cmd, dr); csk 546 drivers/target/iscsi/cxgbit/cxgbit_target.c return cxgbit_tx_datain(csk, cmd, datain); csk 553 drivers/target/iscsi/cxgbit/cxgbit_target.c struct cxgbit_sock *csk = conn->context; csk 557 drivers/target/iscsi/cxgbit/cxgbit_target.c skb = cxgbit_alloc_skb(csk, data_buf_len + padding); csk 576 drivers/target/iscsi/cxgbit/cxgbit_target.c return cxgbit_queue_skb(csk, skb); csk 591 drivers/target/iscsi/cxgbit/cxgbit_target.c struct cxgbit_sock *csk = conn->context; csk 592 drivers/target/iscsi/cxgbit/cxgbit_target.c struct cxgbit_device *cdev = csk->com.cdev; csk 613 drivers/target/iscsi/cxgbit/cxgbit_target.c static int cxgbit_set_digest(struct cxgbit_sock *csk) csk 615 drivers/target/iscsi/cxgbit/cxgbit_target.c struct iscsi_conn *conn = csk->conn; csk 625 drivers/target/iscsi/cxgbit/cxgbit_target.c csk->submode |= CXGBIT_SUBMODE_HCRC; csk 629 drivers/target/iscsi/cxgbit/cxgbit_target.c csk->submode = 0; csk 635 drivers/target/iscsi/cxgbit/cxgbit_target.c csk->submode |= CXGBIT_SUBMODE_DCRC; csk 637 drivers/target/iscsi/cxgbit/cxgbit_target.c if (cxgbit_setup_conn_digest(csk)) { csk 638 drivers/target/iscsi/cxgbit/cxgbit_target.c csk->submode = 0; csk 645 drivers/target/iscsi/cxgbit/cxgbit_target.c static int cxgbit_set_iso_npdu(struct cxgbit_sock *csk) csk 647 drivers/target/iscsi/cxgbit/cxgbit_target.c struct iscsi_conn *conn = csk->conn; csk 671 drivers/target/iscsi/cxgbit/cxgbit_target.c max_iso_payload = rounddown(CXGBIT_MAX_ISO_PAYLOAD, csk->emss); csk 675 drivers/target/iscsi/cxgbit/cxgbit_target.c cxgbit_digest_len[csk->submode]); csk 677 drivers/target/iscsi/cxgbit/cxgbit_target.c csk->max_iso_npdu = min(max_npdu, max_iso_npdu); csk 679 drivers/target/iscsi/cxgbit/cxgbit_target.c if (csk->max_iso_npdu <= 1) csk 680 drivers/target/iscsi/cxgbit/cxgbit_target.c csk->max_iso_npdu = 0; csk 696 drivers/target/iscsi/cxgbit/cxgbit_target.c static int cxgbit_seq_pdu_inorder(struct cxgbit_sock *csk) csk 698 drivers/target/iscsi/cxgbit/cxgbit_target.c struct iscsi_conn *conn = csk->conn; csk 734 drivers/target/iscsi/cxgbit/cxgbit_target.c struct cxgbit_sock *csk = conn->context; csk 735 drivers/target/iscsi/cxgbit/cxgbit_target.c struct cxgbit_device *cdev = csk->com.cdev; csk 736 drivers/target/iscsi/cxgbit/cxgbit_target.c struct cxgbi_ppm *ppm = *csk->com.cdev->lldi.iscsi_ppm; csk 744 drivers/target/iscsi/cxgbit/cxgbit_target.c if (cxgbit_set_digest(csk)) csk 763 drivers/target/iscsi/cxgbit/cxgbit_target.c ret = cxgbit_seq_pdu_inorder(csk); csk 774 drivers/target/iscsi/cxgbit/cxgbit_target.c if (cxgbit_set_iso_npdu(csk)) csk 780 drivers/target/iscsi/cxgbit/cxgbit_target.c if (cxgbit_setup_conn_pgidx(csk, csk 783 drivers/target/iscsi/cxgbit/cxgbit_target.c set_bit(CSK_DDP_ENABLE, &csk->com.flags); csk 794 drivers/target/iscsi/cxgbit/cxgbit_target.c struct cxgbit_sock *csk = conn->context; csk 799 drivers/target/iscsi/cxgbit/cxgbit_target.c skb = cxgbit_alloc_skb(csk, length + padding); csk 815 drivers/target/iscsi/cxgbit/cxgbit_target.c set_bit(CSK_LOGIN_DONE, &csk->com.flags); csk 818 drivers/target/iscsi/cxgbit/cxgbit_target.c if (cxgbit_queue_skb(csk, skb)) csk 852 drivers/target/iscsi/cxgbit/cxgbit_target.c static struct iscsi_cmd *cxgbit_allocate_cmd(struct cxgbit_sock *csk) csk 854 drivers/target/iscsi/cxgbit/cxgbit_target.c struct iscsi_conn *conn = csk->conn; csk 855 drivers/target/iscsi/cxgbit/cxgbit_target.c struct cxgbi_ppm *ppm = cdev2ppm(csk->com.cdev); csk 877 drivers/target/iscsi/cxgbit/cxgbit_target.c struct cxgbit_sock *csk = conn->context; csk 878 drivers/target/iscsi/cxgbit/cxgbit_target.c struct cxgbit_lro_pdu_cb *pdu_cb = cxgbit_rx_pdu_cb(csk->skb); csk 898 drivers/target/iscsi/cxgbit/cxgbit_target.c struct skb_shared_info *ssi = skb_shinfo(csk->skb); csk 914 drivers/target/iscsi/cxgbit/cxgbit_target.c cxgbit_skb_copy_to_sg(csk->skb, sg, sg_nents, 0); csk 984 drivers/target/iscsi/cxgbit/cxgbit_target.c cxgbit_handle_scsi_cmd(struct cxgbit_sock *csk, struct iscsi_cmd *cmd) csk 986 drivers/target/iscsi/cxgbit/cxgbit_target.c struct iscsi_conn *conn = csk->conn; csk 987 drivers/target/iscsi/cxgbit/cxgbit_target.c struct cxgbit_lro_pdu_cb *pdu_cb = cxgbit_rx_pdu_cb(csk->skb); csk 1012 drivers/target/iscsi/cxgbit/cxgbit_target.c static int cxgbit_handle_iscsi_dataout(struct cxgbit_sock *csk) csk 1015 drivers/target/iscsi/cxgbit/cxgbit_target.c struct iscsi_conn *conn = csk->conn; csk 1017 drivers/target/iscsi/cxgbit/cxgbit_target.c struct cxgbit_lro_pdu_cb *pdu_cb = cxgbit_rx_pdu_cb(csk->skb); csk 1077 drivers/target/iscsi/cxgbit/cxgbit_target.c cxgbit_skb_copy_to_sg(csk->skb, sg_start, sg_nents, skip); csk 1089 drivers/target/iscsi/cxgbit/cxgbit_target.c static int cxgbit_handle_nop_out(struct cxgbit_sock *csk, struct iscsi_cmd *cmd) csk 1091 drivers/target/iscsi/cxgbit/cxgbit_target.c struct iscsi_conn *conn = csk->conn; csk 1092 drivers/target/iscsi/cxgbit/cxgbit_target.c struct cxgbit_lro_pdu_cb *pdu_cb = cxgbit_rx_pdu_cb(csk->skb); csk 1134 drivers/target/iscsi/cxgbit/cxgbit_target.c skb_copy_bits(csk->skb, pdu_cb->doffset, csk 1157 drivers/target/iscsi/cxgbit/cxgbit_target.c cxgbit_handle_text_cmd(struct cxgbit_sock *csk, struct iscsi_cmd *cmd) csk 1159 drivers/target/iscsi/cxgbit/cxgbit_target.c struct iscsi_conn *conn = csk->conn; csk 1160 drivers/target/iscsi/cxgbit/cxgbit_target.c struct cxgbit_lro_pdu_cb *pdu_cb = cxgbit_rx_pdu_cb(csk->skb); csk 1195 drivers/target/iscsi/cxgbit/cxgbit_target.c skb_copy_bits(csk->skb, pdu_cb->doffset, csk 1210 drivers/target/iscsi/cxgbit/cxgbit_target.c static int cxgbit_target_rx_opcode(struct cxgbit_sock *csk) csk 1212 drivers/target/iscsi/cxgbit/cxgbit_target.c struct cxgbit_lro_pdu_cb *pdu_cb = cxgbit_rx_pdu_cb(csk->skb); csk 1214 drivers/target/iscsi/cxgbit/cxgbit_target.c struct iscsi_conn *conn = csk->conn; csk 1221 drivers/target/iscsi/cxgbit/cxgbit_target.c cmd = cxgbit_allocate_cmd(csk); csk 1225 drivers/target/iscsi/cxgbit/cxgbit_target.c ret = cxgbit_handle_scsi_cmd(csk, cmd); csk 1228 drivers/target/iscsi/cxgbit/cxgbit_target.c ret = cxgbit_handle_iscsi_dataout(csk); csk 1232 drivers/target/iscsi/cxgbit/cxgbit_target.c cmd = cxgbit_allocate_cmd(csk); csk 1237 drivers/target/iscsi/cxgbit/cxgbit_target.c ret = cxgbit_handle_nop_out(csk, cmd); csk 1240 drivers/target/iscsi/cxgbit/cxgbit_target.c cmd = cxgbit_allocate_cmd(csk); csk 1253 drivers/target/iscsi/cxgbit/cxgbit_target.c cmd = cxgbit_allocate_cmd(csk); csk 1258 drivers/target/iscsi/cxgbit/cxgbit_target.c ret = cxgbit_handle_text_cmd(csk, cmd); csk 1261 drivers/target/iscsi/cxgbit/cxgbit_target.c cmd = cxgbit_allocate_cmd(csk); csk 1288 drivers/target/iscsi/cxgbit/cxgbit_target.c static int cxgbit_rx_opcode(struct cxgbit_sock *csk) csk 1290 drivers/target/iscsi/cxgbit/cxgbit_target.c struct cxgbit_lro_pdu_cb *pdu_cb = cxgbit_rx_pdu_cb(csk->skb); csk 1291 drivers/target/iscsi/cxgbit/cxgbit_target.c struct iscsi_conn *conn = csk->conn; csk 1315 drivers/target/iscsi/cxgbit/cxgbit_target.c if (cxgbit_target_rx_opcode(csk) < 0) csk 1324 drivers/target/iscsi/cxgbit/cxgbit_target.c static int cxgbit_rx_login_pdu(struct cxgbit_sock *csk) csk 1326 drivers/target/iscsi/cxgbit/cxgbit_target.c struct iscsi_conn *conn = csk->conn; csk 1328 drivers/target/iscsi/cxgbit/cxgbit_target.c struct cxgbit_lro_pdu_cb *pdu_cb = cxgbit_rx_pdu_cb(csk->skb); csk 1361 drivers/target/iscsi/cxgbit/cxgbit_target.c skb_copy_bits(csk->skb, pdu_cb->doffset, login->req_buf, pdu_cb->dlen); csk 1367 drivers/target/iscsi/cxgbit/cxgbit_target.c cxgbit_process_iscsi_pdu(struct cxgbit_sock *csk, struct sk_buff *skb, int idx) csk 1374 drivers/target/iscsi/cxgbit/cxgbit_target.c csk->skb = skb; csk 1376 drivers/target/iscsi/cxgbit/cxgbit_target.c if (!test_bit(CSK_LOGIN_DONE, &csk->com.flags)) { csk 1377 drivers/target/iscsi/cxgbit/cxgbit_target.c ret = cxgbit_rx_login_pdu(csk); csk 1378 drivers/target/iscsi/cxgbit/cxgbit_target.c set_bit(CSK_LOGIN_PDU_DONE, &csk->com.flags); csk 1380 drivers/target/iscsi/cxgbit/cxgbit_target.c ret = cxgbit_rx_opcode(csk); csk 1397 drivers/target/iscsi/cxgbit/cxgbit_target.c skb, lro_cb->csk, lro_cb->pdu_idx, lro_cb->pdu_totallen); csk 1410 drivers/target/iscsi/cxgbit/cxgbit_target.c static void cxgbit_lro_hskb_reset(struct cxgbit_sock *csk) csk 1412 drivers/target/iscsi/cxgbit/cxgbit_target.c struct sk_buff *skb = csk->lro_hskb; csk 1426 drivers/target/iscsi/cxgbit/cxgbit_target.c cxgbit_lro_skb_merge(struct cxgbit_sock *csk, struct sk_buff *skb, u8 pdu_idx) csk 1428 drivers/target/iscsi/cxgbit/cxgbit_target.c struct sk_buff *hskb = csk->lro_hskb; csk 1496 drivers/target/iscsi/cxgbit/cxgbit_target.c static int cxgbit_process_lro_skb(struct cxgbit_sock *csk, struct sk_buff *skb) csk 1504 drivers/target/iscsi/cxgbit/cxgbit_target.c cxgbit_lro_skb_merge(csk, skb, 0); csk 1507 drivers/target/iscsi/cxgbit/cxgbit_target.c struct sk_buff *hskb = csk->lro_hskb; csk 1509 drivers/target/iscsi/cxgbit/cxgbit_target.c ret = cxgbit_process_iscsi_pdu(csk, hskb, 0); csk 1511 drivers/target/iscsi/cxgbit/cxgbit_target.c cxgbit_lro_hskb_reset(csk); csk 1524 drivers/target/iscsi/cxgbit/cxgbit_target.c ret = cxgbit_process_iscsi_pdu(csk, skb, pdu_idx); csk 1530 drivers/target/iscsi/cxgbit/cxgbit_target.c cxgbit_lro_skb_merge(csk, skb, lro_cb->pdu_idx); csk 1536 drivers/target/iscsi/cxgbit/cxgbit_target.c static int cxgbit_rx_lro_skb(struct cxgbit_sock *csk, struct sk_buff *skb) csk 1543 drivers/target/iscsi/cxgbit/cxgbit_target.c (pdu_cb->seq != csk->rcv_nxt)) { csk 1545 drivers/target/iscsi/cxgbit/cxgbit_target.c csk, csk->tid, pdu_cb->seq, csk->rcv_nxt); csk 1550 drivers/target/iscsi/cxgbit/cxgbit_target.c csk->rcv_nxt += lro_cb->pdu_totallen; csk 1552 drivers/target/iscsi/cxgbit/cxgbit_target.c ret = cxgbit_process_lro_skb(csk, skb); csk 1554 drivers/target/iscsi/cxgbit/cxgbit_target.c csk->rx_credits += lro_cb->pdu_totallen; csk 1556 drivers/target/iscsi/cxgbit/cxgbit_target.c if (csk->rx_credits >= (csk->rcv_win / 4)) csk 1557 drivers/target/iscsi/cxgbit/cxgbit_target.c cxgbit_rx_data_ack(csk); csk 1562 drivers/target/iscsi/cxgbit/cxgbit_target.c static int cxgbit_rx_skb(struct cxgbit_sock *csk, struct sk_buff *skb) csk 1564 drivers/target/iscsi/cxgbit/cxgbit_target.c struct cxgb4_lld_info *lldi = &csk->com.cdev->lldi; csk 1569 drivers/target/iscsi/cxgbit/cxgbit_target.c ret = cxgbit_rx_lro_skb(csk, skb); csk 1571 drivers/target/iscsi/cxgbit/cxgbit_target.c ret = cxgbit_process_lro_skb(csk, skb); csk 1578 drivers/target/iscsi/cxgbit/cxgbit_target.c static bool cxgbit_rxq_len(struct cxgbit_sock *csk, struct sk_buff_head *rxq) csk 1580 drivers/target/iscsi/cxgbit/cxgbit_target.c spin_lock_bh(&csk->rxq.lock); csk 1581 drivers/target/iscsi/cxgbit/cxgbit_target.c if (skb_queue_len(&csk->rxq)) { csk 1582 drivers/target/iscsi/cxgbit/cxgbit_target.c skb_queue_splice_init(&csk->rxq, rxq); csk 1583 drivers/target/iscsi/cxgbit/cxgbit_target.c spin_unlock_bh(&csk->rxq.lock); csk 1586 drivers/target/iscsi/cxgbit/cxgbit_target.c spin_unlock_bh(&csk->rxq.lock); csk 1590 drivers/target/iscsi/cxgbit/cxgbit_target.c static int cxgbit_wait_rxq(struct cxgbit_sock *csk) csk 1597 drivers/target/iscsi/cxgbit/cxgbit_target.c wait_event_interruptible(csk->waitq, cxgbit_rxq_len(csk, &rxq)); csk 1603 drivers/target/iscsi/cxgbit/cxgbit_target.c if (cxgbit_rx_skb(csk, skb)) csk 1615 drivers/target/iscsi/cxgbit/cxgbit_target.c struct cxgbit_sock *csk = conn->context; csk 1618 drivers/target/iscsi/cxgbit/cxgbit_target.c while (!test_and_clear_bit(CSK_LOGIN_PDU_DONE, &csk->com.flags)) { csk 1619 drivers/target/iscsi/cxgbit/cxgbit_target.c ret = cxgbit_wait_rxq(csk); csk 1621 drivers/target/iscsi/cxgbit/cxgbit_target.c clear_bit(CSK_LOGIN_PDU_DONE, &csk->com.flags); csk 1631 drivers/target/iscsi/cxgbit/cxgbit_target.c struct cxgbit_sock *csk = conn->context; csk 1635 drivers/target/iscsi/cxgbit/cxgbit_target.c if (cxgbit_wait_rxq(csk)) csk 1595 include/net/sock.h static inline bool sock_allow_reclassification(const struct sock *csk) csk 1597 include/net/sock.h struct sock *sk = (struct sock *)csk; csk 47 net/kcm/kcmsock.c static void report_csk_error(struct sock *csk, int err) csk 49 net/kcm/kcmsock.c csk->sk_err = EPIPE; csk 50 net/kcm/kcmsock.c csk->sk_error_report(csk); csk 56 net/kcm/kcmsock.c struct sock *csk = psock->sk; csk 88 net/kcm/kcmsock.c report_csk_error(csk, err); csk 1376 net/kcm/kcmsock.c struct sock *csk; csk 1387 net/kcm/kcmsock.c csk = csock->sk; csk 1388 net/kcm/kcmsock.c if (!csk) csk 1391 net/kcm/kcmsock.c lock_sock(csk); csk 1394 net/kcm/kcmsock.c if ((csk->sk_family != AF_INET && csk->sk_family != AF_INET6) || csk 1395 net/kcm/kcmsock.c csk->sk_protocol != IPPROTO_TCP) { csk 1401 net/kcm/kcmsock.c if (csk->sk_state == TCP_LISTEN || csk->sk_state == TCP_CLOSE) { csk 1413 net/kcm/kcmsock.c psock->sk = csk; csk 1416 net/kcm/kcmsock.c err = strp_init(&psock->strp, csk, &cb); csk 1422 net/kcm/kcmsock.c write_lock_bh(&csk->sk_callback_lock); csk 1427 net/kcm/kcmsock.c if (csk->sk_user_data) { csk 1428 net/kcm/kcmsock.c write_unlock_bh(&csk->sk_callback_lock); csk 1436 net/kcm/kcmsock.c psock->save_data_ready = csk->sk_data_ready; csk 1437 net/kcm/kcmsock.c psock->save_write_space = csk->sk_write_space; csk 1438 net/kcm/kcmsock.c psock->save_state_change = csk->sk_state_change; csk 1439 net/kcm/kcmsock.c csk->sk_user_data = psock; csk 1440 net/kcm/kcmsock.c csk->sk_data_ready = psock_data_ready; csk 1441 net/kcm/kcmsock.c csk->sk_write_space = psock_write_space; csk 1442 net/kcm/kcmsock.c csk->sk_state_change = psock_state_change; csk 1444 net/kcm/kcmsock.c write_unlock_bh(&csk->sk_callback_lock); csk 1446 net/kcm/kcmsock.c sock_hold(csk); csk 1470 net/kcm/kcmsock.c release_sock(csk); csk 1507 net/kcm/kcmsock.c struct sock *csk = psock->sk; csk 1510 net/kcm/kcmsock.c lock_sock(csk); csk 1515 net/kcm/kcmsock.c write_lock_bh(&csk->sk_callback_lock); csk 1516 net/kcm/kcmsock.c csk->sk_user_data = NULL; csk 1517 net/kcm/kcmsock.c csk->sk_data_ready = psock->save_data_ready; csk 1518 net/kcm/kcmsock.c csk->sk_write_space = psock->save_write_space; csk 1519 net/kcm/kcmsock.c csk->sk_state_change = psock->save_state_change; csk 1523 net/kcm/kcmsock.c write_unlock_bh(&csk->sk_callback_lock); csk 1524 net/kcm/kcmsock.c release_sock(csk); csk 1542 net/kcm/kcmsock.c write_unlock_bh(&csk->sk_callback_lock); csk 1545 net/kcm/kcmsock.c release_sock(csk); csk 1547 net/kcm/kcmsock.c lock_sock(csk); csk 1593 net/kcm/kcmsock.c sock_put(csk); csk 1594 net/kcm/kcmsock.c fput(csk->sk_socket->file); csk 1598 net/kcm/kcmsock.c release_sock(csk); csk 1607 net/kcm/kcmsock.c struct sock *csk; csk 1614 net/kcm/kcmsock.c csk = csock->sk; csk 1615 net/kcm/kcmsock.c if (!csk) { csk 1625 net/kcm/kcmsock.c if (psock->sk != csk)