timers.c (8dd06ef34b6e2f41b29fbf5fc1663780f2524285) timers.c (8032bf1233a74627ce69b803608e650f3f35971c)
1// SPDX-License-Identifier: GPL-2.0
2/*
3 * Copyright (C) 2015-2019 Jason A. Donenfeld <Jason@zx2c4.com>. All Rights Reserved.
4 */
5
6#include "timers.h"
7#include "device.h"
8#include "peer.h"

--- 133 unchanged lines hidden (view full) ---

142}
143
144/* Should be called after an authenticated data packet is sent. */
145void wg_timers_data_sent(struct wg_peer *peer)
146{
147 if (!timer_pending(&peer->timer_new_handshake))
148 mod_peer_timer(peer, &peer->timer_new_handshake,
149 jiffies + (KEEPALIVE_TIMEOUT + REKEY_TIMEOUT) * HZ +
1// SPDX-License-Identifier: GPL-2.0
2/*
3 * Copyright (C) 2015-2019 Jason A. Donenfeld <Jason@zx2c4.com>. All Rights Reserved.
4 */
5
6#include "timers.h"
7#include "device.h"
8#include "peer.h"

--- 133 unchanged lines hidden (view full) ---

142}
143
144/* Should be called after an authenticated data packet is sent. */
145void wg_timers_data_sent(struct wg_peer *peer)
146{
147 if (!timer_pending(&peer->timer_new_handshake))
148 mod_peer_timer(peer, &peer->timer_new_handshake,
149 jiffies + (KEEPALIVE_TIMEOUT + REKEY_TIMEOUT) * HZ +
150 prandom_u32_max(REKEY_TIMEOUT_JITTER_MAX_JIFFIES));
150 get_random_u32_below(REKEY_TIMEOUT_JITTER_MAX_JIFFIES));
151}
152
153/* Should be called after an authenticated data packet is received. */
154void wg_timers_data_received(struct wg_peer *peer)
155{
156 if (likely(netif_running(peer->device->dev))) {
157 if (!timer_pending(&peer->timer_send_keepalive))
158 mod_peer_timer(peer, &peer->timer_send_keepalive,

--- 19 unchanged lines hidden (view full) ---

178 del_timer(&peer->timer_new_handshake);
179}
180
181/* Should be called after a handshake initiation message is sent. */
182void wg_timers_handshake_initiated(struct wg_peer *peer)
183{
184 mod_peer_timer(peer, &peer->timer_retransmit_handshake,
185 jiffies + REKEY_TIMEOUT * HZ +
151}
152
153/* Should be called after an authenticated data packet is received. */
154void wg_timers_data_received(struct wg_peer *peer)
155{
156 if (likely(netif_running(peer->device->dev))) {
157 if (!timer_pending(&peer->timer_send_keepalive))
158 mod_peer_timer(peer, &peer->timer_send_keepalive,

--- 19 unchanged lines hidden (view full) ---

178 del_timer(&peer->timer_new_handshake);
179}
180
181/* Should be called after a handshake initiation message is sent. */
182void wg_timers_handshake_initiated(struct wg_peer *peer)
183{
184 mod_peer_timer(peer, &peer->timer_retransmit_handshake,
185 jiffies + REKEY_TIMEOUT * HZ +
186 prandom_u32_max(REKEY_TIMEOUT_JITTER_MAX_JIFFIES));
186 get_random_u32_below(REKEY_TIMEOUT_JITTER_MAX_JIFFIES));
187}
188
189/* Should be called after a handshake response message is received and processed
190 * or when getting key confirmation via the first data message.
191 */
192void wg_timers_handshake_complete(struct wg_peer *peer)
193{
194 del_timer(&peer->timer_retransmit_handshake);

--- 49 unchanged lines hidden ---
187}
188
189/* Should be called after a handshake response message is received and processed
190 * or when getting key confirmation via the first data message.
191 */
192void wg_timers_handshake_complete(struct wg_peer *peer)
193{
194 del_timer(&peer->timer_retransmit_handshake);

--- 49 unchanged lines hidden ---