From 35ec305ecbf32356f9ee2917ffa8bcb63333c661 Mon Sep 17 00:00:00 2001 From: Levente Meszaros Date: Fri, 2 Feb 2024 11:51:26 +0100 Subject: [PATCH] PimDm: Changed isOlistNull condition to consider local delivery. --- src/inet/routing/pim/modes/PimDm.cc | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/inet/routing/pim/modes/PimDm.cc b/src/inet/routing/pim/modes/PimDm.cc index e1df5eb7635..b8ae17f1362 100644 --- a/src/inet/routing/pim/modes/PimDm.cc +++ b/src/inet/routing/pim/modes/PimDm.cc @@ -1844,6 +1844,9 @@ PimDm::DownstreamInterface *PimDm::Route::removeDownstreamInterface(int interfac bool PimDm::Route::isOlistNull() { + // the multicast tree cannot be pruned if local delivery is needed, so we pretend there's an out interface + if (static_cast(owner)->isMulticastGroupJoined(group)) + return false; for (auto& elem : downstreamInterfaces) { if (elem->isInOlist()) return false;