[ovs-git] [ovn-org/ovn] 499655: ovn-controller: Always run the I-P OVS Interface c...

Dumitru Ceara noreply at github.com
Thu Dec 17 14:28:30 UTC 2020


  Branch: refs/heads/branch-20.12
  Home:   https://github.com/ovn-org/ovn
  Commit: 4996556206800479855cc9f14b5f67669195b882
      https://github.com/ovn-org/ovn/commit/4996556206800479855cc9f14b5f67669195b882
  Author: Dumitru Ceara <dceara at redhat.com>
  Date:   2020-12-17 (Thu, 17 Dec 2020)

  Changed paths:
    M controller/ovn-controller.c
    M tests/ovn.at

  Log Message:
  -----------
  ovn-controller: Always run the I-P OVS Interface change handler.

The incremental processing engine implementation is such that if an
input node gets updated but the output node doesn't have a change
handler for it then the output node is immediately recomputed.  That is,
no other input change handlers are executed.

In case of the en_physical_flow_changes node, if a ct-zone changes we
were also skipping the OVS interface change handler.  That is incorrect
as there is an implicit requirement that flows for OVS interfaces that
got deleted should be cleared before physical_run() is called.

Instead, we now add an explicit change handler for ct-zone changes.
This change handler never processes ct-zone updates incrementally but
ensures that the OVS interface change handler is also called.

Moreover, OVS interface changes (including deletes) are now processed
before physical_run() is called in the flow_output
physical_flow_changes_handler.  This is a requirement because otherwise
physical_run() will fail to add flows for new OVS interfaces that
correspond to unchanged Port_Bindings.

Reported-by: Daniel Alvarez <dalvarez at redhat.com>
Reported-at: https://bugzilla.redhat.com/1908391
Fixes: a3005f0dc777 ("ovn-controller: I-P for ct zone and OVS interface changes in flow output stage.")
Signed-off-by: Dumitru Ceara <dceara at redhat.com>
Reported-by: Krzysztof Klimonda <kklimonda at syntaxhighlighted.com>
Acked-by: Numan Siddique <numans at ovn.org>




More information about the git mailing list