dispatch most functionality of ether_input to protocol threads

Sepherosa Ziehau sepherosa at gmail.com
Mon Jun 23 05:07:12 PDT 2008


On Mon, Jun 23, 2008 at 8:03 AM, Aggelos Economopoulos
<aoiko at cc.ece.ntua.gr> wrote:
> 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.

Ah, thanks.  In addition the meaning of function, I found that setup
netmsg packet in ether_mport() may be dangerous before restoring ether
header.  I have moved it after the ether header restoration.

Best Regards,
sephe

-- 
Live Free or Die





More information about the Kernel mailing list