From owner-freebsd-net@FreeBSD.ORG Tue Dec 23 14:36:55 2008 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 2774E106564A; Tue, 23 Dec 2008 14:36:55 +0000 (UTC) (envelope-from Hartmut.Brandt@dlr.de) Received: from smtp-1.dlr.de (smtp-1.dlr.de [195.37.61.185]) by mx1.freebsd.org (Postfix) with ESMTP id B01848FC1A; Tue, 23 Dec 2008 14:36:54 +0000 (UTC) (envelope-from Hartmut.Brandt@dlr.de) Received: from [192.168.2.100] ([172.21.151.1]) by smtp-1.dlr.de with Microsoft SMTPSVC(6.0.3790.1830); Tue, 23 Dec 2008 15:36:52 +0100 Message-ID: <4950F770.3090700@dlr.de> Date: Tue, 23 Dec 2008 15:36:32 +0100 From: Hartmut Brandt User-Agent: Thunderbird 2.0.0.18 (Windows/20081105) MIME-Version: 1.0 To: "Li, Qing" References: <55f001c9639d$875f14ec$7202020a@internal.cacheflow.com> In-Reply-To: <55f001c9639d$875f14ec$7202020a@internal.cacheflow.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-OriginalArrivalTime: 23 Dec 2008 14:36:52.0755 (UTC) FILETIME=[E594CE30:01C9650B] Cc: Gerald Pfeifer , Vladimir Grebenschikov , Kip Macy , Qing Li , freebsd-current@freebsd.org, freebsd-net@freebsd.org Subject: Re: HEADSUP: arp-v2 has been committed X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 23 Dec 2008 14:36:55 -0000 Li, Qing wrote: > Yes, at least in the IPv4 case, I still generate the routing messages whenever entries are modified, so you can still wait for notifications on the routing socket. One should check for the address family AF_LINK type instead of checking for RTF_LLINFO flag. It's an over sight this note was not attached to the commit message. > > There are two locations in ND6 where I temporarily disabled rtmsg generation pending further investigation. I have a note-to-self for that in the code comment. > > Since only ARP entries are returned, you are in fact getting some performance gain. The userland application should also be simplified a little because the list walking code does not have to check for non-ARP entries. > Actually I'm somewhat surprised at the moment. I looked at the actual commit and saw that you've heavily changed src/contrib/bsnmp/snmp_mibII. I don't think that was a good idea for several reasons: - this is code maintained in another repository and imported to FreeBSD. Luckily the cvs-times are over where this commit would have taken the files of the vendor branch. But nevertheless it is never a good idea to change code in contrib without pushing the changes upstream. - you just removed a lot of code and left the ipNetToMedia table entirely disfunctional. - you obviously did not test the change. Otherwise you would have seen that it did not work. It took me several hours today to re-engineer usr.sbin/arp/arp.c and the different files under sys/net and sys/netinet to understand how ARP should work now, fixing an issue with half-baken routing messages while beeing here. During this time I was puzzled in what strange state I committed the SNMP stuff: functions that were never called, routing messages that are not handled. Now looking at your commit I understand how this happend. And another point: when changing external interfaces it might be possible to ask for a full port build with the changes to look for the fall-out on ports. I would say that this commit was a good candidate to get the port maintainers into the boat earlier. not so happy, harti > -- Qing > > -----Original Message----- > From: Hartmut Brandt > Sent: Sunday, December 21, 2008 8:54 AM > To: Kip Macy > Cc: Vladimir Grebenschikov ; Qing Li ; freebsd-net@freebsd.org ; Gerald Pfeifer ; freebsd-current@freebsd.org > Subject: Re: HEADSUP: arp-v2 has been committed > > 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. > > harti > > >> -Kip >> >> On Sat, Dec 20, 2008 at 9:01 PM, Gerald Pfeifer 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 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@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-unsubscribe@freebsd.org" >>> >>> >> >> > > _______________________________________________ > freebsd-net@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-net > To unsubscribe, send any mail to "freebsd-net-unsubscribe@freebsd.org" >