Subject: Re: ARP table question

From: Ben Greear <[email-masked]>
Date: Mon, 17 Nov 2008 17:23:53 -0800

Rick Jones wrote:

>> +static unsigned long neigh_rand_retry(struct neighbour* neigh) {
>> +    if (neigh->parms->retrans_rand_backoff) {
>> +        return net_random() % neigh->parms->retrans_rand_backoff;
>> +    }
>> +    return 0;
>> +}
>> +
>>  /* Called when a timer expires for a neighbour entry. */
> 
> I thought that mod was something we tried to avoid?  Could you instead 
> use something that isn't random but perhaps varies among all the 
> requests?  Say some of the low-order bits of the IP being resolved?

This is only called when we are going to retransmit an ARP, which shouldn't
be in any sort of hot path, so I figured MOD was fine.

The net_random is a very cheap method (last I checked), as well.

So, I think that part is OK as it is, but I'm open to
persuasion :)

Thanks,
Ben

-- 
Ben Greear <[email-masked]>
Candela Technologies Inc  http://www.candelatech.com