diff options
| author | Rajesh Varatharaj <rvaratharaj@nvidia.com> | 2023-06-21 10:59:12 -0700 | 
|---|---|---|
| committer | Mergify <37929162+mergify[bot]@users.noreply.github.com> | 2025-02-20 18:41:52 +0000 | 
| commit | 83fb10210f39d0fbb7da2b31e52a485e4bde71c4 (patch) | |
| tree | 0563972d2c7b81fbdc347279b7de33c6cdd651db /pimd | |
| parent | 211df1f6491a76a6449755a3983242e669967796 (diff) | |
pimd: During prefix-list update, behave as PIM_UPSTREAM_NOTJOINED state (conformance issue)
Issue:
If there are any changes to the prefix list, we perform a re-lookup to map the correct RP for the group.
Even if the S,G entry is PIM_UPSTREAM_NOTJOINED and in FHR, In the case of IGMPv3, an S,G entry can be
created with no joins. this is not necessary.
 https://www.rfc-editor.org/rfc/rfc4601#section-4.5.7 says no op in case of NOTJOINED
Solution:
To solve this issue, Stop RP mapping when the state is NOTJOINED
Ticket: #3496931
Signed-off-by: Rajesh Varatharaj <rvaratharaj@nvidia.com>
(cherry picked from commit 51f26d17da288af44a8a0e536dbe317a7e678514)
Diffstat (limited to 'pimd')
| -rw-r--r-- | pimd/pim_upstream.c | 6 | 
1 files changed, 6 insertions, 0 deletions
diff --git a/pimd/pim_upstream.c b/pimd/pim_upstream.c index 01e1321b25..e4603ff946 100644 --- a/pimd/pim_upstream.c +++ b/pimd/pim_upstream.c @@ -643,6 +643,12 @@ void pim_upstream_update_use_rpt(struct pim_upstream *up,  	if (pim_addr_is_any(up->sg.src))  		return; +	/* Ignore RP mapping when the upsteam state +	 * is NOT Joined on a FHR +	 */ +	if (up->join_state == PIM_UPSTREAM_NOTJOINED && PIM_UPSTREAM_FLAG_TEST_FHR(up->flags)) +		return; +  	old_use_rpt = !!PIM_UPSTREAM_FLAG_TEST_USE_RPT(up->flags);  	/* We will use the SPT (IIF=RPF_interface(S) if -  | 
