diff --git a/sys/dev/wg/if_wg.c b/sys/dev/wg/if_wg.c index 17aedee0e6b0..0173c8b090be 100644 --- a/sys/dev/wg/if_wg.c +++ b/sys/dev/wg/if_wg.c @@ -1270,8 +1270,11 @@ static void wg_timers_run_persistent_keepalive(void *_peer) { struct wg_peer *peer = _peer; + struct wg_endpoint endpoint; - if (atomic_load_16(&peer->p_persistent_keepalive_interval) > 0) + wg_peer_get_endpoint(peer, &endpoint); + if (atomic_load_16(&peer->p_persistent_keepalive_interval) > 0 && + endpoint.e_remote.r_sa.sa_family != 0) wg_send_keepalive(peer); }