pimd: fix NOCACHE forwarding for non-connected sources and static mroute upcalls (backport #22466) - #22487
Merged
Merged
Conversation
β¦tate RFC 4601 allows forwarding when iif matches RPF_interface(S) and local receivers exist; register encapsulation still requires a directly connected source at the DR. Signed-off-by: Jafar Al-Gharaibeh <jafar@atcorp.com> (cherry picked from commit 8730c54)
Re-install interface static MFC entries (ip mroute OIF GROUP [SOURCE]) on matching kernel upcalls, including deferred boot configs. For dynamic (S,G) forwarding, use a live RPF lookup so MRIB static routes override stale upstream RPF state. Signed-off-by: Jafar Al-Gharaibeh <jafar@atcorp.com> (cherry picked from commit 4adf9b7)
When pim_nht_lookup_ecmp() is given a non-NULL ingress interface and it is listed among valid nexthops, select it instead of default first ECMP selection. Use this for NOCACHE non-connected forwarding so multiple interfaces with duplicate addressing picks the correct iif. Signed-off-by: Jafar Al-Gharaibeh <jafar@atcorp.com> (cherry picked from commit 61c32b1)
Cover LHR transit, static ip mroute forwarding, passive-edge foreign-source paths, and ECMP RPF ingress preference on NOCACHE that depend on NOCACHE and static MFC handling. Signed-off-by: Jafar Al-Gharaibeh <jafar@atcorp.com> (cherry picked from commit 35b1a2a)
|
Target branch is not in the allowed branches list. |
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
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.
Align with RFC 4601 4.2 data forwarding when multicast arrives on
RPF_interface(S)with existing(S,G)state, even if sourceSis not on aconnected prefix of the ingress interface. Previously pimd dropped these
NOCACHE upcalls breaking LHR/transit and edge paths where
sources are routed or NATβd off-subnet.
Also install static
ip mrouteMFC entries on NOCACHE/WRONGVIF kernel upcallsso configured ingress policy is honored before sparse/dense handling.
This is an automatic backport of pull request #22466 done by Mergify.