diff options
Diffstat (limited to 'src/config.c')
-rw-r--r-- | src/config.c | 7 |
1 files changed, 2 insertions, 5 deletions
diff --git a/src/config.c b/src/config.c index 8750407..3ca23f3 100644 --- a/src/config.c +++ b/src/config.c @@ -107,11 +107,8 @@ static int set_peer(struct wireguard_device *wg, void __user *user_peer, size_t if (in_peer.persistent_keepalive_interval && (in_peer.persistent_keepalive_interval < 10 || in_peer.persistent_keepalive_interval > 3600)) ret = -EINVAL; else { - if (in_peer.persistent_keepalive_interval && netdev_pub(wg)->flags & IFF_UP) { - if (!peer->persistent_keepalive_interval) - packet_send_keepalive(peer); - set_timer_slack(&peer->timer_persistent_keepalive, max_t(int, HZ / 2, (unsigned long)in_peer.persistent_keepalive_interval * HZ / 256)); - } + if (!peer->persistent_keepalive_interval && in_peer.persistent_keepalive_interval && netdev_pub(wg)->flags & IFF_UP) + packet_send_keepalive(peer); peer->persistent_keepalive_interval = (unsigned long)in_peer.persistent_keepalive_interval * HZ; } } |