-
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: Mroutes in prune state after removing and adding attached nw config #9896
Conversation
…nfig Problem Statement: ================== LHR has got the WHOLEPKT event, for (190.190.190.190 226.1.1.1), (190.190.190.190 226.1.1.2) and (190.190.190.190 226.1.1.3) It has created the upstream. But It has not send the join towards RP. Also mroute out interface is not correct. RCA: ==== While creating upstream and updating the rpf, for (190.190.190.190 226.1.1.1), (190.190.190.190 226.1.1.2) and (190.190.190.190 226.1.1.3) with destination 190.190.190.190/32. It gets resolved to ens160, It was a management interface and PIM was not enabled on this interface. The wholepkt is a data packet it reaches early, path to 190.190.190.190 is computed via BGP, so it takes some more time. When pimd gets the update trigger for 190.190.190.190/32 it start processing SG entries as mentioned above. But if fails to resolve mroute out interfaces and eventually failed to calcluate join desired state. Fix: ==== If RPF check returns changed, and previous interface was not there in the upstream then recalculate the mroute oil Signed-off-by: sarita patra <saritap@vmware.com>
💚 Basic BGPD CI results: SUCCESS, 0 tests failedResults table
For details, please contact louberger |
Continuous Integration Result: FAILEDContinuous Integration Result: FAILEDSee below for issues. This is a comment from an automated CI system. Get source / Pull Request: SuccessfulBuilding Stage: SuccessfulBasic Tests: FailedTopotests Ubuntu 18.04 i386 part 9: Failed (click for details)Topotests Ubuntu 18.04 i386 part 9: No useful log foundSuccessful on other platforms/tests
|
ci:rerun |
pim_upstream_inherited_olist_decide(pim, up); | ||
up->channel_oil->oil_inherited_rescan = 0; | ||
} | ||
pim_upstream_inherited_olist_decide(pim, up); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
So the oil_inherited_rescan was put in because running pim_upstream_inherited_olist_decide was insanely expensive and running it across all mroutes at scale whenever something changed caused us to spend significant cpu time doing nothing. Why is just removing this check -vs- finding the place where we are not properly setting oil_inherited_scan better?
Continuous Integration Result: SUCCESSFULCongratulations, this patch passed basic tests Tested-by: NetDEF / OpenSourceRouting.org CI System CI System Testrun URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-1024/ This is a comment from an automated CI system. |
@frrbot autoclose in 1 week |
Problem Statement:
LHR has got the WHOLEPKT event, for (190.190.190.190 226.1.1.1),
(190.190.190.190 226.1.1.2) and (190.190.190.190 226.1.1.3)
It has created the upstream. But It has not send the join towards RP.
Also mroute out interface is not correct.
RCA:
While creating upstream and updating the rpf, for (190.190.190.190 226.1.1.1),
(190.190.190.190 226.1.1.2) and (190.190.190.190 226.1.1.3) with destination
190.190.190.190/32. It gets resolved to ens160, It was a management interface
and PIM was not enabled on this interface.
The wholepkt is a data packet it reaches early, path to 190.190.190.190 is
computed via BGP, so it takes some more time.
When pimd gets the update trigger for 190.190.190.190/32 it start processing
SG entries as mentioned above. But if fails to resolve mroute out interfaces
and eventually failed to calcluate join desired state.
Fix:
If RPF check returns changed, and previous interface was not there
in the upstream then recalculate the mroute oil
Signed-off-by: sarita patra saritap@vmware.com