[Ns-bugs] [Bug 253] ARP does not retry upon loss

bugzilla-daemon@nsnam-www.ece.gatech.edu bugzilla-daemon at nsnam-www.ece.gatech.edu
Mon Jul 21 13:09:17 PDT 2008


http://www.nsnam.org/bugzilla/show_bug.cgi?id=253





------- Comment #10 from tomh at tomh.org  2008-07-21 16:09 -------
(In reply to comment #8)
> > I believe the primary reason you would swallow this overhead is to avoid a
> > "thundering herd" of retries which you could get if you scanned the entire
> > cache on a single timer expiration; especially if we were to someday start
> > aging the entries in the cache.
> 
> It should not be too hard to just fire an update for the first one and defer
> the next update to some later time.
> 

Along these links, a way to avoid the herd is to schedule transmissions at a
small random interval later, such as:

while (iterating over cache entries)
{
  if (found entry that has timed out)
  {
    // Do not call SendArpRequest just yet-- schedule it for small time later
    Schedule (UniformVariable::GetSingleValue(0,
Seconds(ArpTimerTickInterval/2)), &SendArpRequest);
  }
}

This type of idiom might be nice to establish to deal with Craig's other
recently filed bug about too much determinism in our packet emissions. 


-- 
Configure bugmail: http://www.nsnam.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.


More information about the Ns-bugs mailing list