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 <ger...@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 <qin...@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 ger...@pfeifer.com http://www.pfeifer.com/gerald/
_______________________________________________
freebsd-net@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to "freebsd-net-unsubscr...@freebsd.org"





_______________________________________________
freebsd-curr...@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"



_______________________________________________
freebsd-net@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to "freebsd-net-unsubscr...@freebsd.org"

Reply via email to