Bug 432

Summary: tracker item for /32 discussion
Product: ns-3 Reporter: Tom Henderson <tomh>
Component: routingAssignee: Tom Henderson <tomh>
Status: RESOLVED FIXED    
Severity: normal CC: ns-bugs
Priority: P3    
Version: ns-3-dev   
Hardware: All   
OS: All   
Attachments: static-routing-slash32.cc
global-routing-slash32.ccc

Description Tom Henderson 2008-12-03 01:32:17 UTC
This is a bug entry to track the issue raised in this ns-3-users thread:
http://groups.google.com/group/ns-3-users/browse_thread/thread/da6368f469f154a3
Comment 1 Tom Henderson 2008-12-03 01:46:46 UTC
The attached test programs test the following 3-node topology:
// (a.a.a.a/32)A<--x.x.x.0/30-->B<--y.y.y.0/30-->C(c.c.c.c/32)

There are two test programs:
- static-routing-slash32.cc
- global-routing-slash32.cc

The second program requires a small patch in global routing code, to allow for a stub device with Ipv4Interface but with no channel:

diff -r fce227ad1f13 src/routing/global-routing/global-router-interface.cc
--- a/src/routing/global-routing/global-router-interface.cc     Tue Dec 02 12:15:42 2008 -0800
+++ b/src/routing/global-routing/global-router-interface.cc     Tue Dec 02 22:44:27 2008 -0800
@@ -1277,6 +1277,11 @@ GlobalRouter::AnotherRouterOnLink (Ptr<N
   NS_LOG_FUNCTION (nd << allowRecursion);
 
   Ptr<Channel> ch = nd->GetChannel();
+  if (!ch)
+    {
+      // It may be that this net device is a stub device, without a channel
+      return false;
+    }
   uint32_t nDevices = ch->GetNDevices();
   NS_ASSERT (nDevices);


otherwise, both programs run against the current ns-3-dev repository.
Comment 2 Tom Henderson 2008-12-03 01:48:32 UTC
Created attachment 325 [details]
static-routing-slash32.cc
Comment 3 Tom Henderson 2008-12-03 01:48:51 UTC
Created attachment 326 [details]
global-routing-slash32.ccc
Comment 4 Tom Henderson 2009-06-30 00:56:04 UTC
This hasn't been updated for half a year and the attachments have been committed in the previous release cycle.  I think that the reported issues in the ns-3-users thread are now fixed, so I'm marking FIXED.