mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-11-02 23:34:11 +00:00
pimd: prevent unconditional SG join sends
It was causing a Join on (S,G) who's prune state was being cleared. This was an inactive (KAT not running; no immediate OIL) entry that was being flushed out but because of this incorrect Join (that was being done with out join-state checks) the source was getting populated repeatedy i.e. never aged. Output of "ip monitor mroute" ============================= (27.0.0.11,239.1.1.102) Iif: lo State: resolved Table: default Deleted (27.0.0.11,239.1.1.102) Iif: lo State: resolved Table: default (27.0.0.11,239.1.1.102) Iif: pimreg State: resolved Table: default (27.0.0.11,239.1.1.102) Iif: uplink-1 State: resolved Table: default (27.0.0.11,239.1.1.102) Iif: uplink-1 State: resolved Table: default (27.0.0.11,239.1.1.102) Iif: uplink-1 State: resolved Table: default (27.0.0.11,239.1.1.102) Iif: lo Oifs: uplink-1 State: resolved Table: default (27.0.0.11,239.1.1.104) Iif: lo Oifs: pimreg uplink-1 State: resolved Table: default (27.0.0.11,239.1.1.102) Iif: lo Oifs: pimreg uplink-1 State: resolved Table: default Deleted (27.0.0.11,239.1.1.102) Iif: lo State: resolved Table: default (27.0.0.11,239.1.1.102) Iif: pimreg State: resolved Table: default (27.0.0.11,239.1.1.102) Iif: uplink-1 State: resolved Table: default (27.0.0.11,239.1.1.102) Iif: uplink-1 State: resolved Table: default (27.0.0.11,239.1.1.102) Iif: uplink-1 State: resolved Table: default (27.0.0.11,239.1.1.102) Iif: lo Oifs: uplink-1 State: resolved Table: default These mroute events (on a no longer existing multicast souce) continue in a never ending loop. Triggered joins/prunes MUST only done via state machine transitions i.e. via pim_upstream_update_join_desired. Signed-off-by: Anuradha Karuppiah <anuradhak@cumulusnetworks.com>
This commit is contained in:
parent
41a115e4f0
commit
a04f8890d1
@ -1414,9 +1414,6 @@ void pim_ifchannel_set_star_g_join_state(struct pim_ifchannel *ch, int eom,
|
||||
__func__);
|
||||
pim_upstream_update_join_desired(pim,
|
||||
child->upstream);
|
||||
pim_jp_agg_single_upstream_send(
|
||||
&child->upstream->rpf, child->upstream,
|
||||
true);
|
||||
}
|
||||
send_upstream_starg = true;
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user