[ovs-git] [ovn-org/ovn] 54513a: ovn-sbctl: Sort "dump-flows" output by actions if ...

Ben Pfaff noreply at github.com
Wed Mar 10 18:29:53 UTC 2021

  Branch: refs/heads/master
  Home:   https://github.com/ovn-org/ovn
  Commit: 54513ad0461f940d977b81453551793c09b6c913
  Author: Ben Pfaff <blp at ovn.org>
  Date:   2021-03-10 (Wed, 10 Mar 2021)

  Changed paths:
    M utilities/ovn-sbctl.c

  Log Message:
  ovn-sbctl: Sort "dump-flows" output by actions if all else fails.

The Logical_Flow table can have rows that differ only in actions.  Such
rows would have identical matches and priorities and be in the same
datapath.  At first glance, any these rows would be a bug, since they'd
match the same packets and there'd be no way to choose between them.

In practice, though, actions can have prerequisites.  If two different
flows have mutually exclusive prerequisites, the otherwise identical
flows are actually valid.

This comes up in practice in DNS response flows.  There are two of
them, in the same table and pipeline and with the same match expression
"udp.dst == 53 && reg0[4]", but one of them includes the action
"ip4.src <-> ip4.dst;" and the other "ip6.src <-> ip6.dst;".  Because
the first has an IPv4 prerequisite and the latter an IPv6 prerequisite,
their matches don't really overlap.

Anyway, regardless of whether they're valid, it's still good to sort
consistently, so that's all a digression.

Signed-off-by: Ben Pfaff <blp at ovn.org>
Acked-by: Han Zhou <hzhou at ovn.org>

More information about the git mailing list