-
Notifications
You must be signed in to change notification settings - Fork 11
add support for changing the bridge ageing time #444
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Contributor
Author
|
Doesn't work, as the kernel does not send updates about changes in ageing time *sigh* |
2c88268 to
9c64ecc
Compare
Contributor
Author
Actually not true, the issues were/are:
When fixing the latter, and having the device up, notifications actually work. |
9c64ecc to
757d1a0
Compare
757d1a0 to
5a2ec69
Compare
Replace all license headers in source files with machine readable SPDX license and copyright headers. Year is based on initial check in of a file, according to git log --follow (to catch renames). Signed-off-by: Jonas Gorski <[email protected]>
5a2ec69 to
2de39ce
Compare
Instead of setting, then unsetting the global idle timeout setting in rofl-ofdpa, set the idle timeout directly in the generated flowmod. This also means we need to enable flow removal notifications ourselves. This avoids that the idle timeout setting remains set at the non-default value if for any reason sending the flow mod creates an exception. Signed-off-by: Jonas Gorski <[email protected]>
Default ageing time according to 802.1Q is 300 seconds [1], so set the
default accordingly, and use default_idle_timeout instead of a hardcoded
value 300 for controller::l2_{overlay_,}addr_add().
[1] Table 8-9 of IEEE Std 802.1Q-2022
Signed-off-by: Jonas Gorski <[email protected]>
Allow configuring the default idle timeout for l2 neighbour flows, to allow applying configured ageing time of the bridge. Signed-off-by: Jonas Gorski <[email protected]>
Add support for updating the ageing time by updating all table 50 flows with a new soft idle timeout. This works by setting a new default idle timeout value, then triggering an update for all tracked fdb entries. This will cause a reset of the entry's age to 0, but it's the closest we can do within the OpenFlow framework. Signed-off-by: Jonas Gorski <[email protected]>
Apply the configured ageing time on creation of the bridge. Signed-off-by: Jonas Gorski <[email protected]>
Check the ageing time and notify the bridge module if the ageing time changed. Signed-off-by: Jonas Gorski <[email protected]>
Signed-off-by: Jonas Gorski <[email protected]>
Linux supports the special ageing time value 0 which means ageing is disabled (effectively all learned entries become permanent). So allow setting the idle_timeout to 0, and skip setting idle_timeout for flows if so. Signed-off-by: Jonas Gorski <[email protected]>
Allow ageing time of 0 and properly it by only rounding up to 1 if the configured ageing time is non 0. Signed-off-by: Jonas Gorski <[email protected]>
2de39ce to
88d3b74
Compare
rubensfig
reviewed
Oct 21, 2025
rubensfig
approved these changes
Oct 21, 2025
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Add support for updating the ageing time following the configured ageing time of the bridge.
Depends on libnl 3.11 and additional fixes on top (bisdn/meta-bisdn-linux#335).
Tested via the 802.1q-bridge setup: