pimd: Fix Register-Stop state machine logic to align with RFC7761#19023
pimd: Fix Register-Stop state machine logic to align with RFC7761#19023Jafaral merged 1 commit intoFRRouting:masterfrom
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 <hjjhubu@qq.com>
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.