Lines Matching refs:peer

107 get_peer(struct wg_peer *peer, struct sk_buff *skb, struct dump_ctx *ctx)  in get_peer()  argument
117 down_read(&peer->handshake.lock); in get_peer()
119 peer->handshake.remote_static); in get_peer()
120 up_read(&peer->handshake.lock); in get_peer()
126 .tv_sec = peer->walltime_last_handshake.tv_sec, in get_peer()
127 .tv_nsec = peer->walltime_last_handshake.tv_nsec in get_peer()
130 down_read(&peer->handshake.lock); in get_peer()
133 peer->handshake.preshared_key); in get_peer()
134 up_read(&peer->handshake.lock); in get_peer()
141 peer->persistent_keepalive_interval) || in get_peer()
142 nla_put_u64_64bit(skb, WGPEER_A_TX_BYTES, peer->tx_bytes, in get_peer()
144 nla_put_u64_64bit(skb, WGPEER_A_RX_BYTES, peer->rx_bytes, in get_peer()
149 read_lock_bh(&peer->endpoint_lock); in get_peer()
150 if (peer->endpoint.addr.sa_family == AF_INET) in get_peer()
152 sizeof(peer->endpoint.addr4), in get_peer()
153 &peer->endpoint.addr4); in get_peer()
154 else if (peer->endpoint.addr.sa_family == AF_INET6) in get_peer()
156 sizeof(peer->endpoint.addr6), in get_peer()
157 &peer->endpoint.addr6); in get_peer()
158 read_unlock_bh(&peer->endpoint_lock); in get_peer()
162 list_first_entry_or_null(&peer->allowedips_list, in get_peer()
176 list_for_each_entry_from(allowedips_node, &peer->allowedips_list, in get_peer()
213 struct wg_peer *peer, *next_peer_cursor; in wg_get_device_dump() local
270 peer = list_prepare_entry(ctx->next_peer, &wg->peer_list, peer_list); in wg_get_device_dump()
271 list_for_each_entry_continue(peer, &wg->peer_list, peer_list) { in wg_get_device_dump()
272 if (get_peer(peer, skb, ctx)) { in wg_get_device_dump()
276 next_peer_cursor = peer; in wg_get_device_dump()
317 struct wg_peer *peer; in set_port() local
321 list_for_each_entry(peer, &wg->peer_list, peer_list) in set_port()
322 wg_socket_clear_peer_endpoint_src(peer); in set_port()
330 static int set_allowedip(struct wg_peer *peer, struct nlattr **attrs) in set_allowedip() argument
348 ret = wg_allowedips_remove_v4(&peer->device->peer_allowedips, in set_allowedip()
350 peer, &peer->device->device_update_lock); in set_allowedip()
352 ret = wg_allowedips_insert_v4(&peer->device->peer_allowedips, in set_allowedip()
354 peer, &peer->device->device_update_lock); in set_allowedip()
358 ret = wg_allowedips_remove_v6(&peer->device->peer_allowedips, in set_allowedip()
360 peer, &peer->device->device_update_lock); in set_allowedip()
362 ret = wg_allowedips_insert_v6(&peer->device->peer_allowedips, in set_allowedip()
364 peer, &peer->device->device_update_lock); in set_allowedip()
373 struct wg_peer *peer = NULL; in set_peer() local
396 peer = wg_pubkey_hashtable_lookup(wg->peer_hashtable, in set_peer()
399 if (!peer) { /* Peer doesn't exist yet. Add a new one. */ in set_peer()
422 peer = wg_peer_create(wg, public_key, preshared_key); in set_peer()
423 if (IS_ERR(peer)) { in set_peer()
424 ret = PTR_ERR(peer); in set_peer()
425 peer = NULL; in set_peer()
431 wg_peer_get(peer); in set_peer()
435 wg_peer_remove(peer); in set_peer()
440 down_write(&peer->handshake.lock); in set_peer()
441 memcpy(&peer->handshake.preshared_key, preshared_key, in set_peer()
443 up_write(&peer->handshake.lock); in set_peer()
453 wg_socket_set_peer_endpoint(peer, &endpoint); in set_peer()
456 wg_socket_set_peer_endpoint(peer, &endpoint); in set_peer()
461 wg_allowedips_remove_by_peer(&wg->peer_allowedips, peer, in set_peer()
473 ret = set_allowedip(peer, allowedip); in set_peer()
483 !peer->persistent_keepalive_interval && in set_peer()
487 peer->persistent_keepalive_interval = persistent_keepalive_interval; in set_peer()
489 wg_packet_send_keepalive(peer); in set_peer()
493 wg_packet_send_staged_packets(peer); in set_peer()
496 wg_peer_put(peer); in set_peer()
533 struct wg_peer *peer; in wg_set_device() local
536 list_for_each_entry(peer, &wg->peer_list, peer_list) in wg_set_device()
537 wg_socket_clear_peer_endpoint_src(peer); in wg_set_device()
555 struct wg_peer *peer, *temp; in wg_set_device() local
566 peer = wg_pubkey_hashtable_lookup(wg->peer_hashtable, in wg_set_device()
568 if (peer) { in wg_set_device()
569 wg_peer_put(peer); in wg_set_device()
570 wg_peer_remove(peer); in wg_set_device()
580 list_for_each_entry_safe(peer, temp, &wg->peer_list, peer_list) { in wg_set_device()
581 wg_noise_precompute_static_static(peer); in wg_set_device()
582 wg_noise_expire_current_peer_keypairs(peer); in wg_set_device()
584 wg_packet_send_staged_packets(peer); in wg_set_device()
591 struct nlattr *attr, *peer[WGPEER_A_MAX + 1]; in wg_set_device() local
595 ret = nla_parse_nested(peer, WGPEER_A_MAX, attr, in wg_set_device()
599 ret = set_peer(wg, peer); in wg_set_device()