Bug 926

Summary: olsr handling of multicast packets
Product: ns-3 Reporter: Tom Henderson <tomh>
Component: olsrAssignee: Gustavo J. A. M. Carneiro <gjcarneiro>
Status: RESOLVED FIXED    
Severity: normal CC: ns-bugs
Priority: P4    
Version: ns-3-dev   
Hardware: All   
OS: All   

Description Tom Henderson 2010-05-29 11:41:25 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;
+        }
     }
Comment 1 Gustavo J. A. M. Carneiro 2010-05-31 08:51:11 UTC
*** Bug 914 has been marked as a duplicate of this bug. ***
Comment 2 Gustavo J. A. M. Carneiro 2010-05-31 08:53:19 UTC
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