Bugzilla – Bug 926
olsr handling of multicast packets
Last modified: 2010-05-31 08:53:19 UTC
Reported by Ken Renard: http://mailman.isi.edu/pipermail/ns-developers/2010-May/007981.html I changed the patch to return false if lcb is null, so that a multicast protocol at lower priority gets a chance to forward it. If no comments, I will commit this next week. --- a/src/routing/olsr/olsr-routing-protocol.cc Thu May 27 08:34:16 2010 +0200 +++ b/src/routing/olsr/olsr-routing-protocol.cc Sat May 29 08:38:42 2010 -0700 @@ -3005,9 +3005,21 @@ uint32_t iif = m_ipv4->GetInterfaceForDevice (idev); if (m_ipv4->IsDestinationAddress (dst, iif)) { - NS_LOG_LOGIC ("Local delivery to " << dst); - lcb (p, header, iif); - return true; + if (lcb.IsNull () == false) + { + NS_LOG_LOGIC ("Local delivery to " << dst); + lcb (p, header, iif); + return true; + } + else + { + // The local delivery callback is null. This may be a multicast + // or broadcast packet, so return false so that another + // multicast routing protocol can handle it. It should be possible + // to extend this to explicitly check whether it is a unicast + // packet, and invoke the error callback if so + return false; + } }
*** Bug 914 has been marked as a duplicate of this bug. ***
changeset: 6324:e56ec0532fec tag: tip user: Ken Renard <kenneth.renard@arl.army.mil> date: Mon May 31 13:52:56 2010 +0100 summary: Bug 926 - olsr handling of multicast packets