On Mon, Jun 01, 2015 at 11:24:19AM -0700, Alex Wang wrote: > This commit implements a prototype of Header Space Analysis of the > OVS OpenFlow table. > > What It Does > ------------ > > 1. Dump all OpenFlow rules from a specified bridge. > 2. Generate all-unmasked header space with specified input port number > and start looking up from default starting table. > 3. Traverse through all possible processing pipelines (i.e. OpenFlow > rules cascaded with resubmit action) and conduct leak check or loop > check. > 3.1 A leak check prints all possible output ports with the actual input > header space format. > 3.2 A loop check checks if an OpenFlow rule is matched multiple time in > the processing pipeline. It will tell if the loop is finite or > infinite and print the loop path. > > How To Use > ---------- > > ovs-appctl hsa/detect-leak <bridge name> <OpenFlow port number> > ovs-appctl hsa/detect-loop <bridge name> <OpenFlow port number> > > Limitation > ---------- > > - Only support a very limited set of OFPACT_* actions. And extending > to accept more actions can be very complicated. > - Single thread implementation, can take 20+ mins to run on a production > setup with ~100 OpenFlow rules. > > Signed-off-by: Alex Wang <al...@nicira.com> > > --- > RFC->RFC V2: > - Clarify comments of 'move_map'. > - Change the 'move_map' to 2-D array. > - Make hs_clone do not double init (but seems to make it more complex). > - Fix the overflow risk in hsa_rule_compare(). > - Adopt Ben's suggestions. > - Add example unit test (did not add complete tests since I think we may > want to remodel it for OVN).
I would add documentation for this (roughly what is in the commit message above) to ovs-vswitchd.8.in, in the section dedicated to ovs-appctl commands. I think that this is also worth mentioning in NEWS. Acked-by: Ben Pfaff <b...@nicira.com> _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev