| /linux/net/rxrpc/ |
| H A D | peer_object.c | 28 * Hash a peer key. 62 /* Step through the peer address in 16-bit portions for speed */ in rxrpc_peer_hash_key() 71 * Compare a peer to a key. Return -ve, 0 or +ve to indicate less than, same 78 static long rxrpc_peer_cmp_key(const struct rxrpc_peer *peer, in rxrpc_peer_cmp_key() argument 85 diff = ((peer->hash_key - hash_key) ?: in rxrpc_peer_cmp_key() 86 ((unsigned long)peer->local - (unsigned long)local) ?: in rxrpc_peer_cmp_key() 87 (peer->srx.transport_type - srx->transport_type) ?: in rxrpc_peer_cmp_key() 88 (peer->srx.transport_len - srx->transport_len) ?: in rxrpc_peer_cmp_key() 89 (peer->srx.transport.family - srx->transport.family)); in rxrpc_peer_cmp_key() 95 return ((u16 __force)peer->srx.transport.sin.sin_port - in rxrpc_peer_cmp_key() [all …]
|
| H A D | peer_event.c | 2 /* Peer event handling, typically ICMP messages. 26 * Find the peer associated with a local error. 103 static void rxrpc_adjust_mtu(struct rxrpc_peer *peer, unsigned int mtu) in rxrpc_adjust_mtu() argument 108 if (mtu > 0 && peer->if_mtu == 65535 && mtu < peer->if_mtu) in rxrpc_adjust_mtu() 109 peer->if_mtu = mtu; in rxrpc_adjust_mtu() 113 mtu = peer->if_mtu; in rxrpc_adjust_mtu() 120 if (mtu < peer->hdrsize) in rxrpc_adjust_mtu() 121 mtu = peer->hdrsize + 4; in rxrpc_adjust_mtu() 125 max_data = max_t(int, mtu - peer->hdrsize, 500); in rxrpc_adjust_mtu() 126 if (max_data < peer->max_data) { in rxrpc_adjust_mtu() [all …]
|
| H A D | conn_service.c | 16 * the hash function. So, instead, we use a hash table for the peer and from 21 struct rxrpc_connection *rxrpc_find_service_conn_rcu(struct rxrpc_peer *peer, in rxrpc_find_service_conn_rcu() argument 39 read_seqbegin_or_lock(&peer->service_conn_lock, &seq); in rxrpc_find_service_conn_rcu() 41 p = rcu_dereference_raw(peer->service_conns.rb_node); in rxrpc_find_service_conn_rcu() 53 } while (need_seqretry(&peer->service_conn_lock, seq)); in rxrpc_find_service_conn_rcu() 55 done_seqretry(&peer->service_conn_lock, seq); in rxrpc_find_service_conn_rcu() 61 * Insert a service connection into a peer's tree, thereby making it a target 64 static void rxrpc_publish_service_conn(struct rxrpc_peer *peer, in rxrpc_publish_service_conn() argument 71 write_seqlock(&peer->service_conn_lock); in rxrpc_publish_service_conn() 73 pp = &peer->service_conns.rb_node; in rxrpc_publish_service_conn() [all …]
|
| /linux/drivers/net/wireguard/ |
| H A D | timers.c | 8 #include "peer.h" 30 static inline void mod_peer_timer(struct wg_peer *peer, in mod_peer_timer() argument 35 if (likely(netif_running(peer->device->dev) && in mod_peer_timer() 36 !READ_ONCE(peer->is_dead))) in mod_peer_timer() 43 struct wg_peer *peer = timer_container_of(peer, timer, in wg_expired_retransmit_handshake() local 46 if (peer->timer_handshake_attempts > MAX_TIMER_HANDSHAKES) { in wg_expired_retransmit_handshake() 47 pr_debug("%s: Handshake for peer %llu (%pISpfsc) did not complete after %d attempts, giving up\n", in wg_expired_retransmit_handshake() 48 peer->device->dev->name, peer->internal_id, in wg_expired_retransmit_handshake() 49 &peer->endpoint.addr, (int)MAX_TIMER_HANDSHAKES + 2); in wg_expired_retransmit_handshake() 51 timer_delete(&peer->timer_send_keepalive); in wg_expired_retransmit_handshake() [all …]
|
| H A D | peer.c | 6 #include "peer.h" 25 struct wg_peer *peer; in wg_peer_create() local 33 peer = kmem_cache_zalloc(peer_cache, GFP_KERNEL); in wg_peer_create() 34 if (unlikely(!peer)) in wg_peer_create() 36 if (unlikely(dst_cache_init(&peer->endpoint_cache, GFP_KERNEL))) in wg_peer_create() 39 peer->device = wg; in wg_peer_create() 40 wg_noise_handshake_init(&peer->handshake, &wg->static_identity, in wg_peer_create() 41 public_key, preshared_key, peer); in wg_peer_create() 42 peer->internal_id = atomic64_inc_return(&peer_counter); in wg_peer_create() 43 peer->serial_work_cpu = nr_cpumask_bits; in wg_peer_create() [all …]
|
| H A D | send.c | 9 #include "peer.h" 21 static void wg_packet_send_handshake_initiation(struct wg_peer *peer) in wg_packet_send_handshake_initiation() argument 25 if (!wg_birthdate_has_expired(atomic64_read(&peer->last_sent_handshake), in wg_packet_send_handshake_initiation() 29 atomic64_set(&peer->last_sent_handshake, ktime_get_coarse_boottime_ns()); in wg_packet_send_handshake_initiation() 30 net_dbg_ratelimited("%s: Sending handshake initiation to peer %llu (%pISpfsc)\n", in wg_packet_send_handshake_initiation() 31 peer->device->dev->name, peer->internal_id, in wg_packet_send_handshake_initiation() 32 &peer->endpoint.addr); in wg_packet_send_handshake_initiation() 34 if (wg_noise_handshake_create_initiation(&packet, &peer->handshake)) { in wg_packet_send_handshake_initiation() 35 wg_cookie_add_mac_to_packet(&packet, sizeof(packet), peer); in wg_packet_send_handshake_initiation() 36 wg_timers_any_authenticated_packet_traversal(peer); in wg_packet_send_handshake_initiation() [all …]
|
| H A D | receive.c | 8 #include "peer.h" 20 static void update_rx_stats(struct wg_peer *peer, size_t len) in update_rx_stats() argument 22 dev_sw_netstats_rx_add(peer->device->dev, len); in update_rx_stats() 23 peer->rx_bytes += len; in update_rx_stats() 96 struct wg_peer *peer = NULL; in wg_receive_handshake_packet() local 144 peer = wg_noise_handshake_consume_initiation(message, wg); in wg_receive_handshake_packet() 145 if (unlikely(!peer)) { in wg_receive_handshake_packet() 150 wg_socket_set_peer_endpoint_from_skb(peer, skb); in wg_receive_handshake_packet() 151 net_dbg_ratelimited("%s: Receiving handshake initiation from peer %llu (%pISpfsc)\n", in wg_receive_handshake_packet() 152 wg->dev->name, peer->internal_id, in wg_receive_handshake_packet() [all …]
|
| H A D | cookie.c | 7 #include "peer.h" 44 /* Must hold peer->handshake.static_identity->lock */ 61 void wg_cookie_checker_precompute_peer_keys(struct wg_peer *peer) in wg_cookie_checker_precompute_peer_keys() argument 63 precompute_key(peer->latest_cookie.cookie_decryption_key, in wg_cookie_checker_precompute_peer_keys() 64 peer->handshake.remote_static, cookie_key_label); in wg_cookie_checker_precompute_peer_keys() 65 precompute_key(peer->latest_cookie.message_mac1_key, in wg_cookie_checker_precompute_peer_keys() 66 peer->handshake.remote_static, mac1_key_label); in wg_cookie_checker_precompute_peer_keys() 157 struct wg_peer *peer) in wg_cookie_add_mac_to_packet() argument 162 down_write(&peer->latest_cookie.lock); in wg_cookie_add_mac_to_packet() 164 peer->latest_cookie.message_mac1_key); in wg_cookie_add_mac_to_packet() [all …]
|
| /linux/drivers/net/ovpn/ |
| H A D | tcp.c | 21 #include "peer.h" 64 static void ovpn_tcp_to_userspace(struct ovpn_peer *peer, struct sock *sk, in ovpn_tcp_to_userspace() argument 69 skb_queue_tail(&peer->tcp.user_queue, skb); in ovpn_tcp_to_userspace() 70 peer->tcp.sk_cb.sk_data_ready(sk); in ovpn_tcp_to_userspace() 73 static struct sk_buff *ovpn_tcp_skb_packet(const struct ovpn_peer *peer, in ovpn_tcp_skb_packet() argument 81 ovpn_skb = netdev_alloc_skb(peer->ovpn->dev, pkt_len); in ovpn_tcp_skb_packet() 89 net_warn_ratelimited("%s: skb_copy_bits failed for peer %u\n", in ovpn_tcp_skb_packet() 90 netdev_name(peer->ovpn->dev), peer->id); in ovpn_tcp_skb_packet() 104 struct ovpn_peer *peer = container_of(strp, struct ovpn_peer, tcp.strp); in ovpn_tcp_rcv() local 113 net_warn_ratelimited("%s: packet too small to fetch opcode for peer %u\n", in ovpn_tcp_rcv() [all …]
|
| H A D | socket.c | 17 #include "peer.h" 35 * @peer: peer whose socket reference counter should be decreased 36 * @sock: the RCU protected peer socket 43 static bool ovpn_socket_put(struct ovpn_peer *peer, struct ovpn_socket *sock) in ovpn_socket_put() argument 50 * @peer: peer whose socket should be released 52 * This function should be invoked when the peer is being removed 59 * the refcounter for the peer it is linked to, thus allowing the peer 62 * This function is expected to be invoked exactly once per peer 66 void ovpn_socket_release(struct ovpn_peer *peer) in ovpn_socket_release() argument 73 sock = rcu_replace_pointer(peer->sock, NULL, true); in ovpn_socket_release() [all …]
|
| /linux/drivers/net/wireless/ath/ath11k/ |
| H A D | peer.c | 8 #include "peer.h" 14 struct ath11k_peer *peer; in ath11k_peer_find_list_by_id() local 18 list_for_each_entry(peer, &ab->peers, list) { in ath11k_peer_find_list_by_id() 19 if (peer->peer_id != peer_id) in ath11k_peer_find_list_by_id() 22 return peer; in ath11k_peer_find_list_by_id() 31 struct ath11k_peer *peer; in ath11k_peer_find() local 35 list_for_each_entry(peer, &ab->peers, list) { in ath11k_peer_find() 36 if (peer->vdev_id != vdev_id) in ath11k_peer_find() 38 if (!ether_addr_equal(peer->addr, addr)) in ath11k_peer_find() 41 return peer; in ath11k_peer_find() [all …]
|
| /linux/drivers/net/wireless/ath/ath12k/ |
| H A D | dp_peer.c | 12 void ath12k_dp_link_peer_free(struct ath12k_dp_link_peer *peer) in ath12k_dp_link_peer_free() argument 14 list_del(&peer->list); in ath12k_dp_link_peer_free() 16 kfree(peer->peer_stats.rx_stats); in ath12k_dp_link_peer_free() 17 kfree(peer); in ath12k_dp_link_peer_free() 24 struct ath12k_dp_link_peer *peer; in ath12k_dp_link_peer_find_by_vdev_and_addr() local 28 list_for_each_entry(peer, &dp->peers, list) { in ath12k_dp_link_peer_find_by_vdev_and_addr() 29 if (peer->vdev_id != vdev_id) in ath12k_dp_link_peer_find_by_vdev_and_addr() 31 if (!ether_addr_equal(peer->addr, addr)) in ath12k_dp_link_peer_find_by_vdev_and_addr() 34 return peer; in ath12k_dp_link_peer_find_by_vdev_and_addr() 44 struct ath12k_dp_link_peer *peer; in ath12k_dp_link_peer_find_by_pdev_and_addr() local [all …]
|
| H A D | peer.c | 8 #include "peer.h" 39 struct ath12k_dp_link_peer *peer, *tmp; in ath12k_peer_cleanup() local 46 list_for_each_entry_safe(peer, tmp, &dp->peers, list) { in ath12k_peer_cleanup() 47 if (peer->vdev_id != vdev_id) in ath12k_peer_cleanup() 50 ath12k_warn(ab, "removing stale peer %pM from vdev_id %d\n", in ath12k_peer_cleanup() 51 peer->addr, vdev_id); in ath12k_peer_cleanup() 53 ath12k_dp_link_peer_free(peer); in ath12k_peer_cleanup() 73 ath12k_warn(ar->ab, "failed wait for peer deleted"); in ath12k_wait_for_peer_delete_done() 80 ath12k_warn(ar->ab, "Timeout in receiving peer delete response\n"); in ath12k_wait_for_peer_delete_done() 99 "failed to delete peer vdev_id %d addr %pM ret %d\n", in ath12k_peer_delete_send() [all …]
|
| /linux/net/tipc/ |
| H A D | monitor.c | 49 * @ack_gen: most recent generation of self's domain acked by peer 63 /* struct tipc_peer: state of a peer node and its domain 64 * @addr: tipc node identity of peer 65 * @head_map: shows which other nodes currently consider peer 'up' 66 * @domain: most recent domain record from peer 70 * @is_up: peer is up as seen from this node 71 * @is_head: peer is assigned domain head as seen from this node 72 * @is_local: peer is in local domain and should be continuously monitored 166 static struct tipc_peer *peer_prev(struct tipc_peer *peer) in peer_prev() argument 168 return list_last_entry(&peer->list, struct tipc_peer, list); in peer_prev() [all …]
|
| /linux/drivers/net/can/ |
| H A D | vxcan.c | 35 struct net_device __rcu *peer; member 41 struct net_device *peer; in vxcan_xmit() local 51 peer = rcu_dereference(priv->peer); in vxcan_xmit() 52 if (unlikely(!peer)) { in vxcan_xmit() 82 skb->dev = peer; in vxcan_xmit() 89 peerstats = &peer->stats; in vxcan_xmit() 103 struct net_device *peer = rtnl_dereference(priv->peer); in vxcan_open() local 105 if (!peer) in vxcan_open() 108 if (peer->flags & IFF_UP) { in vxcan_open() 110 netif_carrier_on(peer); in vxcan_open() [all …]
|
| /linux/drivers/ntb/test/ |
| H A D | ntb_perf.c | 64 * Eg: start performance test with peer (index 0) and get the test metrics 204 int (*cmd_send)(struct perf_peer *peer, enum perf_cmd cmd, u64 data); 249 static inline bool perf_link_is_up(struct perf_peer *peer) in perf_link_is_up() argument 253 link = ntb_link_is_up(peer->perf->ntb, NULL, NULL); in perf_link_is_up() 254 return !!(link & BIT_ULL_MASK(peer->pidx)); in perf_link_is_up() 257 static int perf_spad_cmd_send(struct perf_peer *peer, enum perf_cmd cmd, in perf_spad_cmd_send() argument 260 struct perf_ctx *perf = peer->perf; in perf_spad_cmd_send() 274 if (!perf_link_is_up(peer)) in perf_spad_cmd_send() 277 sts = ntb_peer_spad_read(perf->ntb, peer->pidx, in perf_spad_cmd_send() 284 ntb_peer_spad_write(perf->ntb, peer->pidx, in perf_spad_cmd_send() [all …]
|
| H A D | ntb_msi_test.c | 131 static void ntb_msit_copy_peer_desc(struct ntb_msit_ctx *nm, int peer) in ntb_msit_copy_peer_desc() argument 134 struct ntb_msi_desc *desc = nm->peers[peer].msi_desc; in ntb_msit_copy_peer_desc() 135 int irq_count = nm->peers[peer].num_irqs; in ntb_msit_copy_peer_desc() 138 desc[i].addr_offset = ntb_peer_spad_read(nm->ntb, peer, in ntb_msit_copy_peer_desc() 140 desc[i].data = ntb_peer_spad_read(nm->ntb, peer, 2 * i + 2); in ntb_msit_copy_peer_desc() 143 dev_info(&nm->ntb->dev, "Found %d interrupts on peer %d\n", in ntb_msit_copy_peer_desc() 144 irq_count, peer); in ntb_msit_copy_peer_desc() 146 complete_all(&nm->peers[peer].init_comp); in ntb_msit_copy_peer_desc() 155 int peer; in ntb_msit_db_event() local 159 for (peer = 0; peer < sizeof(peer_mask) * 8; peer++) { in ntb_msit_db_event() [all …]
|
| /linux/net/sctp/ |
| H A D | associola.c | 171 asoc->peer.rwnd = SCTP_DEFAULT_MAXWINDOW; in sctp_association_init() 207 INIT_LIST_HEAD(&asoc->peer.transport_addr_list); in sctp_association_init() 220 asoc->peer.sack_needed = 1; in sctp_association_init() 221 asoc->peer.sack_generation = 1; in sctp_association_init() 239 /* Assume that peer would support both address types unless we are in sctp_association_init() 242 asoc->peer.ipv4_address = 1; in sctp_association_init() 244 asoc->peer.ipv6_address = 1; in sctp_association_init() 348 sctp_tsnmap_free(&asoc->peer.tsn_map); in sctp_association_free() 369 /* Free peer's cached cookie. */ in sctp_association_free() 370 kfree(asoc->peer.cookie); in sctp_association_free() [all …]
|
| /linux/drivers/net/wireless/ath/ath10k/ |
| H A D | txrx.c | 153 struct ath10k_peer *peer; in ath10k_peer_find() local 157 list_for_each_entry(peer, &ar->peers, list) { in ath10k_peer_find() 158 if (peer->vdev_id != vdev_id) in ath10k_peer_find() 160 if (!ether_addr_equal(peer->addr, addr)) in ath10k_peer_find() 163 return peer; in ath10k_peer_find() 171 struct ath10k_peer *peer; in ath10k_peer_find_by_id() local 173 if (peer_id >= BITS_PER_TYPE(peer->peer_ids)) in ath10k_peer_find_by_id() 178 list_for_each_entry(peer, &ar->peers, list) in ath10k_peer_find_by_id() 179 if (test_bit(peer_id, peer->peer_ids)) in ath10k_peer_find_by_id() 180 return peer; in ath10k_peer_find_by_id() [all …]
|
| /linux/Documentation/driver-api/ |
| H A D | ntb.rst | 14 peer. Doorbell registers provide a way for peers to send interrupt events. 15 Memory windows allow translated read and write access to the peer memory. 43 configured by the peer, on the peer ntb port. The first type is 48 Memory: Local NTB Port: Peer NTB Port: Peer MMIO: 57 3) somehow notify a peer device of performed initialization, 4) peer device 62 initialized by a peer device, is depicted on the figure:: 66 Memory: Local NTB Port: Peer NTB Port: Peer MMIO: 74 1) allocate a memory region, 2) somehow deliver a translated address to a peer 75 device, 3) peer puts the translated address to NTB config, 4) peer device maps 85 3) Send the translated address and memory window index to a peer device [all …]
|
| /linux/net/smc/ |
| H A D | smc_cdc.h | 195 static inline void smc_host_cursor_to_cdc(union smc_cdc_cursor *peer, in smc_host_cursor_to_cdc() argument 201 peer->count = htonl(save->count); in smc_host_cursor_to_cdc() 202 peer->wrap = htons(save->wrap); in smc_host_cursor_to_cdc() 203 /* peer->reserved = htons(0); must be ensured by caller */ in smc_host_cursor_to_cdc() 206 static inline void smc_host_msg_to_cdc(struct smc_cdc_msg *peer, in smc_host_msg_to_cdc() argument 212 peer->common.type = local->common.type; in smc_host_msg_to_cdc() 213 peer->len = local->len; in smc_host_msg_to_cdc() 214 peer->seqno = htons(local->seqno); in smc_host_msg_to_cdc() 215 peer->token = htonl(local->token); in smc_host_msg_to_cdc() 216 smc_host_cursor_to_cdc(&peer->prod, &local->prod, save, conn); in smc_host_msg_to_cdc() [all …]
|
| /linux/drivers/net/ |
| H A D | veth.c | 75 struct net_device __rcu *peer; member 201 struct net_device *peer = rtnl_dereference(priv->peer); in veth_get_ethtool_stats() local 204 data[0] = peer ? peer->ifindex : 0; in veth_get_ethtool_stats() 223 if (!peer) in veth_get_ethtool_stats() 226 rcv_priv = netdev_priv(peer); in veth_get_ethtool_stats() 227 for (i = 0; i < peer->real_num_rx_queues; i++) { in veth_get_ethtool_stats() 358 rcv = rcu_dereference(priv->peer); in veth_xmit() 400 /* Makes sure NAPI peer consume in veth_xmit() 455 struct net_device *peer; veth_get_stats64() local 1283 struct net_device *peer; veth_set_xdp_features() local 1307 struct net_device *peer; veth_set_channels() local 1384 struct net_device *peer = rtnl_dereference(priv->peer); veth_open() local 1413 struct net_device *peer = rtnl_dereference(priv->peer); veth_close() local 1486 struct net_device *peer; veth_get_iflink() local 1501 struct net_device *peer; veth_fix_features() local 1519 struct net_device *peer; veth_set_features() local 1544 struct net_device *peer; veth_set_rx_headroom() local 1569 struct net_device *peer; veth_xdp_set() local 1818 struct net_device *peer; veth_newlink() local 1934 struct net_device *peer; veth_dellink() local 1960 struct net_device *peer = rtnl_dereference(priv->peer); veth_get_link_net() local [all...] |
| /linux/net/bluetooth/ |
| H A D | 6lowpan.c | 66 /* peer addresses in various formats */ 92 struct lowpan_peer *peer) in peer_add() argument 94 list_add_rcu(&peer->list, &dev->peers); in peer_add() 99 struct lowpan_peer *peer) in peer_del() argument 101 list_del_rcu(&peer->list); in peer_del() 102 kfree_rcu(peer, rcu); in peer_del() 107 BT_DBG("last peer"); in peer_del() 117 struct lowpan_peer *peer; in __peer_lookup_chan() local 119 list_for_each_entry_rcu(peer, &dev->peers, list) { in __peer_lookup_chan() 120 if (peer->chan == chan) in __peer_lookup_chan() [all …]
|
| /linux/drivers/ntb/ |
| H A D | msi.c | 24 * the peer memory windows. 89 * inbound memory windows for each peer (where N is the number of peers). 99 int peer, peer_widx; in ntb_msi_setup_mws() local 114 for (peer = 0; peer < ntb_peer_port_count(ntb); peer++) { in ntb_msi_setup_mws() 115 peer_widx = ntb_peer_highest_mw_idx(ntb, peer); in ntb_msi_setup_mws() 119 ret = ntb_mw_get_align(ntb, peer, peer_widx, &addr_align, in ntb_msi_setup_mws() 127 for (peer = 0; peer < ntb_peer_port_count(ntb); peer++) { in ntb_msi_setup_mws() 128 peer_widx = ntb_peer_highest_mw_idx(ntb, peer); in ntb_msi_setup_mws() 134 ret = ntb_mw_get_align(ntb, peer, peer_widx, NULL, in ntb_msi_setup_mws() 144 ret = ntb_mw_set_trans(ntb, peer, peer_widx, in ntb_msi_setup_mws() [all …]
|
| /linux/drivers/net/wireless/intel/iwlwifi/mld/ |
| H A D | ftm-initiator.c | 65 struct cfg80211_pmsr_request_peer *peer, in iwl_mld_ftm_set_target_chandef() argument 68 u32 freq = peer->chandef.chan->center_freq; in iwl_mld_ftm_set_target_chandef() 72 switch (peer->chandef.width) { in iwl_mld_ftm_set_target_chandef() 95 peer->chandef.width); in iwl_mld_ftm_set_target_chandef() 100 if (peer->ftm.trigger_based || peer->ftm.non_trigger_based) in iwl_mld_ftm_set_target_chandef() 104 (peer->chandef.width > NL80211_CHAN_WIDTH_20) ? in iwl_mld_ftm_set_target_chandef() 105 iwl_mld_get_fw_ctrl_pos(&peer->chandef) : 0; in iwl_mld_ftm_set_target_chandef() 107 target->band = iwl_mld_nl80211_band_to_fw(peer->chandef.chan->band); in iwl_mld_ftm_set_target_chandef() 116 struct cfg80211_pmsr_request_peer *peer, in iwl_mld_ftm_set_target_flags() argument 121 if (peer->ftm.asap) in iwl_mld_ftm_set_target_flags() [all …]
|