RE: HEADSUP: arp-v2 has been committed

From: Li, Qing <qing.li_at_bluecoat.com>
Date: Sun, 21 Dec 2008 15:47:32 -0800
In earlier versions I had the kernel returning RTF_LLINFO back to
the calling applications to provide a bit of compatibility. It's
fairly straightforward for me to put that code back in. 

The change is tiny in the application in majority of the cases 
that I have seen. If these flags are obsolete and to be sure they
won't linger forever, perhaps the right thing to do is removing 
them and fix the applications as appropriate in 8.0 release. 

-- Qing


-----Original Message-----
From: owner-freebsd-net_at_freebsd.org on behalf of Julian Elischer
Sent: Sun 12/21/2008 12:17 PM
To: Hartmut Brandt
Cc: Gerald Pfeifer; Vladimir Grebenschikov; Kip Macy; Qing Li; freebsd-current_at_freebsd.org; freebsd-net_at_freebsd.org
Subject: Re: HEADSUP: arp-v2 has been committed
 
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.

this is one of the things that worried me abuot the arp change, which 
is is that the change itself is fine but that I had no idea if LLINFO
was BSD specific or if other ports and 3rd party code would rely on 
the connection between routing and ARP.

maybe ARP activity should produce routing socket events.
and maybe teh output should synthesize the missing entries.

> 
> 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-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-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"
Received on Sun Dec 21 2008 - 22:47:47 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:39 UTC