On Sunday 22 June 2008, Sepherosa Ziehau wrote: > Hi, > > Following patch dispatch most ether_input functionality to protocol threads: > http://leaf.dragonflybsd.org/~sephe/ether_input2.diff > > It is not built by default, and some parts (vlan/fastforwarding) are > still not finished yet. But the idea behind this patch is quite > simple: > ether_input does nothing more than finding the proper protocol threads > for the input packets. > > I have done some tests with em. Bridge and normal operation works > with the patch. Hopefully, I could adapt vlan and fastforwarding > before this release. After this release, I plan to switch ether_input > to use ether_input_chain2 in this patch and move on to parallelize > ipfw. > > Since the new code is not built by default, I want to commit it soon, > if no one objects.
Please do. It's a change in the right direction and, as you say, it's a prerequisite to parallelizing ipfw. I haven't done a careful reading (comparing old/new code), but I doubt I'd find a bug anyway :) One thing that you may want to consider is calling ether_init_netpacket() explicitly rather than implicitly in ether_mport(); let ether_mport() only do what its name suggests. Aggelos
