Bug 1965

Summary: restrictive assert in ECMP code
Product: ns-3 Reporter: Tom Henderson <tomh>
Component: global-routingAssignee: Tom Henderson <tomh>
Status: CONFIRMED ---    
Severity: enhancement CC: ns-bugs
Priority: P5    
Version: pre-release   
Hardware: PC   
OS: Linux   

Description Tom Henderson 2014-08-26 14:09:54 EDT
Tommaso found that in the ipv4 global routing test suite, replacing the link n0->n2 with anything other than point-to-point causes this assert to fire:

SPFVertex::NodeExit_t
SPFVertex::GetRootExitDirection () const
{
  NS_LOG_FUNCTION (this);

  NS_ASSERT_MSG (m_ecmpRootExits.size () <= 1, "Assumed there is at most one exit from the root to this vertex");
  return GetRootExitDirection (0);
}

This was added with the bug 667 ECMP patch many years ago.  The assert may be too restrictive.

I'm filing this as a reminder to myself to investigate and fix.