]> git.puffer.fish Git - mirror/frr.git/commit
pimd: re-evaluated S,G OILs upon RP changes and for empty SG upstream oils 15342/head
authorRajesh Varatharaj <rvaratharaj@nvidia.com>
Thu, 8 Feb 2024 02:58:39 +0000 (18:58 -0800)
committerMergify <37929162+mergify[bot]@users.noreply.github.com>
Fri, 9 Feb 2024 15:15:51 +0000 (15:15 +0000)
commit3dde8f2d15c5bcc7abcb7bde0f51bc8101a419a5
tree7369521733d880eb34f6a4531cb1fc5cc39c8a6d
parentaaff66fe59e70306fbf6238c8e90a68ab999f6ea
pimd: re-evaluated S,G OILs upon RP changes and for empty SG upstream oils

Topology:

TOR11 (FHR) --- LEAF-11---SPINE1 (RP)MSDP SPINE-2(RP)MSDP --- LEAF-12 -- TOR12 (LHR)
        |         |                    | |       |
|         -----------------------------------------------------(ECMP)   |
|         |                                 |               |
 -----------------------------------------------------------------------(ECMP)
Issue:
In some triggers, S,G upstream is preserved even with the PP timer expiry, resulting
in S,G with NULL OILS. This could be because we create a dummy S,G upstream and
dummy channel_oif for *,G, where RPF is UNKNOWN. As a result, PIM+VXLAN traffic is never
forwarded downstream to LHR.

Fix:
when the S,G stream is running, Determine if a reevaluation of the outgoing interface
 list (OIL) is required. S,G upstream should then inherit the OIL from *,G.

Testing:
- Evpn pim tests - TestEvpnPimSingleVtepOneMdt.test_02_broadcast_traffic_spt_zero
- pim-smoke

Ticket: #
Signed-off-by: Rajesh Varatharaj <rvaratharaj@nvidia.com>
(cherry picked from commit 071d43a052e04de52771b2f03461c407f0ced36f)
pimd/pim_mroute.c
pimd/pim_upstream.c
pimd/pim_upstream.h