]> git.proxmox.com Git - ovs.git/commit
ovn-controller: Initial use of incremental engine - quiet mode.
authorHan Zhou <hzhou8@ebay.com>
Fri, 17 May 2019 19:56:28 +0000 (12:56 -0700)
committerBen Pfaff <blp@ovn.org>
Fri, 24 May 2019 18:37:29 +0000 (11:37 -0700)
commit0bd4d85c36efe7bee16569821f9f15b8570f5b3c
treed13a5ceee74ad932c6b3fa375592469c93b5e6ca
parent6b179607c8ce4dcfb56e36a0738f791d2933253b
ovn-controller: Initial use of incremental engine - quiet mode.

Incremental proccessing engine is used to compute flows. In this
patch we create below engine nodes:
    - Engine nodes for each OVSDB table in local OVS DB and SB DB.
    - runtime_data: compute and maintain intermediate result such
                    as local_datapath, etc.
    - mff_ovn_geneve: MFF_* field ID for our Geneve option, which
                      is provided by switch.
    - flow_output: compute and maintain computed flow table.

In this patch the ovn flow table is persistent across main loop
iterations, and a new index of SB uuid is maintained for the
desired flow table, which will be useful for next patches for
incremental processing.

This patch doesn't do any incremental processing yet, but it achieves
the "quiet mode": the flow computation won't be triggered by unrelated
events, such as pinctrl/ofctrl messages. The flow computation
(full compute) happens only when any of its related inputs are
changed.

Signed-off-by: Han Zhou <hzhou8@ebay.com>
Signed-off-by: Ben Pfaff <blp@ovn.org>
12 files changed:
include/ovn/actions.h
ovn/controller/binding.c
ovn/controller/lflow.c
ovn/controller/lflow.h
ovn/controller/ofctrl.c
ovn/controller/ofctrl.h
ovn/controller/ovn-controller.c
ovn/controller/physical.c
ovn/controller/physical.h
ovn/lib/actions.c
ovn/lib/extend-table.c
ovn/lib/extend-table.h