[ovs-git] [ovn-org/ovn] 352afb: ofctrl: change ofctrl_dup_flow to module internal ...

Han Zhou noreply at github.com
Wed Sep 9 21:11:13 UTC 2020


  Branch: refs/heads/branch-20.03
  Home:   https://github.com/ovn-org/ovn
  Commit: 352afbfebc4b0130baa486e717731baf478c66e2
      https://github.com/ovn-org/ovn/commit/352afbfebc4b0130baa486e717731baf478c66e2
  Author: Han Zhou <hzhou at ovn.org>
  Date:   2020-09-09 (Wed, 09 Sep 2020)

  Changed paths:
    M controller/ofctrl.c
    M controller/ofctrl.h

  Log Message:
  -----------
  ofctrl: change ofctrl_dup_flow to module internal function

Acked-by: Mark Michelson <mmichels at redhat.com>
Signed-off-by: Han Zhou <hzhou at ovn.org>


  Commit: 9e6d7098da74761df03a67a23df9407c101845ac
      https://github.com/ovn-org/ovn/commit/9e6d7098da74761df03a67a23df9407c101845ac
  Author: Han Zhou <hzhou at ovn.org>
  Date:   2020-09-09 (Wed, 09 Sep 2020)

  Changed paths:
    M tests/ovn.at

  Log Message:
  -----------
  ovn.at: Fix AT for conjunction case.

1. Fix flows priorities in the comments.
2. Clean up hv1.

Acked-by: Mark Michelson <mmichels at redhat.com>
Signed-off-by: Han Zhou <hzhou at ovn.org>


  Commit: 28ed6c1f92f06676987a1046a01738b903ae616e
      https://github.com/ovn-org/ovn/commit/28ed6c1f92f06676987a1046a01738b903ae616e
  Author: Han Zhou <hzhou at ovn.org>
  Date:   2020-09-09 (Wed, 09 Sep 2020)

  Changed paths:
    M controller/lflow.c
    M controller/ofctrl.c
    M controller/ofctrl.h
    M tests/ovn.at

  Log Message:
  -----------
  ovn-controller: Fix conjunction handling with incremental processing.

When translating lflows to OVS flows, different lflows can refer to same OVS
flow as a result of calling ofctrl_add_or_append_flow(), particularly for
conjunction combinding. However, the implementation doesn't work with
incremental processing, because when any of the lflows are removed, we rely on
the lflow's uuid to remove the OVS flow in the desired flow table. Currently
only one single lflow uuid is maintained in the desired flow, so removing one
of the lflows that references to the same desired flow resulted in wrong
behavior: either removing flows that are used by other lflows, or the existing
flows are not updated (part of the conjunction actions should be removed from
the flow).

To solve the problem, this patch maintains the cross reference (M:N) between
lflows (and other sb objects) and desired flows, and handles the flow removal
and updates with a flood-removal and re-add approach.

Fixes: e659bab31a9 ("Combine conjunctions with identical matches into one flow.")
Cc: Mark Michelson <mmichels at redhat.com>
Acked-by: Mark Michelson <mmichels at redhat.com>
Signed-off-by: Han Zhou <hzhou at ovn.org>


Compare: https://github.com/ovn-org/ovn/compare/c9fbb4b27ea9...28ed6c1f92f0


More information about the git mailing list