/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 in rxrpc_peer_cmp_key() 121 struct rxrpc_peer *peer; __rxrpc_lookup_peer_rcu() local 139 struct rxrpc_peer *peer; rxrpc_lookup_peer_rcu() local 153 rxrpc_assess_MTU_size(struct rxrpc_local * local,struct rxrpc_peer * peer) rxrpc_assess_MTU_size() argument 226 struct rxrpc_peer *peer; rxrpc_alloc_peer() local 251 rxrpc_init_peer(struct rxrpc_local * local,struct rxrpc_peer * peer,unsigned long hash_key) rxrpc_init_peer() argument 292 struct rxrpc_peer *peer; rxrpc_create_peer() local 306 rxrpc_free_peer(struct rxrpc_peer * peer) rxrpc_free_peer() argument 319 rxrpc_new_incoming_peer(struct rxrpc_local * local,struct rxrpc_peer * peer) rxrpc_new_incoming_peer() argument 339 struct rxrpc_peer *peer, *candidate; rxrpc_lookup_peer() local 390 rxrpc_get_peer(struct rxrpc_peer * peer,enum rxrpc_peer_trace why) rxrpc_get_peer() argument 402 rxrpc_get_peer_maybe(struct rxrpc_peer * peer,enum rxrpc_peer_trace why) rxrpc_get_peer_maybe() argument 419 __rxrpc_put_peer(struct rxrpc_peer * peer) __rxrpc_put_peer() argument 436 rxrpc_put_peer(struct rxrpc_peer * peer,enum rxrpc_peer_trace why) rxrpc_put_peer() argument 456 struct rxrpc_peer *peer; rxrpc_destroy_all_peers() local 491 rxrpc_kernel_get_srtt(const struct rxrpc_peer * peer) rxrpc_kernel_get_srtt() argument 504 rxrpc_kernel_remote_srx(const struct rxrpc_peer * peer) rxrpc_kernel_remote_srx() argument 517 rxrpc_kernel_remote_addr(const struct rxrpc_peer * peer) rxrpc_kernel_remote_addr() argument 532 rxrpc_kernel_set_peer_data(struct rxrpc_peer * peer,unsigned long app_data) rxrpc_kernel_set_peer_data() argument 544 rxrpc_kernel_get_peer_data(const struct rxrpc_peer * peer) rxrpc_kernel_get_peer_data() argument [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 …]
|
/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 | device.c | 11 #include "peer.h" 36 struct wg_peer *peer; in wg_open() local 54 list_for_each_entry(peer, &wg->peer_list, peer_list) { in wg_open() 55 wg_packet_send_staged_packets(peer); in wg_open() 56 if (peer->persistent_keepalive_interval) in wg_open() 57 wg_packet_send_keepalive(peer); in wg_open() 67 struct wg_peer *peer; in wg_pm_notification() local 83 list_for_each_entry(peer, &wg->peer_list, peer_list) { in wg_pm_notification() 84 timer_delete(&peer->timer_zero_key_material); in wg_pm_notification() 85 wg_noise_handshake_clear(&peer->handshake); in wg_pm_notification() [all …]
|
/linux/drivers/net/ovpn/ |
H A D | peer.c | 22 #include "peer.h" 29 struct ovpn_peer *peer; in unlock_ovpn() local 33 llist_for_each_entry(peer, release_list->first, release_entry) { in unlock_ovpn() 34 ovpn_socket_release(peer); in unlock_ovpn() 35 ovpn_peer_put(peer); in unlock_ovpn() 40 * ovpn_peer_keepalive_set - configure keepalive values for peer 41 * @peer: the peer to configure 45 void ovpn_peer_keepalive_set(struct ovpn_peer *peer, u32 interval, u32 timeout) in ovpn_peer_keepalive_set() argument 49 netdev_dbg(peer->ovpn->dev, in ovpn_peer_keepalive_set() 50 "scheduling keepalive for peer %u: interval=%u timeout=%u\n", in ovpn_peer_keepalive_set() [all …]
|
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() 75 struct ovpn_peer *peer = container_of(strp, struct ovpn_peer, tcp.strp); in ovpn_tcp_rcv() local 83 net_warn_ratelimited("%s: packet too small for peer %u\n", in ovpn_tcp_rcv() 84 netdev_name(peer->ovpn->dev), peer->id); in ovpn_tcp_rcv() 90 net_warn_ratelimited("%s: trimming skb failed for peer %u\n", in ovpn_tcp_rcv() 91 netdev_name(peer->ovpn->dev), peer->id); in ovpn_tcp_rcv() 99 net_warn_ratelimited("%s: packet too small to fetch opcode for peer %u\n", in ovpn_tcp_rcv() [all …]
|
H A D | io.c | 18 #include "peer.h" 60 static void ovpn_netdev_write(struct ovpn_peer *peer, struct sk_buff *skb) in ovpn_netdev_write() argument 76 skb->dev = peer->ovpn->dev; in ovpn_netdev_write() 86 ret = gro_cells_receive(&peer->ovpn->gro_cells, skb); in ovpn_netdev_write() 89 ovpn_peer_stats_increment_rx(&peer->vpn_stats, pkt_len); in ovpn_netdev_write() 90 dev_dstats_rx_add(peer->ovpn->dev, pkt_len); in ovpn_netdev_write() 100 struct ovpn_peer *peer; in ovpn_decrypt_post() local 112 peer = ovpn_skb_cb(skb)->peer; in ovpn_decrypt_post() 126 net_err_ratelimited("%s: PKT ID RX error for peer %u: %d\n", in ovpn_decrypt_post() 127 netdev_name(peer->ovpn->dev), peer->id, in ovpn_decrypt_post() [all …]
|
H A D | netlink.c | 21 #include "peer.h" 249 /* VPN IPs are needed only in MP mode for selecting the right peer */ in ovpn_nl_peer_precheck() 270 * ovpn_nl_peer_modify - modify the peer attributes according to the incoming msg 271 * @peer: the peer to modify 279 static int ovpn_nl_peer_modify(struct ovpn_peer *peer, struct genl_info *info, in ovpn_nl_peer_modify() argument 288 spin_lock_bh(&peer->lock); in ovpn_nl_peer_modify() 297 /* set peer sockaddr */ in ovpn_nl_peer_modify() 298 ret = ovpn_peer_reset_sockaddr(peer, &ss, local_ip); in ovpn_nl_peer_modify() 301 "cannot set peer sockaddr: %d", in ovpn_nl_peer_modify() 305 dst_cache_reset(&peer->dst_cache); in ovpn_nl_peer_modify() [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 …]
|
H A D | udp.c | 26 #include "peer.h" 72 struct ovpn_peer *peer; in ovpn_udp_encap_recv() local 91 * They are required to fetch the OP code, the key ID and the peer ID. in ovpn_udp_encap_recv() 112 * peer-id set to UNDEF. In this case we skip the peer lookup by peer-id in ovpn_udp_encap_recv() 116 peer = ovpn_peer_get_by_transp_addr(ovpn, skb); in ovpn_udp_encap_recv() 118 peer = ovpn_peer_get_by_id(ovpn, peer_id); in ovpn_udp_encap_recv() 120 if (unlikely(!peer)) in ovpn_udp_encap_recv() 125 ovpn_recv(peer, skb); in ovpn_udp_encap_recv() 137 * @peer: the destination peer 138 * @bind: the binding related to the destination peer [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/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 | 34 struct net_device __rcu *peer; member 40 struct net_device *peer; in vxcan_xmit() local 49 peer = rcu_dereference(priv->peer); in vxcan_xmit() 50 if (unlikely(!peer)) { in vxcan_xmit() 69 skb->dev = peer; in vxcan_xmit() 76 peerstats = &peer->stats; in vxcan_xmit() 90 struct net_device *peer = rtnl_dereference(priv->peer); in vxcan_open() local 92 if (!peer) in vxcan_open() 95 if (peer->flags & IFF_UP) { in vxcan_open() 97 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 in sctp_association_free() 483 sctp_assoc_rm_peer(struct sctp_association * asoc,struct sctp_transport * peer) sctp_assoc_rm_peer() argument 588 struct sctp_transport *peer; sctp_assoc_add_peer() local [all...] |
/linux/drivers/net/ |
H A D | netkit.c | 20 struct net_device __rcu *peer; member 85 struct net_device *peer; in netkit_xmit() local 90 peer = rcu_dereference(nk->peer); in netkit_xmit() 91 if (unlikely(!peer || !(peer->flags & IFF_UP) || in netkit_xmit() 95 netkit_prep_forward(skb, !net_eq(dev_net(dev), dev_net(peer)), in netkit_xmit() 97 eth_skb_pkt_type(skb, peer); in netkit_xmit() 98 skb->dev = peer; in netkit_xmit() 109 dev_sw_netstats_rx_add(peer, len); in netkit_xmit() 135 struct net_device *peer = rtnl_dereference(nk->peer); in netkit_open() local 137 if (!peer) in netkit_open() [all …]
|
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() 354 rcv = rcu_dereference(priv->peer); in veth_xmit() 453 struct net_device *peer; in veth_get_stats64() local 466 peer = rcu_dereference(priv->peer); in veth_get_stats64() 467 if (peer) { in veth_get_stats64() [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/bluetooth/ |
H A D | 6lowpan.c | 61 /* peer addresses in various formats */ 85 struct lowpan_peer *peer) in peer_add() argument 87 list_add_rcu(&peer->list, &dev->peers); in peer_add() 92 struct lowpan_peer *peer) in peer_del() argument 94 list_del_rcu(&peer->list); in peer_del() 95 kfree_rcu(peer, rcu); in peer_del() 100 BT_DBG("last peer"); in peer_del() 110 struct lowpan_peer *peer; in __peer_lookup_chan() local 112 list_for_each_entry_rcu(peer, &dev->peers, list) { in __peer_lookup_chan() 113 if (peer->chan == chan) in __peer_lookup_chan() [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/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 …]
|