From owner-freebsd-net@FreeBSD.ORG Sat Dec 27 13:58:56 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 3EF2B106564A; Sat, 27 Dec 2008 13:58:56 +0000 (UTC) (envelope-from tijl@ulyssis.org) Received: from mailrelay002.isp.belgacom.be (mailrelay002.isp.belgacom.be [195.238.6.175]) by mx1.freebsd.org (Postfix) with ESMTP id 7E4638FC0C; Sat, 27 Dec 2008 13:58:55 +0000 (UTC) (envelope-from tijl@ulyssis.org) X-Belgacom-Dynamic: yes X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: Ag4FAHPDVUlR9NlS/2dsb2JhbACBbLsZWI8ghkQ Received: from 82.217-244-81.adsl-dyn.isp.belgacom.be (HELO kalimero.kotnet.org) ([81.244.217.82]) by relay.skynet.be with ESMTP; 27 Dec 2008 14:58:53 +0100 Received: from kalimero.kotnet.org (kalimero.kotnet.org [127.0.0.1]) by kalimero.kotnet.org (8.14.3/8.14.3) with ESMTP id mBRDwr7B004465; Sat, 27 Dec 2008 14:58:53 +0100 (CET) (envelope-from tijl@ulyssis.org) From: Tijl Coosemans To: Gerald Pfeifer Date: Sat, 27 Dec 2008 14:58:50 +0100 User-Agent: KMail/1.9.10 References: <20081221125120.GO23166@droso.net> <200812231750.26602.tijl@ulyssis.org> In-Reply-To: MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200812271458.52492.tijl@ulyssis.org> Cc: Qing Li , "Li, Qing" , 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: Sat, 27 Dec 2008 13:58:56 -0000 On Saturday 27 December 2008 13:28:42 Gerald Pfeifer wrote: > On Tue, 23 Dec 2008, Tijl Coosemans wrote: >>> No, the output of this command is still the same. NET_RT_DUMP >>> obtains the entire L3 table and filtering for RTF_GATEWAY >>> non-multicast routes have the same semantics. Those flags never >>> apply to L2 entries. >> >> Thanks for answering my questions. I've attached the patch for Wine. > > Thanks, Tijl! Are you also going to submit this patch upstream or > would you prefer me to submit my (syntactically different, but > equivalent) version? I'd love to see this addressed in Wine 1.1.12. I was kind of waiting for the dust to settle. I didn't want to speak up because I'm no authority in this area and in the end I'm OK with any outcome, but personnaly I find special-casing {NET_RT_FLAGS,0} to retrieve the L2 entries a bit odd. Surely, letting {NET_RT_FLAGS,RTF_LLINFO} return L2 entries is exactly the same to implement, is far more descriptive, is fully backwards compatible and compatible with other sysctl operating systems like the other BSDs and Mac OS X, which helps portability. AFAIK, the other use of RTF_LLINFO was to filter out L2 entries from the entire L2+L3 routing table to obtain just the L3 entries. Because the L2 and L3 table have been separated this filtering isn't needed anymore, but what harm would it do to reintroduce RTF_LLINFO? The filtering code would become a useless no-op, but you'd stay fully compatible, again both backwards and with other operating systems. I just think that removing RTF_LLINFO was a bit too aggressive an optimisation with little advantage and too many disadvantages and I'd like to see it return.