]> git.puffer.fish Git - matthieu/frr.git/commit
pimd: re-evaluated S,G OILs upon RP changes and for empty SG upstream oils
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:16:20 +0000 (15:16 +0000)
commit39ccd0b78003c233d478887ea70a7f0ffeea4edb
tree927aa82fb744615eae16261dde828fe613c15f83
parent004a0989b2983fe6a18a37b16bf103ceb4751362
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