Home
last modified time | relevance | path

Searched refs:link (Results 1 – 25 of 92) sorted by relevance

1234

/net/smc/
Dsmc_wr.c44 struct smc_link *link; member
55 static inline bool smc_wr_is_tx_pend(struct smc_link *link) in smc_wr_is_tx_pend() argument
57 if (find_first_bit(link->wr_tx_mask, link->wr_tx_cnt) != in smc_wr_is_tx_pend()
58 link->wr_tx_cnt) { in smc_wr_is_tx_pend()
65 void smc_wr_tx_wait_no_pending_sends(struct smc_link *link) in smc_wr_tx_wait_no_pending_sends() argument
67 wait_event(link->wr_tx_wait, !smc_wr_is_tx_pend(link)); in smc_wr_tx_wait_no_pending_sends()
70 static inline int smc_wr_tx_find_pending_index(struct smc_link *link, u64 wr_id) in smc_wr_tx_find_pending_index() argument
74 for (i = 0; i < link->wr_tx_cnt; i++) { in smc_wr_tx_find_pending_index()
75 if (link->wr_tx_pends[i].wr_id == wr_id) in smc_wr_tx_find_pending_index()
78 return link->wr_tx_cnt; in smc_wr_tx_find_pending_index()
[all …]
Dsmc_llc.c158 struct smc_link *link; member
162 static void smc_llc_enqueue(struct smc_link *link, union smc_llc_msg *llc);
213 struct smc_link_group *lgr = qentry->link->lgr; in smc_llc_flow_start()
336 struct smc_link *link, in smc_llc_tx_handler() argument
355 static int smc_llc_add_pending_send(struct smc_link *link, in smc_llc_add_pending_send() argument
361 rc = smc_wr_tx_get_free_slot(link, smc_llc_tx_handler, wr_buf, NULL, in smc_llc_add_pending_send()
378 int smc_llc_send_confirm_link(struct smc_link *link, in smc_llc_send_confirm_link() argument
386 if (!smc_wr_tx_link_hold(link)) in smc_llc_send_confirm_link()
388 rc = smc_llc_add_pending_send(link, &wr_buf, &pend); in smc_llc_send_confirm_link()
398 memcpy(confllc->sender_mac, link->smcibdev->mac[link->ibport - 1], in smc_llc_send_confirm_link()
[all …]
Dsmc_wr.h52 static inline long smc_wr_tx_get_next_wr_id(struct smc_link *link) in smc_wr_tx_get_next_wr_id() argument
54 return atomic_long_inc_return(&link->wr_tx_id); in smc_wr_tx_get_next_wr_id()
62 static inline bool smc_wr_tx_link_hold(struct smc_link *link) in smc_wr_tx_link_hold() argument
64 if (!smc_link_sendable(link)) in smc_wr_tx_link_hold()
66 atomic_inc(&link->wr_tx_refcnt); in smc_wr_tx_link_hold()
70 static inline void smc_wr_tx_link_put(struct smc_link *link) in smc_wr_tx_link_put() argument
72 if (atomic_dec_and_test(&link->wr_tx_refcnt)) in smc_wr_tx_link_put()
73 wake_up_all(&link->wr_tx_wait); in smc_wr_tx_link_put()
87 static inline int smc_wr_rx_post(struct smc_link *link) in smc_wr_rx_post() argument
93 wr_id = ++link->wr_rx_id; /* tasklet context, thus not atomic */ in smc_wr_rx_post()
[all …]
Dsmc_llc.h74 int smc_llc_send_add_link(struct smc_link *link, u8 mac[], u8 gid[],
77 int smc_llc_send_delete_link(struct smc_link *link, u8 link_del_id,
80 void smc_llc_srv_delete_link_local(struct smc_link *link, u8 del_link_id);
83 int smc_llc_link_init(struct smc_link *link);
84 void smc_llc_link_active(struct smc_link *link);
85 void smc_llc_link_clear(struct smc_link *link, bool log);
95 void smc_llc_link_set_uid(struct smc_link *link);
104 int smc_llc_cli_add_link(struct smc_link *link, struct smc_llc_qentry *qentry);
105 int smc_llc_srv_add_link(struct smc_link *link);
106 void smc_llc_add_link_local(struct smc_link *link);
Dsmc_cdc.c26 struct smc_link *link, in smc_cdc_tx_handler() argument
63 struct smc_link *link, in smc_cdc_get_free_slot() argument
70 rc = smc_wr_tx_get_free_slot(link, smc_cdc_tx_handler, wr_buf, in smc_cdc_get_free_slot()
76 smc_wr_tx_put_slot(link, in smc_cdc_get_free_slot()
105 struct smc_link *link = conn->lnk; in smc_cdc_msg_send() local
118 rc = smc_wr_tx_send(link, (struct smc_wr_tx_pend_priv *)pend); in smc_cdc_msg_send()
137 struct smc_link *link = conn->lnk; in smcr_cdc_msg_send_validation() local
156 rc = smc_wr_tx_send(link, (struct smc_wr_tx_pend_priv *)pend); in smcr_cdc_msg_send_validation()
167 struct smc_link *link; in smcr_cdc_get_slot_and_msg_send() local
172 link = conn->lnk; in smcr_cdc_get_slot_and_msg_send()
[all …]
Dsmc_tx.c285 struct smc_link *link = conn->lnk; in smc_tx_rdma_write() local
288 rdma_wr->wr.wr_id = smc_wr_tx_get_next_wr_id(link); in smc_tx_rdma_write()
291 lgr->rtokens[conn->rtoken_idx][link->link_idx].dma_addr + in smc_tx_rdma_write()
296 rdma_wr->rkey = lgr->rtokens[conn->rtoken_idx][link->link_idx].rkey; in smc_tx_rdma_write()
297 rc = ib_post_send(link->roce_qp, &rdma_wr->wr, NULL); in smc_tx_rdma_write()
299 smcr_link_down_cond_sched(link); in smc_tx_rdma_write()
325 struct smc_link *link = conn->lnk; in smcr_tx_rdma_writes() local
328 sg_dma_address(conn->sndbuf_desc->sgt[link->link_idx].sgl); in smcr_tx_rdma_writes()
502 struct smc_link *link = conn->lnk; in smcr_tx_sndbuf_nonempty() local
508 if (!link || !smc_wr_tx_link_hold(link)) in smcr_tx_sndbuf_nonempty()
[all …]
Daf_smc.c361 static int smcr_lgr_reg_rmbs(struct smc_link *link, in smcr_lgr_reg_rmbs() argument
364 struct smc_link_group *lgr = link->lgr; in smcr_lgr_reg_rmbs()
383 rc = smc_llc_do_confirm_rkey(link, rmb_desc); in smcr_lgr_reg_rmbs()
397 struct smc_link *link = smc->conn.lnk; in smcr_clnt_conf_first_link() local
406 qentry = smc_llc_wait(link->lgr, NULL, 2 * SMC_LLC_WAIT_TIME, in smcr_clnt_conf_first_link()
417 smc_llc_flow_qentry_del(&link->lgr->llc_flow_lcl); in smcr_clnt_conf_first_link()
421 rc = smc_ib_modify_qp_rts(link); in smcr_clnt_conf_first_link()
425 smc_wr_remember_qp_attr(link); in smcr_clnt_conf_first_link()
427 if (smcr_link_reg_rmb(link, smc->conn.rmb_desc)) in smcr_clnt_conf_first_link()
434 rc = smc_llc_send_confirm_link(link, SMC_LLC_RESP); in smcr_clnt_conf_first_link()
[all …]
Dsmc_core.c102 struct rb_node **link, *parent = NULL; in smc_lgr_add_alert_token() local
105 link = &conn->lgr->conns_all.rb_node; in smc_lgr_add_alert_token()
106 while (*link) { in smc_lgr_add_alert_token()
107 struct smc_connection *cur = rb_entry(*link, in smc_lgr_add_alert_token()
110 parent = *link; in smc_lgr_add_alert_token()
112 link = &parent->rb_left; in smc_lgr_add_alert_token()
114 link = &parent->rb_right; in smc_lgr_add_alert_token()
117 rb_link_node(&conn->alert_node, parent, link); in smc_lgr_add_alert_token()
317 struct smc_link *link, in smc_nl_fill_lgr_link() argument
337 if (nla_put_u8(skb, SMC_NLA_LINK_ID, link->link_id)) in smc_nl_fill_lgr_link()
[all …]
Dsmc_clc.c681 struct smc_link *link = conn->lnk; in smc_clc_send_confirm_accept() local
684 link = conn->lnk; in smc_clc_send_confirm_accept()
691 memcpy(&clc->r0.lcl.gid, link->gid, SMC_GID_SIZE); in smc_clc_send_confirm_accept()
692 memcpy(&clc->r0.lcl.mac, &link->smcibdev->mac[link->ibport - 1], in smc_clc_send_confirm_accept()
694 hton24(clc->r0.qpn, link->roce_qp->qp_num); in smc_clc_send_confirm_accept()
696 htonl(conn->rmb_desc->mr_rx[link->link_idx]->rkey); in smc_clc_send_confirm_accept()
701 clc->r0.qp_mtu = link->path_mtu; in smc_clc_send_confirm_accept()
704 clc->r0.qp_mtu = min(link->path_mtu, link->peer_mtu); in smc_clc_send_confirm_accept()
709 (conn->rmb_desc->sgt[link->link_idx].sgl)); in smc_clc_send_confirm_accept()
710 hton24(clc->r0.psn, link->psn_initial); in smc_clc_send_confirm_accept()
/net/wireless/
Dsme.c482 unsigned int link; in cfg80211_wdev_release_bsses() local
484 for_each_valid_link(wdev, link) { in cfg80211_wdev_release_bsses()
485 if (!wdev->links[link].client.current_bss) in cfg80211_wdev_release_bsses()
487 cfg80211_unhold_bss(wdev->links[link].client.current_bss); in cfg80211_wdev_release_bsses()
489 &wdev->links[link].client.current_bss->pub); in cfg80211_wdev_release_bsses()
490 wdev->links[link].client.current_bss = NULL; in cfg80211_wdev_release_bsses()
717 unsigned int link; in cfg80211_connect_result_release_bsses() local
719 for_each_valid_link(cr, link) { in cfg80211_connect_result_release_bsses()
720 if (!cr->links[link].bss) in cfg80211_connect_result_release_bsses()
722 cfg80211_unhold_bss(bss_from_pub(cr->links[link].bss)); in cfg80211_connect_result_release_bsses()
[all …]
Dap.c59 unsigned int link; in __cfg80211_stop_ap() local
65 for_each_valid_link(dev->ieee80211_ptr, link) { in __cfg80211_stop_ap()
66 int ret1 = ___cfg80211_stop_ap(rdev, dev, link, notify); in __cfg80211_stop_ap()
/net/unix/
Dgarbage.c154 BUG_ON(!list_empty(&u->link)); in scan_children()
155 list_add_tail(&u->link, &embryos); in scan_children()
160 u = list_entry(embryos.next, struct unix_sock, link); in scan_children()
162 list_del_init(&u->link); in scan_children()
186 list_move_tail(&u->link, &gc_candidates); in inc_inflight_move_tail()
249 list_for_each_entry_safe(u, next, &gc_inflight_list, link) { in unix_gc()
258 list_move_tail(&u->link, &gc_candidates); in unix_gc()
272 list_for_each_entry(u, &gc_candidates, link) in unix_gc()
284 u = list_entry(cursor.next, struct unix_sock, link); in unix_gc()
287 list_move(&cursor, &u->link); in unix_gc()
[all …]
Dscm.c58 BUG_ON(!list_empty(&u->link)); in unix_inflight()
59 list_add_tail(&u->link, &gc_inflight_list); in unix_inflight()
61 BUG_ON(list_empty(&u->link)); in unix_inflight()
81 BUG_ON(list_empty(&u->link)); in unix_notinflight()
85 list_del_init(&u->link); in unix_notinflight()
/net/bridge/
Dbr_multicast_eht.c244 struct rb_node **link = &pg->eht_host_tree.rb_node, *parent = NULL; in __eht_lookup_create_host() local
247 while (*link) { in __eht_lookup_create_host()
251 this = rb_entry(*link, struct net_bridge_group_eht_host, in __eht_lookup_create_host()
254 parent = *link; in __eht_lookup_create_host()
256 link = &((*link)->rb_left); in __eht_lookup_create_host()
258 link = &((*link)->rb_right); in __eht_lookup_create_host()
275 rb_link_node(&eht_host->rb_node, parent, link); in __eht_lookup_create_host()
289 struct rb_node **link = &eht_set->entry_tree.rb_node, *parent = NULL; in __eht_lookup_create_set_entry() local
292 while (*link) { in __eht_lookup_create_set_entry()
296 this = rb_entry(*link, struct net_bridge_group_eht_set_entry, in __eht_lookup_create_set_entry()
[all …]
/net/tipc/
Dnode.c65 struct tipc_link *link; member
73 struct tipc_link *link; member
204 return n->links[bearer_id].link; in node_active_link()
315 kfree(n->bc_entry.link); in tipc_node_kref_release()
494 &n->bc_entry.namedq, snd_l, &n->bc_entry.link)) { in tipc_node_create()
523 l = n->links[bearer_id].link; in tipc_node_create()
584 &n->bc_entry.namedq, snd_l, &n->bc_entry.link)) { in tipc_node_create()
755 if (le->link) { in tipc_node_clear_links()
756 kfree(le->link); in tipc_node_clear_links()
757 le->link = NULL; in tipc_node_clear_links()
[all …]
Dnetlink_compat.c549 struct nlattr *link[TIPC_NLA_LINK_MAX + 1]; in tipc_nl_compat_link_stat_dump() local
558 err = nla_parse_nested_deprecated(link, TIPC_NLA_LINK_MAX, in tipc_nl_compat_link_stat_dump()
563 if (!link[TIPC_NLA_LINK_PROP]) in tipc_nl_compat_link_stat_dump()
567 link[TIPC_NLA_LINK_PROP], NULL, in tipc_nl_compat_link_stat_dump()
572 if (!link[TIPC_NLA_LINK_STATS]) in tipc_nl_compat_link_stat_dump()
576 link[TIPC_NLA_LINK_STATS], NULL, in tipc_nl_compat_link_stat_dump()
591 if (strcmp(name, nla_data(link[TIPC_NLA_LINK_NAME])) != 0) in tipc_nl_compat_link_stat_dump()
595 (char *)nla_data(link[TIPC_NLA_LINK_NAME])); in tipc_nl_compat_link_stat_dump()
597 if (link[TIPC_NLA_LINK_BROADCAST]) { in tipc_nl_compat_link_stat_dump()
602 if (link[TIPC_NLA_LINK_ACTIVE]) in tipc_nl_compat_link_stat_dump()
[all …]
/net/sched/
Dcls_basic.c34 struct list_head link; member
46 list_for_each_entry_rcu(f, &head->flist, link) { in basic_classify()
65 list_for_each_entry(f, &head->flist, link) { in basic_get()
112 list_for_each_entry_safe(f, n, &head->flist, link) { in basic_destroy()
113 list_del_rcu(&f->link); in basic_destroy()
131 list_del_rcu(&f->link); in basic_delete()
231 list_replace_rcu(&fold->link, &fnew->link); in basic_change()
236 list_add_rcu(&fnew->link, &head->flist); in basic_change()
253 list_for_each_entry(f, &head->flist, link) { in basic_walk()
Dcls_bpf.c39 struct list_head link; member
88 list_for_each_entry_rcu(prog, &head->plist, link) { in cls_bpf_classify()
291 list_del_rcu(&prog->link); in __cls_bpf_delete()
315 list_for_each_entry_safe(prog, tmp, &head->plist, link) in cls_bpf_destroy()
327 list_for_each_entry(prog, &head->plist, link) { in cls_bpf_get()
510 list_replace_rcu(&oldprog->link, &prog->link); in cls_bpf_change()
515 list_add_rcu(&prog->link, &head->plist); in cls_bpf_change()
645 list_for_each_entry(prog, &head->plist, link) { in cls_bpf_walk()
666 list_for_each_entry(prog, &head->plist, link) { in cls_bpf_reoffload()
/net/core/
Dsock_map.c131 struct sk_psock_link *link, in sock_map_add_link() argument
134 link->link_raw = link_raw; in sock_map_add_link()
135 link->map = map; in sock_map_add_link()
137 list_add_tail(&link->list, &psock->link); in sock_map_add_link()
145 struct sk_psock_link *link, *tmp; in sock_map_del_link() local
148 list_for_each_entry_safe(link, tmp, &psock->link, list) { in sock_map_del_link()
149 if (link->link_raw == link_raw) { in sock_map_del_link()
150 struct bpf_map *map = link->map; in sock_map_del_link()
159 list_del(&link->list); in sock_map_del_link()
160 sk_psock_free_link(link); in sock_map_del_link()
[all …]
/net/ipv4/
Dip_tunnel.c84 int link, __be16 flags, in ip_tunnel_lookup() argument
105 if (t->parms.link == link) in ip_tunnel_lookup()
120 if (t->parms.link == link) in ip_tunnel_lookup()
140 if (t->parms.link == link) in ip_tunnel_lookup()
153 if (t->parms.link == link) in ip_tunnel_lookup()
217 int link = parms->link; in ip_tunnel_find() local
224 link == t->parms.link && in ip_tunnel_find()
297 RT_TOS(iph->tos), tunnel->parms.link, in ip_tunnel_bind_dev()
311 if (!tdev && tunnel->parms.link) in ip_tunnel_bind_dev()
312 tdev = __dev_get_by_index(tunnel->net, tunnel->parms.link); in ip_tunnel_bind_dev()
[all …]
/net/sunrpc/
Ddebugfs.c124 char link[9]; /* enough for 8 hex digits + NULL */ in do_xprt_debugfs() local
134 strcpy(link, "xprt"); in do_xprt_debugfs()
136 len = snprintf(link, sizeof(link), "xprt%d", *nump); in do_xprt_debugfs()
137 if (len >= sizeof(link)) in do_xprt_debugfs()
140 debugfs_create_symlink(link, clnt->cl_debugfs, name); in do_xprt_debugfs()
/net/hsr/
Dhsr_netlink.c38 struct net_device *link[2]; in hsr_newlink() local
48 link[0] = __dev_get_by_index(src_net, in hsr_newlink()
50 if (!link[0]) { in hsr_newlink()
58 link[1] = __dev_get_by_index(src_net, in hsr_newlink()
60 if (!link[1]) { in hsr_newlink()
65 if (link[0] == link[1]) { in hsr_newlink()
102 return hsr_dev_finalize(dev, link, multicast_spec, proto_version, extack); in hsr_newlink()
/net/ethtool/
Dlinkstate.c13 int link; member
92 data->link = __ethtool_get_link(dev); in linkstate_prepare_data()
146 if (data->link >= 0 && in linkstate_fill_reply()
147 nla_put_u8(skb, ETHTOOL_A_LINKSTATE_LINK, !!data->link)) in linkstate_fill_reply()
/net/ipv6/
Dip6_tunnel.c114 ip6_tnl_lookup(struct net *net, int link, in ip6_tnl_lookup() argument
128 if (link == t->parms.link) in ip6_tnl_lookup()
142 if (link == t->parms.link) in ip6_tnl_lookup()
155 if (link == t->parms.link) in ip6_tnl_lookup()
354 p->link == t->parms.link) { in ip6_tnl_locate()
754 (!((ltype|rtype) & IPV6_ADDR_LINKLOCAL) || p->link)) { in ip6_tnl_get_cap()
778 if (p->link) in ip6_tnl_rcv_ctl()
779 ldev = dev_get_by_index_rcu(net, p->link); in ip6_tnl_rcv_ctl()
1044 if (p->link) in ip6_tnl_xmit_ctl()
1045 ldev = dev_get_by_index_rcu(net, p->link); in ip6_tnl_xmit_ctl()
[all …]
/net/rxrpc/
Dlocal_object.c85 INIT_HLIST_NODE(&local->link); in rxrpc_alloc_local()
195 local = hlist_entry(cursor, struct rxrpc_local, link); in rxrpc_lookup_local()
232 hlist_replace_rcu(cursor, &local->link); in rxrpc_lookup_local()
235 hlist_add_head_rcu(&local->link, &rxnet->local_endpoints); in rxrpc_lookup_local()
378 hlist_del_init_rcu(&local->link); in rxrpc_local_destroyer()
467 hlist_for_each_entry(local, &rxnet->local_endpoints, link) { in rxrpc_destroy_all_locals()

1234