From owner-freebsd-net@FreeBSD.ORG Wed Dec 10 07:40:53 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 0172F1065670; Wed, 10 Dec 2008 07:40:53 +0000 (UTC) (envelope-from qingli@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by mx1.freebsd.org (Postfix) with ESMTP id E240E8FC17; Wed, 10 Dec 2008 07:40:52 +0000 (UTC) (envelope-from qingli@FreeBSD.org) Received: from freefall.freebsd.org (qingli@localhost [127.0.0.1]) by freefall.freebsd.org (8.14.3/8.14.3) with ESMTP id mBA7eqHB034925; Wed, 10 Dec 2008 07:40:52 GMT (envelope-from qingli@freefall.freebsd.org) Received: (from qingli@localhost) by freefall.freebsd.org (8.14.3/8.14.3/Submit) id mBA7eqjO034924; Wed, 10 Dec 2008 07:40:52 GMT (envelope-from qingli) Date: Wed, 10 Dec 2008 07:40:52 GMT From: Qing Li Message-Id: <200812100740.mBA7eqjO034924@freefall.freebsd.org> To: current@freebsd.org Cc: freebsd-net@freebsd.org Subject: last call for L2/L3 rewrite code review 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: Wed, 10 Dec 2008 07:40:53 -0000 As you know the L2+L3 rewrite project (aka arp-v2) for both ARP and ND6 has been active for quite some time now. In a nutshell, the work removes the L2 tables (ARP and ND6) from the L3 routing table. This redesign simplifies the routing code and completely eliminates the route cloning concept. I discussed about this work at BSDCan 2007 and again at the recent devsummit at Google. I have requested code review and feedback since last May. It's becoming increasingly difficult to maintain a separate branch (p4 or svn) due to the high volume of new features' related commits. The integration and unit testing efforts increase in complexity by the week. We (Julian, Sam, Kip, Robert and I) discussed about a possible commit timeframe during the devsummit. And it seems now is as good as any because we all have overcommitted ourselves, and frankly speaking unless the feature is fully committed, getting the thorough code review and broader testing is simply unrealistic. I have been running the new arp-v2 kernel as a regular production machine on a daily basis, however, I am certain my testing is insufficient, which is another good reason to get the feature into the official -current tree. Putting a closure on this work will allow me to focus on developing additional networking features and completing my other backlog tasks for the project. Although the code will continue to evolve, on the other hand, the code is stable enough that I believe it is ready for general (-CURRENT) consumption. I would like to commit the code within a week if not sooner. Again, I would like to ask for your review and feedback. Flaming is fine, which I prefer getting the flames now rather than later. Quite a few developers have contributed to this project in the past: Glebius Smirnoff, Luigi Rizzo, Alessandro Cerri, and Andre Oppermann. And most recently: - Kip Macy revised the locking code completely, thus completing the last piece of the puzzle, Kip has also been conducting active functional testing - Sam Leffler has helped me improving/refactoring the code, and provided valuable reviews - Julian Elischer setup the perforce tree for me and has helped me maintaining that branch The latest patch that is generated out of Perforce without Kip Macy's locking modification is at http://people.freebsd.org/~qingli/arp-v2-p4-diff The complete P4 project tree is located at //depot/projects/arp-v2 The full project sits in the svn branch that is located at svn+ssh://svn.freebsd.org/base/projects/arpv2_merge_1 Once this code is fully committed into -CURRENT, I will be on standby to fix any arp/nd6 related bugs. Kip Macy will be on standby to fix any locking related issues. Kip will also be acting as my backup when I'd be out partying. Thanks, -- Qing mailto: qingli@freebsd.org