pim6d: IPv6-adjust upstream_rpf_genid_changed

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
This commit is contained in:
David Lamparter 2022-01-18 11:44:26 +01:00
parent 5775d4be08
commit 101b31041a
2 changed files with 10 additions and 10 deletions

View File

@ -1263,7 +1263,7 @@ void pim_upstream_update_join_desired(struct pim_instance *pim,
it so that it expires after t_override seconds. it so that it expires after t_override seconds.
*/ */
void pim_upstream_rpf_genid_changed(struct pim_instance *pim, void pim_upstream_rpf_genid_changed(struct pim_instance *pim,
struct in_addr neigh_addr) pim_addr neigh_addr)
{ {
struct pim_upstream *up; struct pim_upstream *up;
@ -1271,24 +1271,24 @@ void pim_upstream_rpf_genid_changed(struct pim_instance *pim,
* Scan all (S,G) upstreams searching for RPF'(S,G)=neigh_addr * Scan all (S,G) upstreams searching for RPF'(S,G)=neigh_addr
*/ */
frr_each (rb_pim_upstream, &pim->upstream_head, up) { frr_each (rb_pim_upstream, &pim->upstream_head, up) {
if (PIM_DEBUG_PIM_TRACE) { pim_addr rpf_addr;
char rpf_addr_str[PREFIX_STRLEN];
pim_addr_dump("<rpf?>", &up->rpf.rpf_addr, rpf_addr_str, rpf_addr = pim_addr_from_prefix(&up->rpf.rpf_addr);
sizeof(rpf_addr_str));
if (PIM_DEBUG_PIM_TRACE)
zlog_debug( zlog_debug(
"%s: matching neigh=%pI4 against upstream (S,G)=%s[%s] joined=%d rpf_addr=%s", "%s: matching neigh=%pPA against upstream (S,G)=%s[%s] joined=%d rpf_addr=%pPA",
__func__, &neigh_addr, up->sg_str, __func__, &neigh_addr, up->sg_str,
pim->vrf->name, pim->vrf->name,
up->join_state == PIM_UPSTREAM_JOINED, up->join_state == PIM_UPSTREAM_JOINED,
rpf_addr_str); &rpf_addr);
}
/* consider only (S,G) upstream in Joined state */ /* consider only (S,G) upstream in Joined state */
if (up->join_state != PIM_UPSTREAM_JOINED) if (up->join_state != PIM_UPSTREAM_JOINED)
continue; continue;
/* match RPF'(S,G)=neigh_addr */ /* match RPF'(S,G)=neigh_addr */
if (up->rpf.rpf_addr.u.prefix4.s_addr != neigh_addr.s_addr) if (pim_addr_cmp(rpf_addr, neigh_addr))
continue; continue;
pim_upstream_join_timer_decrease_to_t_override( pim_upstream_join_timer_decrease_to_t_override(

View File

@ -326,7 +326,7 @@ void pim_upstream_join_timer_decrease_to_t_override(const char *debug_label,
void pim_upstream_join_timer_restart(struct pim_upstream *up, void pim_upstream_join_timer_restart(struct pim_upstream *up,
struct pim_rpf *old); struct pim_rpf *old);
void pim_upstream_rpf_genid_changed(struct pim_instance *pim, void pim_upstream_rpf_genid_changed(struct pim_instance *pim,
struct in_addr neigh_addr); pim_addr neigh_addr);
void pim_upstream_rpf_interface_changed(struct pim_upstream *up, void pim_upstream_rpf_interface_changed(struct pim_upstream *up,
struct interface *old_rpf_ifp); struct interface *old_rpf_ifp);