arp-v2 (void *)-1 "hack"

Bjoern A. Zeeb bzeeb-lists at lists.zabbadoz.net
Sun Dec 28 23:55:07 UTC 2008


On Sun, 28 Dec 2008, Kip Macy wrote:

Hi,

>> What do you think wrt to adding the (possibly optional) int *error and
>> returning the errno rather than a (void *)-1?  If you'd be ok, I'd can
>> prepare the patch. I'd rather break the API now than in a few months.
>
> I would greatly prefer having a dedicated new function that calls in
> to it. There are a lot of calls to lla_lookup that would have to be
> changed needlessly. In other words:

Right, there are 14 or so of them and at least 2 will need to be
touched.

> 1) lla_lookup_internal - a static function which takes all 3 args
> 2) lla_delete - which returns an errno
> 3) lla_lookup - which maintains the current interface

I wonder if it's worth adding two more functions for about a dozen calls
from basically 2 files; especially considering that we will need to modify
the internal API (llt_lookup function pointer in struct lltable and 
in_lltable_lookup()/in6_lltable_lookup()) anyway.

That's why I thought adding the int *error now consistently would be
easier and cleaner.

Most of the callers, currently not caring could just pass in NULL, if
they don't care and we keep the argument optional.

/bz

-- 
Bjoern A. Zeeb                      The greatest risk is not taking one.


More information about the freebsd-net mailing list