Lines Matching defs:cm_core

246  * @cm_core: cm's core
250 irdma_timer_list_prep(struct irdma_cm_core *cm_core,
256 HASH_FOR_EACH_RCU(cm_core->cm_hash_tbl, bkt, cm_node, list) {
641 sqbuf = cm_node->cm_core->form_cm_frame(cm_node, NULL, NULL, NULL,
666 cm_node->cm_core->stats_connect_errs++;
687 cm_node->cm_core->stats_passive_errs++;
954 sqbuf = cm_node->cm_core->form_cm_frame(cm_node, NULL,
986 sqbuf = cm_node->cm_core->form_cm_frame(cm_node, NULL,
1173 * irdma_rem_ref_cm_node(cm_core, cm_node);
1184 struct irdma_cm_core *cm_core = cm_node->cm_core;
1231 spin_lock_irqsave(&cm_core->ht_lock, flags);
1232 was_timer_set = timer_pending(&cm_core->tcp_timer);
1235 cm_core->tcp_timer.expires = new_send->timetosend;
1236 add_timer(&cm_core->tcp_timer);
1238 spin_unlock_irqrestore(&cm_core->ht_lock, flags);
1319 struct irdma_cm_core *cm_core = from_timer(cm_core, t, tcp_timer);
1329 irdma_timer_list_prep(cm_core, &timer_list);
1389 cm_node->cm_core->stats_pkt_retrans++;
1419 spin_lock_irqsave(&cm_core->ht_lock, flags);
1420 if (!timer_pending(&cm_core->tcp_timer)) {
1421 cm_core->tcp_timer.expires = nexttimeout;
1422 add_timer(&cm_core->tcp_timer);
1424 spin_unlock_irqrestore(&cm_core->ht_lock, flags);
1471 sqbuf = cm_node->cm_core->form_cm_frame(cm_node, &opts, NULL, NULL,
1490 sqbuf = cm_node->cm_core->form_cm_frame(cm_node, NULL, NULL, NULL,
1505 sqbuf = cm_node->cm_core->form_cm_frame(cm_node, NULL, NULL, NULL,
1516 * @cm_core: cm's core
1524 irdma_find_listener(struct irdma_cm_core *cm_core, u32 *dst_addr, bool ipv4, u16 dst_port,
1534 spin_lock_irqsave(&cm_core->listen_list_lock, flags);
1535 list_for_each_entry(listen_node, &cm_core->listen_list, list) {
1546 spin_unlock_irqrestore(&cm_core->listen_list_lock,
1551 spin_unlock_irqrestore(&cm_core->listen_list_lock, flags);
1572 spin_lock_irqsave(&iwdev->cm_core.listen_list_lock, flags);
1606 cm_parent_listen_node->cm_core->stats_listen_nodes_destroyed++;
1608 spin_unlock_irqrestore(&iwdev->cm_core.listen_list_lock, flags);
1790 spin_lock_irqsave(&iwdev->cm_core.listen_list_lock, flags);
1793 spin_unlock_irqrestore(&iwdev->cm_core.listen_list_lock, flags);
1794 cm_parent_listen_node->cm_core->stats_listen_nodes_created++;
1853 * @cm_core: cm's core
1858 irdma_reset_list_prep(struct irdma_cm_core *cm_core,
1865 HASH_FOR_EACH_RCU(cm_core->cm_hash_tbl, bkt, cm_node, list) {
1875 * @cm_core: cm's core
1881 irdma_dec_refcnt_listen(struct irdma_cm_core *cm_core,
1898 irdma_reset_list_prep(cm_core, listener, &reset_list);
1925 spin_lock_irqsave(&cm_core->listen_list_lock, flags);
1927 spin_unlock_irqrestore(&cm_core->listen_list_lock, flags);
1951 cm_core->stats_listen_destroyed++;
1952 cm_core->stats_listen_nodes_destroyed++;
1968 * @cm_core: cm's core
1973 irdma_cm_del_listen(struct irdma_cm_core *cm_core,
1980 return irdma_dec_refcnt_listen(cm_core, listener, 1, apbvt_del);
1985 * @cm_core: cm's core
1993 irdma_find_node(struct irdma_cm_core *cm_core,
2001 HASH_FOR_EACH_POSSIBLE_RCU(cm_core->cm_hash_tbl, cm_node, list, key) {
2022 * @cm_core: cm's core
2026 irdma_add_hte_node(struct irdma_cm_core *cm_core,
2032 spin_lock_irqsave(&cm_core->ht_lock, flags);
2033 HASH_ADD_RCU(cm_core->cm_hash_tbl, &cm_node->list, key);
2034 spin_unlock_irqrestore(&cm_core->ht_lock, flags);
2133 * @cm_core: cm's core
2139 irdma_make_cm_node(struct irdma_cm_core *cm_core, struct irdma_device *iwdev,
2200 cm_node->cm_core = cm_core;
2211 irdma_add_hte_node(cm_core, cm_node);
2212 cm_core->stats_nodes_created++;
2224 struct irdma_cm_core *cm_core = cm_node->cm_core;
2237 irdma_dec_refcnt_listen(cm_core, cm_node->listener, 0, true);
2270 cm_core->cm_free_ah(cm_node);
2280 struct irdma_cm_core *cm_core = cm_node->cm_core;
2283 spin_lock_irqsave(&cm_core->ht_lock, flags);
2286 spin_unlock_irqrestore(&cm_core->ht_lock, flags);
2293 HASH_DEL_RCU(cm_core->cm_hash_tbl, &cm_node->list);
2294 cm_node->cm_core->stats_nodes_destroyed++;
2296 spin_unlock_irqrestore(&cm_core->ht_lock, flags);
2559 cm_node->cm_core->stats_backlog_drops++;
2569 err = cm_node->cm_core->cm_create_ah(cm_node, false);
2807 * @cm_core: cm's core
2812 irdma_make_listen_node(struct irdma_cm_core *cm_core,
2820 listener = irdma_find_listener(cm_core, cm_info->loc_addr, cm_info->ipv4,
2836 cm_core->stats_listen_nodes_created++;
2852 listener->cm_core = cm_core;
2859 spin_lock_irqsave(&cm_core->listen_list_lock, flags);
2860 list_add(&listener->list, &cm_core->listen_list);
2861 spin_unlock_irqrestore(&cm_core->listen_list_lock, flags);
2869 * @cm_core: cm's core
2876 irdma_create_cm_node(struct irdma_cm_core *cm_core,
2887 cm_node = irdma_make_cm_node(cm_core, iwdev, cm_info, NULL);
3014 struct irdma_cm_core *cm_core = &iwdev->cm_core;
3039 irdma_debug(&cm_core->iwdev->rf->sc_dev, IRDMA_DEBUG_CM,
3063 cm_node = irdma_find_node(cm_core, cm_info.rem_port, cm_info.rem_addr,
3073 listener = irdma_find_listener(cm_core,
3081 irdma_debug(&cm_core->iwdev->rf->sc_dev, IRDMA_DEBUG_CM,
3087 cm_node = irdma_make_cm_node(cm_core, iwdev, &cm_info,
3090 irdma_debug(&cm_core->iwdev->rf->sc_dev, IRDMA_DEBUG_CM,
3134 struct irdma_cm_core *cm_core = &iwdev->cm_core;
3136 cm_core->iwdev = iwdev;
3137 cm_core->dev = &iwdev->rf->sc_dev;
3140 cm_core->event_wq = alloc_ordered_workqueue("iwarp-event-wq", 0);
3141 if (!cm_core->event_wq)
3144 INIT_LIST_HEAD(&cm_core->listen_list);
3146 timer_setup(&cm_core->tcp_timer, irdma_cm_timer_tick, 0);
3148 spin_lock_init(&cm_core->ht_lock);
3149 spin_lock_init(&cm_core->listen_list_lock);
3150 spin_lock_init(&cm_core->apbvt_lock);
3153 cm_core->form_cm_frame = irdma_form_uda_cm_frame;
3154 cm_core->cm_create_ah = irdma_add_qh;
3155 cm_core->cm_free_ah = irdma_cm_free_ah_nop;
3159 cm_core->form_cm_frame = irdma_form_ah_cm_frame;
3160 cm_core->cm_create_ah = irdma_cm_create_ah;
3161 cm_core->cm_free_ah = irdma_cm_free_ah;
3170 * @cm_core: cm's core
3173 irdma_cleanup_cm_core(struct irdma_cm_core *cm_core)
3175 if (!cm_core)
3178 del_timer_sync(&cm_core->tcp_timer);
3180 destroy_workqueue(cm_core->event_wq);
3181 cm_core->dev->ws_reset(&cm_core->iwdev->vsi);
3433 spin_lock_irqsave(&iwdev->cm_core.ht_lock, flags);
3435 spin_unlock_irqrestore(&iwdev->cm_core.ht_lock, flags);
3440 spin_unlock_irqrestore(&iwdev->cm_core.ht_lock, flags);
3613 cm_node->cm_core->cm_free_ah(cm_node);
3643 cm_node->cm_core->stats_accepts++;
3672 cm_node->cm_core->stats_rejects++;
3770 ret = irdma_create_cm_node(&iwdev->cm_core, iwdev, conn_param, &cm_info,
3774 ret = cm_node->cm_core->cm_create_ah(cm_node, true);
3822 iwdev->cm_core.stats_connect_errs++;
3887 cm_listen_node = irdma_make_listen_node(&iwdev->cm_core, iwdev,
3931 cm_listen_node->cm_core->stats_listen_created++;
3942 irdma_cm_del_listen(&iwdev->cm_core, cm_listen_node, false);
3958 irdma_cm_del_listen(&iwdev->cm_core, cm_id->provider_data,
3972 * @cm_core: cm's core
3979 irdma_iw_teardown_list_prep(struct irdma_cm_core *cm_core,
3988 HASH_FOR_EACH_RCU(cm_core->cm_hash_tbl, bkt, cm_node, list) {
4118 cm_node->cm_core->cm_free_ah(cm_node);
4166 if (!event || !event->cm_node || !event->cm_node->cm_core)
4217 queue_work(event->cm_node->cm_core->event_wq, &event->event_work);
4235 struct irdma_cm_core *cm_core = &iwdev->cm_core;
4246 irdma_iw_teardown_list_prep(cm_core, &teardown_list, ipaddr, nfo, disconnect_all);