last call for L2/L3 rewrite code review
qingli at FreeBSD.org
Wed Dec 10 07:40:53 UTC 2008
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
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
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
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
The complete P4 project tree is located at
The full project sits in the svn branch that is located at
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.
mailto: qingli at freebsd.org
More information about the freebsd-current