On Tue, Oct 07, 2014 at 02:51:59PM -0700, Jarno Rajahalme wrote: > > On Oct 6, 2014, at 3:01 PM, Ben Pfaff <b...@nicira.com> wrote: > > > On Wed, Oct 01, 2014 at 04:02:34PM -0700, Jarno Rajahalme wrote: > >> miniflow_extract_from_flow() is faster than miniflow_init(), since it > >> does not scan the fields not significant for the packet type. More > >> importantly, it produces the same layout as miniflow_extract, which > >> does not try to compress zero-valued packet header fields. > >> > >> Signed-off-by: Jarno Rajahalme <jrajaha...@nicira.com> > > > > I'm surprised that it's faster, since it's much more complex. > > > > As for the layout, I can believe that it's the same (though it is > > somewhat tricky to verify), but I wonder how to ensure that that > > property is correctly maintained over time. Do you have any thoughts? > > I realized that Joe?s flow ID patches will make this patch mostly > unnecessary, so I decided to drop this patch. > > There is one remaining case where we need to convert a struct flow > to struct netdev_flow_key. This is in dpif_netdev_flow_put(), which is > no longer used for upcall processing (it is still used by probes). Since > dpif_netdev_flow_put() is no longer performance critical, I decided to > use flow_compose() and miniflow_extract() to first convert struct flow > to a packet, and then extract it to a miniflow. This is trivially correct, > so there is no issue with code maintenance in this regard.
I'm glad to hear all that. Thanks. _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev