HEADSUP: arp-v2 has been committed

Sam Leffler sam at freebsd.org
Sun Dec 21 10:47:57 PST 2008


Hartmut Brandt wrote:
> Kip Macy wrote:
>> The flag is not needed. It is only possible to retrieve arp entries by
>> way of sysctl. The converse of this is you no longer need to grab all
>> the entries in the routing table and look at each one to determine
>> which are cloned routes (dynamic host routes) which contain ARP
>> entries.
>
> Does this mean that the snmp daemon cannot monitor the arp entries 
> through the routing socket anymore? This would be a performance issue, 
> since it would have to fetch the ARP table from the kernel each time 
> it is asked for. Now it refreshes the table only if it is older than 
> 30 seconds and in the mean time monitors routing messages.

If this really becomes an issue you could add a generation # to the arp 
table and watch for changes to trigger an update.

Alternatively it's possible to push the arp table bits through the 
routing socket but that would likely require more work.  We could also 
define new arp-specific msgs; e.g. to track changes (or just reuse the 
old msg format).  Doing this however perpetuates the routing socket as a 
kitchen-sink-kinda mechanism--at some point it's worth creating an 
entirely new path for info like this with a proper TLV-style protocol 
and support for features like filtering.

    Sam

>
> harti
>
>>
>> -Kip
>>
>> On Sat, Dec 20, 2008 at 9:01 PM, Gerald Pfeifer <gerald at pfeifer.com> 
>> wrote:
>>> The code in question on the Wine side is
>>>
>>> #if defined(HAVE_SYS_SYSCTL_H) && defined(NET_RT_DUMP)
>>>  int mib[] = {CTL_NET, PF_ROUTE, 0, AF_INET, NET_RT_FLAGS, RTF_LLINFO};
>>>
>>> and there is nothing FreeBSD-specific in dlls/iphlpapi/ipstats.c as far
>>> as I can see.
>>>
>>> If the arp-v2 update now made us incompatible both with earlier 
>>> versions
>>> of FreeBSD and Linux, that sounds like something that should be fixed
>>> (instead of hacking applications like Wine).
>>>
>>> On the other hand, the commit message at
>>>  http://www.freebsd.org/cgi/cvsweb.cgi/src/sys/net/route.h
>>> explicitly says
>>>  The change in design obsoletes the semantics of RTF_CLONING,
>>>  RTF_WASCLONE and RTF_LLINFO routing flags. The userland applications
>>>  such as "arp" and "ndp" have been modified to reflect those changes.
>>> so I guess it's not so easy.
>>>
>>> How many other ports are affected?
>>>
>>> What shall we do on the Wine front?  Simply #ifdef-ing out the code in
>>> question may not be the best of ideas, either. :-(
>>>
>>> Gerald
>>>
>>> On Fri, 19 Dec 2008, Vladimir Grebenschikov wrote:
>>>> On Mon, 15 Dec 2008 06:34:13 GMT, Qing Li <qingli at freebsd.org> wrote:
>>>>
>>>>>> The arp-v2 changes have been committed into HEAD.
>>>>>> Please report problems to me and Kip Macy.
>>>> Wine is not build any more:
>>>>
>>>> ...
>>>> cc -c -I. -I. -I../../include -I../../include  -D__WINESRC__  
>>>> -D_REENTRANT -fPIC -Wall -pipe -fno-strict-aliasing 
>>>> -Wdeclaration-after-statement -Wwrite-strings -Wpointer-arith 
>>>> -I/usr/local/include -O2 -pipe -fno-strict-aliasing  -o ipstats.o 
>>>> ipstats.c
>>>> ipstats.c: In function 'getNumArpEntries':
>>>> ipstats.c:1253: error: 'RTF_LLINFO' undeclared (first use in this 
>>>> function)
>>>> ipstats.c:1253: error: (Each undeclared identifier is reported only 
>>>> once
>>>> ipstats.c:1253: error: for each function it appears in.)
>>>> ipstats.c: In function 'getArpTable':
>>>> ipstats.c:1311: error: 'RTF_LLINFO' undeclared (first use in this 
>>>> function)
>>>> ipstats.c:1311: warning: initialization makes integer from pointer 
>>>> without a cast
>>>> gmake[2]: *** [ipstats.o] ?????? 1
>>>> gmake[2]: Leaving directory 
>>>> `/usr/ports/emulators/wine/work/wine-1.1.10/dlls/iphlpapi'
>>>> gmake[1]: *** [iphlpapi] ?????? 2
>>>> gmake[1]: Leaving directory 
>>>> `/usr/ports/emulators/wine/work/wine-1.1.10/dlls'
>>>> gmake: *** [dlls] ?????? 2
>>>>
>>>>
>>> -- 
>>> Gerald (Jerry) Pfeifer   gerald at pfeifer.com   
>>> http://www.pfeifer.com/gerald/
>>> _______________________________________________
>>> freebsd-net at freebsd.org mailing list
>>> http://lists.freebsd.org/mailman/listinfo/freebsd-net
>>> To unsubscribe, send any mail to "freebsd-net-unsubscribe at freebsd.org"
>>>
>>
>>
>>
>
> _______________________________________________
> freebsd-current at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-current
> To unsubscribe, send any mail to 
> "freebsd-current-unsubscribe at freebsd.org"
>
>



More information about the freebsd-net mailing list