diff options
| author | Rafael Zalamena <rzalamena@opensourcerouting.org> | 2024-12-11 10:39:36 -0300 |
|---|---|---|
| committer | Rafael Zalamena <rzalamena@opensourcerouting.org> | 2024-12-11 10:39:36 -0300 |
| commit | 3b0b1adad72432c006a1e3683d99294ed4542c84 (patch) | |
| tree | 852ebfb79085fc8cb138c60134def5cdff3bb2f8 | |
| parent | ccb57ad10f81af33256761d18adaf37eb776e9d2 (diff) | |
pim6d: fix crash on clear ipv6 mroute
Fix crash on `clear ipv6 mroute` when using embedded RP.
Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
| -rw-r--r-- | pimd/pim6_mld.c | 2 | ||||
| -rw-r--r-- | pimd/pim_tib.c | 7 |
2 files changed, 2 insertions, 7 deletions
diff --git a/pimd/pim6_mld.c b/pimd/pim6_mld.c index b44169c522..acfb0c3af3 100644 --- a/pimd/pim6_mld.c +++ b/pimd/pim6_mld.c @@ -449,7 +449,7 @@ static void gm_sg_update(struct gm_sg *sg, bool has_expired) * this data structure. */ if (sg->oil) - pim_channel_oil_del(sg->oil, __func__); + sg->oil = pim_channel_oil_del(sg->oil, __func__); /* multiple paths can lead to the last state going away; * t_sg_expire can still be running if we're arriving from diff --git a/pimd/pim_tib.c b/pimd/pim_tib.c index e21793b8ca..2786ba440d 100644 --- a/pimd/pim_tib.c +++ b/pimd/pim_tib.c @@ -115,13 +115,8 @@ bool tib_sg_gm_join(struct pim_instance *pim, pim_sgaddr sg, return false; } - if (!*oilp) { + if (!*oilp) *oilp = tib_sg_oil_setup(pim, sg, oif); -#if PIM_IPV == 6 - if (pim_embedded_rp_is_embedded(&sg.grp)) - (*oilp)->oil_ref_count--; -#endif /* PIM_IPV == 6 */ - } if (!*oilp) return false; |
