On Nov 1, 2012, at 1:03 PM, Ben Pfaff <b...@nicira.com> wrote: > On Thu, Nov 01, 2012 at 10:06:55AM -0700, Justin Pettit wrote: >> Signed-off-by: Justin Pettit <jpet...@nicira.com> > > This is really good (thank you!), but I think it can be improved. > First, I don't think it's a good idea to emphasize a kernel/user split > here. That's an implementation detail that I don't really want to > expose to our users more than we have to, especially since we might > want to change the split in some way later. (Maybe a netmap-like > interface will turn out to be really fast and awesome, etc.) And the > term "userspace" is probably better written "OpenFlow", really. > > Here is my suggestion: > > Q: Why are there so many different ways to dump flows? > > A: Open vSwitch uses different kinds of flows for different purposes: > > - OpenFlow flows are the most important kind of flow. OpenFlow > controllers use these flows to define a switch's policy. > OpenFlow flows support wildcards, priorities, and multiple > tables. > > When in-band control is in use, Open vSwitch sets up a few > "hidden" flows, with priority higher than a controller or the > user can configure, that are not visible via OpenFlow. (See > the "Controller" section of the FAQ for more information > about hidden flows.) > > - The Open vSwitch software switch implementation uses a second > kind of flow internally. These flows, called "exact-match" > or "datapath" or "kernel" flows, do not support wildcards or > priorities and comprise only a single table, which makes them > suitable for caching. OpenFlow flows and exact-match flows > also support different actions and number ports differently. > > Exact-match flows are an implementation detail that is > subject to change in future versions of Open vSwitch. Even > with the current version of Open vSwitch, hardware switch > implementations do not necessarily use exact-match flows. > > Each of the commands for dumping flows has a different purpose: > > - "ovs-ofctl dump-flows <br>" dumps OpenFlow flows, excluding > hidden flows. This is the most commonly useful form of flow > dump. (Unlike the other commands, this should work with any > OpenFlow switch, not just Open vSwitch.) > > - "ovs-appctl bridge/dump-flows <br>" dumps OpenFlow flows, > including hidden flows. This is occasionally useful for > troubleshooting suspected issues with in-band control. > > - "ovs-dpctl dump-flows [dp]" dumps the exact-match flow table > entries for a Linux kernel-based datapath. In Open vSwitch > 1.10 and later, ovs-vswitchd later merges multiple switches > into a single datapath, so it will show all the flows on all > your kernel-based switches. This command can occasionally be > useful for debugging. > > - "ovs-appctl dpif/dump-flows <br>", new in Open vSwitch 1.10, > dumps exact-match flows for only the specified bridge, > regardless of the type.
Thanks, Ben. I pushed it with your suggestions (after much delay). --Justin _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev