Lines Matching refs:peer
7 #include "peer.h"
168 int wg_socket_send_skb_to_peer(struct wg_peer *peer, struct sk_buff *skb, u8 ds)
173 read_lock_bh(&peer->endpoint_lock);
174 if (peer->endpoint.addr.sa_family == AF_INET)
175 ret = send4(peer->device, skb, &peer->endpoint, ds,
176 &peer->endpoint_cache);
177 else if (peer->endpoint.addr.sa_family == AF_INET6)
178 ret = send6(peer->device, skb, &peer->endpoint, ds,
179 &peer->endpoint_cache);
183 peer->tx_bytes += skb_len;
184 read_unlock_bh(&peer->endpoint_lock);
189 int wg_socket_send_buffer_to_peer(struct wg_peer *peer, void *buffer,
200 return wg_socket_send_skb_to_peer(peer, skb, ds);
273 void wg_socket_set_peer_endpoint(struct wg_peer *peer,
281 if (endpoint_eq(endpoint, &peer->endpoint))
283 write_lock_bh(&peer->endpoint_lock);
285 peer->endpoint.addr4 = endpoint->addr4;
286 peer->endpoint.src4 = endpoint->src4;
287 peer->endpoint.src_if4 = endpoint->src_if4;
289 peer->endpoint.addr6 = endpoint->addr6;
290 peer->endpoint.src6 = endpoint->src6;
294 dst_cache_reset(&peer->endpoint_cache);
296 write_unlock_bh(&peer->endpoint_lock);
299 void wg_socket_set_peer_endpoint_from_skb(struct wg_peer *peer,
305 wg_socket_set_peer_endpoint(peer, &endpoint);
308 void wg_socket_clear_peer_endpoint_src(struct wg_peer *peer)
310 write_lock_bh(&peer->endpoint_lock);
311 memset(&peer->endpoint.src6, 0, sizeof(peer->endpoint.src6));
312 dst_cache_reset_now(&peer->endpoint_cache);
313 write_unlock_bh(&peer->endpoint_lock);