arp-v2 (void *)-1 "hack"
Bjoern A. Zeeb
bzeeb-lists at lists.zabbadoz.net
Mon Dec 29 00:35:16 UTC 2008
On Sun, 28 Dec 2008, Bjoern A. Zeeb wrote:
Hi,
> 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.
Just as a follow-up. I talked to Qing and the summary is:
* we agree that this should be changed - one way or the other.
* we'll wait a bit for things to settle more and possibly (though
hopefully not) collect another few cases and fix them all at once
should they show up.
/bz
--
Bjoern A. Zeeb The greatest risk is not taking one.
More information about the freebsd-net
mailing list