On Tue, 2011-12-06 at 15:25 +0800, Jason Wang wrote: > On 12/06/2011 04:42 AM, Ben Hutchings wrote: [...] > > This is not a proper implementation of ndo_rx_flow_steer. If you steer > > a flow by changing the RSS table this can easily cause packet reordering > > in other flows. The filtering should be more precise, ideally matching > > exactly a single flow by e.g. VID and IP 5-tuple. > > > > I think you need to add a second hash table which records exactly which > > flow is supposed to be steered. Also, you must call > > rps_may_expire_flow() to check whether an entry in this table may be > > replaced; otherwise you can cause packet reordering in the flow that was > > previously being steered. > > > > Finally, this function must return the table index it assigned, so that > > rps_may_expire_flow() works. > > Thanks for the explanation, how about document this briefly in scaling.txt? [...] I believe scaling.txt is intended for users/administrators, not developers. The documentation for implementers of accelerated RFS is in the comment for struct net_device_ops and the commit message adding it. But I really should improve that comment. Ben. -- Ben Hutchings, Staff Engineer, Solarflare Not speaking for my employer; that's the marketing department's job. They asked us to note that Solarflare product names are trademarked. -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html