[PR #4050] [client] refactor lazy detection #4070

Open
opened 2025-11-20 08:07:40 -05:00 by saavagebueno · 0 comments
Owner

Original Pull Request: https://github.com/netbirdio/netbird/pull/4050

State: closed
Merged: Yes


Describe your changes

This PR introduces a new inactivity package responsible for monitoring peer activity and notifying when peers become inactive.
Introduces a new Signal message type to close the peer connection after the idle timeout is reached.

  • Periodically checks the last activity of registered peers via a Bind interface.
  • Notifies via a channel when peers exceed a configurable inactivity threshold.

Default settings

DefaultInactivityThreshold is set to 15 minutes, with a minimum allowed threshold of 1 minute.

Limitations

This inactivity check does not support kernel WireGuard integration. In kernel–user space communication, the user space side will always be responsible for closing the connection.

Stack

Checklist

  • Is it a bug fix
  • Is a typo/documentation fix
  • Is a feature enhancement
  • It is a refactor
  • Created tests that fail without the change (if possible)
  • Extended the README / documentation, if necessary

By submitting this pull request, you confirm that you have read and agree to the terms of the Contributor License Agreement.

**Original Pull Request:** https://github.com/netbirdio/netbird/pull/4050 **State:** closed **Merged:** Yes --- ## Describe your changes This PR introduces a new `inactivity` package responsible for monitoring peer activity and notifying when peers become inactive. Introduces a new `Signal` message type to close the peer connection after the idle timeout is reached. - Periodically checks the last activity of registered peers via a `Bind` interface. - Notifies via a channel when peers exceed a configurable inactivity threshold. ### Default settings **`DefaultInactivityThreshold`** is set to 15 minutes, with a minimum allowed threshold of 1 minute. ### Limitations This inactivity check does not support kernel WireGuard integration. In kernel–user space communication, the user space side will always be responsible for closing the connection. ## Issue ticket number and link ## Stack <!-- branch-stack --> ### Checklist - [ ] Is it a bug fix - [ ] Is a typo/documentation fix - [x] Is a feature enhancement - [x] It is a refactor - [ ] Created tests that fail without the change (if possible) - [ ] Extended the README / documentation, if necessary > By submitting this pull request, you confirm that you have read and agree to the terms of the [Contributor License Agreement](https://github.com/netbirdio/netbird/blob/main/CONTRIBUTOR_LICENSE_AGREEMENT.md).
saavagebueno added the pull-request label 2025-11-20 08:07:40 -05:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: SVI/netbird#4070