[ovs-git] [ovn-org/ovn] 7687d8: ofctrl: Send all flow modifications in a bundle.

Ilya Maximets noreply at github.com
Mon Apr 19 14:38:23 UTC 2021


  Branch: refs/heads/master
  Home:   https://github.com/ovn-org/ovn
  Commit: 7687d878f1e30c98d52b37bade42293f2a1e9bd3
      https://github.com/ovn-org/ovn/commit/7687d878f1e30c98d52b37bade42293f2a1e9bd3
  Author: Ilya Maximets <i.maximets at ovn.org>
  Date:   2021-04-19 (Mon, 19 Apr 2021)

  Changed paths:
    M TODO.rst
    M controller/ofctrl.c

  Log Message:
  -----------
  ofctrl: Send all flow modifications in a bundle.

If some OF rules needs to be replaced due to logical flow changes,
ovn-controller deletes old rules first and adds new ones later.
In a complex scenario with big number of flows a lot of time
can pass between these events leading to the dataplane downtime
and packet loss.  Also, while these changes are in progress,
OVS will use incomplete pipelines that will also lead to packet
drops.

To avoid this, all flow modifications should be done atomically,
so there will be always some version of OF rules installed that
can handle dataplane traffic and it will be complete in terms of
reflecting some consistent set of logical flows.  Wrapping all
flow modifications into atomic ordered bundle to achieve that.

Reported-by: Dumitru Ceara <dceara at redhat.com>
Reported-at: https://bugzilla.redhat.com/1947398
Acked-by: Dumitru Ceara <dceara at redhat.com>
Signed-off-by: Ilya Maximets <i.maximets at ovn.org>
Acked-by: Han Zhou <hzhou at ovn.org>
Signed-off-by: Numan Siddique <numans at ovn.org>




More information about the git mailing list