-
Notifications
You must be signed in to change notification settings - Fork 1.4k
pimd: Fix Register-Stop state machine logic to align with RFC7761 #19023
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
Conversation
|
Currently, FRR's PIM behavior when the DR receives a Register-Stop message does not conform to the state machine defined in RFC7761. |
|
ci:rerun |
|
Fix style errors reported by frrbot please. |
2af51e9 to
1261dd7
Compare
Okay, I have completed the style check for frrbot |
Thanks. No need to split the style fixes into a new commit. It is better to just squash that into the previous commit and pretend that you never had style issues ;). |
The previous implementation of the PIM DR Register state machine did not immediately transition to Join-Pending after the suppression timer expired. This caused a 5-second "deaf period" where new Register-Stop messages were ignored. This patch corrects the logic by: - Updating the state to PIM_REG_JOIN_PENDING immediately upon suppression timer expiry, as per RFC7761 Figure 1. - Ensuring Register-Stop messages are handled correctly in the Join-Pending state. - Fix a redundant Null-Register transmission. This change makes the PIM-SM implementation more robust and compliant. Signed-off-by: Doby Asa <[email protected]>
9f54a2c to
159916d
Compare
Okay, thank you very much for your patient advice. I've now squashed it into a single commit. Please let me know if this looks good. |
|
Unrelated CI failures, just triggered a re run of the failed tests. also, we should ignore the verify source failure. The reported style issues is consistent with other instances in the file. I.e, inline declaration of that variable doesn't have a new line in other places. |
The previous implementation of the PIM DR Register state machine did not immediately transition to Join-Pending after the suppression timer expired. This caused a 5-second "deaf period" where new Register-Stop messages were ignored.
This patch corrects the logic by:
This change makes the PIM-SM implementation more robust and compliant.