# HG changeset patch # User Mathieu Lacage # Date 1210952479 25200 # Node ID 30ca8e7b5e89697ee1a8054e31b8787ec7ac0f99 # Parent e690b0d1b62532b96de928c8464ea2238fe3c90d# Parent 953e6fc56bf0b8a01b7fcd5a59c3f83f14b6025a merge with HEAD diff -r e690b0d1b625 -r 30ca8e7b5e89 src/routing/global-routing/global-router-interface.cc --- a/src/routing/global-routing/global-router-interface.cc Thu May 15 07:47:17 2008 -0400 +++ b/src/routing/global-routing/global-router-interface.cc Fri May 16 08:41:19 2008 -0700 @@ -533,6 +533,21 @@ { Ptr ndLocal = node->GetDevice(i); + // Check if it is an IP interface (could be a pure L2 NetDevice) + bool isIp = false; + for (uint32_t i = 0; i < ipv4Local->GetNInterfaces (); ++i ) + { + if (ipv4Local->GetNetDevice (i) == ndLocal) + { + isIp = true; + break; + } + } + if (!isIp) + { + continue; + } + if (ndLocal->IsBroadcast () && !ndLocal->IsPointToPoint () ) { NS_LOG_LOGIC ("Broadcast link"); @@ -623,6 +638,10 @@ // router (to use OSPF lingo) is running. // Ptr ch = ndLocal->GetChannel(); + if (ch == NULL) + { + continue; + } Ptr ndRemote = GetAdjacent(ndLocal, ch); // // The adjacent net device is aggregated to a node. We need to ask that net