[ovs-discuss] ovs-dpctl dump-flows vs. ovs-ofctl dump-flows

Ben Pfaff blp at nicira.com
Wed Aug 25 15:53:05 UTC 2010

On Wed, Aug 25, 2010 at 09:27:40AM +0100, Richard Mortier wrote:
> this may be a FAQ in which case i apologise (i have done some googling
> but couldn't find an answer).  here goes:
> what's the difference between "ovs-ofctl dump-flows dp0" and
> "ovs-dpctl dump-flows dp0"?
> ...where dp0 is a datapath with a single interface, eth0, added to it.

"ovs-ofctl dump-flows" prints OpenFlow flow table entries.

"ovs-dpctl dump-flows" is different.  As the manpage says:

      This  command  is  primarily  useful for debugging Open vSwitch.
      The flow table entries that it displays are  not  OpenFlow  flow
      entries.   Instead,  they are different and considerably simpler
      flows maintained by the Open vSwitch kernel module.

In a little more detail, the flows that ovs-dpctl prints are always
exact-match.  They reflect packets that have actually passed through the
system in the last 5 seconds or so.

If you want to know what OpenFlow sees, use ovs-ofctl.  If you want to
verify that the OpenFlow flows are being implemented in the way you
expect, ovs-dpctl is the right tool.

More information about the discuss mailing list