Skip to content

pimd: fix dense mode State Refresh relay forwarding (backport #22177)#22203

Merged
mjstapp merged 2 commits into
stable/10.6from
mergify/bp/stable/10.6/pr-22177
Jun 5, 2026
Merged

pimd: fix dense mode State Refresh relay forwarding (backport #22177)#22203
mjstapp merged 2 commits into
stable/10.6from
mergify/bp/stable/10.6/pr-22177

Conversation

@mergify
Copy link
Copy Markdown

@mergify mergify Bot commented Jun 3, 2026

The State Refresh relay path had two bugs that prevented multi-hop
propagation in dense-mode.


This is an automatic backport of pull request #22177 done by Mergify.

@mergify
Copy link
Copy Markdown
Author

mergify Bot commented Jun 3, 2026

Cherry-pick of b459d0f has failed:

On branch mergify/bp/stable/10.6/pr-22177
Your branch is up to date with 'origin/stable/10.6'.

You are currently cherry-picking commit b459d0f01.
  (fix conflicts and run "git cherry-pick --continue")
  (use "git cherry-pick --skip" to skip this patch)
  (use "git cherry-pick --abort" to cancel the cherry-pick operation)

Unmerged paths:
  (use "git add <file>..." to mark resolution)
	both modified:   pimd/pim_state_refresh.c

no changes added to commit (use "git add" and/or "git commit -a")

Cherry-pick of bbe9c59 has failed:

On branch mergify/bp/stable/10.6/pr-22177
Your branch is ahead of 'origin/stable/10.6' by 1 commit.
  (use "git push" to publish your local commits)

You are currently cherry-picking commit bbe9c5933.
  (fix conflicts and run "git cherry-pick --continue")
  (use "git cherry-pick --skip" to skip this patch)
  (use "git cherry-pick --abort" to cancel the cherry-pick operation)

Unmerged paths:
  (use "git add <file>..." to mark resolution)
	both modified:   tests/topotests/pim_dense/test_pim_dense.py

no changes added to commit (use "git add" and/or "git commit -a")

Jafar: fixed.

@mergify mergify Bot added the conflicts label Jun 3, 2026
@greptile-apps
Copy link
Copy Markdown

greptile-apps Bot commented Jun 3, 2026

Target branch is not in the allowed branches list.

@frrbot frrbot Bot added bugfix pim tests Topotests, make check, etc labels Jun 3, 2026
@github-actions github-actions Bot removed the conflicts label Jun 3, 2026
@Jafaral Jafaral marked this pull request as draft June 4, 2026 04:36
@Jafaral Jafaral force-pushed the mergify/bp/stable/10.6/pr-22177 branch from 33fa100 to f04d517 Compare June 5, 2026 05:21
@github-actions
Copy link
Copy Markdown

github-actions Bot commented Jun 5, 2026

This pull request has conflicts, please resolve those before we can evaluate the pull request.

Jafaral added 2 commits June 5, 2026 09:26
The State Refresh relay path had two bugs that prevented multi-hop
propagation in dense-mode.

1. pim_staterefresh_recv() forwarded on the receiving interface's
   neighbor list (pim_ifp->pim_neighbor_list), so the message was
   echoed back onto the segment it arrived on instead of being
   forwarded downstream. RFC 3973 4.5.2 requires State Refresh to be
   sent on every downstream PIM dense-mode interface, i.e. all PIM
   interfaces except the incoming one. Iterate FOR_ALL_INTERFACES and
   skip the receiving interface, matching pim_send_staterefresh().

2. Both the receive (relay) and originate paths gated forwarding on
   neigh->prefix_list being non-NULL. That field is the neighbor's
   secondary-address list from Hello and is unrelated to State Refresh
   forwarding; in a normal deployment no router advertises one, so the
   loop body never executed and State Refresh was never relayed or
   originated. Remove the guard from both paths.

Signed-off-by: Jafar Al-Gharaibeh <jafar@atcorp.com>
(cherry picked from commit b459d0f)
Signed-off-by: Jafar Al-Gharaibeh <jafar@atcorp.com>
(cherry picked from commit bbe9c59)
@Jafaral Jafaral force-pushed the mergify/bp/stable/10.6/pr-22177 branch from f04d517 to f9bc8b5 Compare June 5, 2026 14:40
@Jafaral Jafaral marked this pull request as ready for review June 5, 2026 14:42
@github-actions github-actions Bot removed the conflicts label Jun 5, 2026
@mjstapp mjstapp merged commit dfab6ee into stable/10.6 Jun 5, 2026
22 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants