| /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 …]
|
| /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 | peer.c | 22 #include "peer.h" 29 struct ovpn_peer *peer, *next; in unlock_ovpn() local 33 llist_for_each_entry_safe(peer, next, release_list->first, in unlock_ovpn() 35 ovpn_socket_release(peer); in unlock_ovpn() 36 ovpn_peer_put(peer); in unlock_ovpn() 41 * ovpn_peer_keepalive_set - configure keepalive values for peer 42 * @peer: the peer to configure 46 void ovpn_peer_keepalive_set(struct ovpn_peer *peer, u32 interval, u32 timeout) in ovpn_peer_keepalive_set() argument 50 netdev_dbg(peer->ovpn->dev, in ovpn_peer_keepalive_set() 51 "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() 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 | 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 83 skb->dev = peer->ovpn->dev; in ovpn_netdev_write() 99 ret = gro_cells_receive(&peer->ovpn->gro_cells, skb); in ovpn_netdev_write() 102 ovpn_peer_stats_increment_rx(&peer->vpn_stats, pkt_len); in ovpn_netdev_write() 103 dev_dstats_rx_add(peer->ovpn->dev, pkt_len); in ovpn_netdev_write() 114 struct ovpn_peer *peer; in ovpn_decrypt_post() local 126 peer = ovpn_skb_cb(skb)->peer; in ovpn_decrypt_post() 138 net_err_ratelimited("%s: PKT ID RX error for peer %u: %d\n", in ovpn_decrypt_post() 139 netdev_name(peer->ovpn->dev), peer->id, in ovpn_decrypt_post() [all …]
|
| H A D | netlink.c | 21 #include "peer.h" 288 /* VPN IPs are needed only in MP mode for selecting the right peer */ in ovpn_nl_peer_precheck() 309 * ovpn_nl_peer_modify - modify the peer attributes according to the incoming msg 310 * @peer: the peer to modify 318 static int ovpn_nl_peer_modify(struct ovpn_peer *peer, struct genl_info *info, in ovpn_nl_peer_modify() argument 327 spin_lock_bh(&peer->lock); in ovpn_nl_peer_modify() 336 /* set peer sockaddr */ in ovpn_nl_peer_modify() 337 ret = ovpn_peer_reset_sockaddr(peer, &ss, local_ip); in ovpn_nl_peer_modify() 340 "cannot set peer sockaddr: %d", in ovpn_nl_peer_modify() 344 dst_cache_reset(&peer->dst_cache); in ovpn_nl_peer_modify() [all …]
|
| H A D | udp.c | 25 #include "peer.h" 71 struct ovpn_peer *peer; in ovpn_udp_encap_recv() local 90 * They are required to fetch the OP code, the key ID and the peer ID. in ovpn_udp_encap_recv() 111 * peer-id set to UNDEF. In this case we skip the peer lookup by peer-id in ovpn_udp_encap_recv() 115 peer = ovpn_peer_get_by_transp_addr(ovpn, skb); in ovpn_udp_encap_recv() 117 peer = ovpn_peer_get_by_id(ovpn, peer_id); in ovpn_udp_encap_recv() 119 if (unlikely(!peer)) in ovpn_udp_encap_recv() 124 ovpn_recv(peer, skb); in ovpn_udp_encap_recv() 141 * ovpn_dst_cache_check_key - reset peer dst cache after key changes 142 * @peer: the peer owning the dst cache [all …]
|
| H A D | peer.h | 22 * struct ovpn_route_key - route key used for the peer dst cache 32 * struct ovpn_peer - the main remote peer object 33 * @ovpn: main openvpn instance this peer belongs to 38 * @vpn_addrs.ipv4: IPv4 assigned to peer on the tunnel 39 * @vpn_addrs.ipv6: IPv6 assigned to peer on the tunnel 40 * @hash_entry_id: entry in the peer ID hashtable 41 * @hash_entry_addr4: entry in the peer IPv4 hashtable 42 * @hash_entry_addr6: entry in the peer IPv6 hashtable 43 * @hash_entry_transp_addr: entry in the peer transport address hashtable 44 * @sock: the socket being used to talk to this peer [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/Documentation/netlink/specs/ |
| H A D | ovpn.yaml | 25 name: del-peer-reason 39 name: peer 45 The unique ID of the peer in the device context. To be used to 47 Also used to match packets received from this peer. 53 doc: The remote IPv4 address of the peer 59 doc: The remote IPv6 address of the peer 66 doc: The scope id of the remote IPv6 address of the peer (RFC2553) 70 doc: The remote port of the peer 77 doc: The socket to be used to communicate with the peer 81 doc: The ID of the netns the socket assigned to this peer lives in [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" 47 ath12k_warn(ar->ab, "failed to find link peer with vdev id %u addr %pM\n", in ath12k_peer_delete_resp_signal() 88 struct ath12k_dp_link_peer *peer, *tmp; in ath12k_peer_cleanup() local 95 list_for_each_entry_safe(peer, tmp, &dp->peers, list) { in ath12k_peer_cleanup() 96 if (peer->vdev_id != vdev_id) in ath12k_peer_cleanup() 99 ath12k_warn(ab, "removing stale peer %pM from vdev_id %d\n", in ath12k_peer_cleanup() 100 peer->addr, vdev_id); in ath12k_peer_cleanup() 102 ath12k_dp_link_peer_free(peer); in ath12k_peer_cleanup() 122 ath12k_warn(ar->ab, "failed wait for peer deleted\n"); in ath12k_wait_for_peer_delete_done() 128 ath12k_warn(ar->ab, "Timeout in receiving peer delete response\n"); in ath12k_wait_for_peer_delete_done() [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 42 struct net_device *peer; in vxcan_xmit() local 52 peer = rcu_dereference(priv->peer); in vxcan_xmit() 53 if (unlikely(!peer)) { in vxcan_xmit() 86 skb->dev = peer; in vxcan_xmit() 93 peerstats = &peer->stats; in vxcan_xmit() 107 struct net_device *peer = rtnl_dereference(priv->peer); in vxcan_open() 109 if (!peer) in vxcan_open() 104 struct net_device *peer = rtnl_dereference(priv->peer); vxcan_open() local 119 struct net_device *peer = rtnl_dereference(priv->peer); vxcan_close() local 131 struct net_device *peer; vxcan_get_iflink() local 212 struct net_device *peer; vxcan_newlink() local 289 struct net_device *peer; vxcan_dellink() local 315 struct net_device *peer = rtnl_dereference(priv->peer); vxcan_get_link_net() local [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 …]
|
| /linux/tools/testing/selftests/net/ovpn/ |
| H A D | test.sh | 28 ovpn_cmd_ok "create namespace peer${p}" ovpn_create_ns "${p}" 32 ovpn_cmd_ok "start notification listener peer${p}" \ 40 ovpn_cmd_ok "configure peer${p} namespace" ovpn_setup_ns \ 45 ovpn_cmd_ok "register peer${p} in overlay" ovpn_add_peer "${p}" 50 ovpn_cmd_ok "set peer0 timeout for peer ${p}" \ 53 ovpn_cmd_ok "set peer${p} timeout for peer ${p}" \ 91 ovpn_cmd_fail "reject peer without VPN address" \ 95 ovpn_cmd_fail "reject new peer VPN address ${addr}" \ 99 ovpn_cmd_fail "reject duplicate IPv4 address on peer creation" \ 101 ovpn_cmd_fail "reject clearing the last peer VPN address" \ [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/tools/net/sunrpc/xdrgen/subcmds/ |
| H A D | definitions.py | 34 def emit_header_definitions(root: Specification, language: str, peer: str) -> None: 38 gen = XdrConstantGenerator(language, peer) 40 gen = XdrEnumGenerator(language, peer) 42 gen = XdrPointerGenerator(language, peer) 44 gen = XdrProgramGenerator(language, peer) 46 gen = XdrTypedefGenerator(language, peer) 48 gen = XdrStructGenerator(language, peer) 50 gen = XdrUnionGenerator(language, peer) 52 gen = XdrPassthruGenerator(language, peer) 58 def emit_header_maxsize(root: Specification, language: str, peer: str) -> None: [all …]
|