-
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
Draft
KanjiMonster
wants to merge
6
commits into
main
Choose a base branch
from
jogo_bridge_ageing_time
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
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
Doesn't work, as the kernel does not send updates about changes in ageing time *sigh* |
2c88268
to
9c64ecc
Compare
Actually not true, the issues were/are:
When fixing the latter, and having the device up, notifications actually work. |
9c64ecc
to
757d1a0
Compare
Instead of setting, then unsetting the global idle timeout setting in rofl-ofdpa, set the idle timeout directly in the generated flowmod. 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]>
757d1a0
to
5a2ec69
Compare
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 (TODO).
Tested via the 802.1q-bridge setup: