-
Notifications
You must be signed in to change notification settings - Fork 1.3k
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
PIMD: RPF lookup mode per-group, per-source #17776
Open
nabahr
wants to merge
4
commits into
FRRouting:master
Choose a base branch
from
nabahr:group-rpf-mode
base: master
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.
Open
Conversation
This file contains 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
nabahr
force-pushed
the
group-rpf-mode
branch
2 times, most recently
from
January 6, 2025 21:37
267c024
to
12b4ec4
Compare
donaldsharp
reviewed
Jan 7, 2025
donaldsharp
reviewed
Jan 7, 2025
Add options for group-list and source-list, both of which take a prefix list name. The prefix list is used to determine the lookup mode for specific sources and/or groups. Any number of lookup modes can be configured as long as the combination of group and source list is unique. A global lookup mode (empty group and source lists) is always added and defaults to mrib-then-urib as it currently functions. The global lookup mode can be changed as it current exists with the command `rpf-lookup-mode MODE`. When determinig which mode to use, match source (and group if provided) against the lists, if they are set. If a lookup does not specify a group, then only use lookup modes that do not have a group list defined. A lookup by definition will have a source, so no special handling there. Signed-off-by: Nathan Bahr <[email protected]>
Add the support to store lookup modes as a sorted list. List is non-unique and sorts mode with both lists < modes with one list < global mode (no lists). This way, when finding the right mode, we will match a lookup using a prefix list before the global mode. Add passing group address into all lookups (using nht cache and/or synchronous lookup). Many areas don't have a group address, use PIMADDR_ANY if no valid group is needed. Signed-off-by: Nathan Bahr <[email protected]>
Expand existing pim_mrib tests to include testing lookup modes specific to source and/or group as defined in prefix lists. Signed-off-by: Nathan Bahr <[email protected]>
Signed-off-by: Nathan Bahr <[email protected]>
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 the ability to configure the RPF lookup mode on a per-group and/or per-source basis.
Modified CLI:
rpf-lookup-mode MODE [group-list PREFIX_LIST] [source-list PREFIX_LIST]
If a group or source list is provided, the the RPF lookup mode will only apply to S,G addresses that match the given prefix list(s).
A global RPF lookup mode that does not specify a group or source list is always installed and uses the current default of
mrib-then-urib
. This default value can be changed as it is currently with the commandrpf-lookup-mode MODE
.Any number of RPF lookup modes can be defined, as long as the group and source list combination is unique.
Lookup modes are sorted by modes with both lists specified, followed by modes with only one list specified, followed by the global lookup mode. The order within the first 2 groups is unspecified. The first lookup mode that matches is used. Not all RPF lookups have a valid group address when performing the lookup (e.g. RPF to an RP), so in that case only lookup modes that do not specify a group-list will be used.