[ovs-git] [ovn-org/ovn] d6716c: I-P engine: Provide the option for an engine to cl...
numansiddique
noreply at github.com
Fri Jun 19 12:57:43 UTC 2020
Branch: refs/heads/master
Home: https://github.com/ovn-org/ovn
Commit: d6716c753d2c0e4d892e2b89de74abd51d3a09e6
https://github.com/ovn-org/ovn/commit/d6716c753d2c0e4d892e2b89de74abd51d3a09e6
Author: Numan Siddique <numans at ovn.org>
Date: 2020-06-19 (Fri, 19 Jun 2020)
Changed paths:
M lib/inc-proc-eng.c
M lib/inc-proc-eng.h
Log Message:
-----------
I-P engine: Provide the option for an engine to clear tracked engine data in every run.
A new function is added in the engine node called - clear_tracked_data() to
clear any engine data which was tracked during the engine run. This tracked data
has to be part of the engine 'data'. engine_init_run() calls clear_tracked_data()
and each engine node interested in tracking the data needs to implement the
en_<ENGINE_NODE_NAME>clear_tracked_data() function.
With this patch, an engine node can store any changes done to the engine data
separately in the engine change handlers. The parent of this engine node
can use this tracked data for incrementally processing the changes. Upcoming
patches in the series will make use of this.
Acked-by: Dumitru Ceara <dceara at redhat.com>
Acked-by: Han Zhou <hzhou at ovn.org>
Signed-off-by: Numan Siddique <numans at ovn.org>
Commit: a3005f0dc777df03e3a386f181250ee6cf77987f
https://github.com/ovn-org/ovn/commit/a3005f0dc777df03e3a386f181250ee6cf77987f
Author: Numan Siddique <numans at ovn.org>
Date: 2020-06-19 (Fri, 19 Jun 2020)
Changed paths:
M controller/binding.c
M controller/binding.h
M controller/ovn-controller.c
M controller/physical.c
M controller/physical.h
Log Message:
-----------
ovn-controller: I-P for ct zone and OVS interface changes in flow output stage.
This patch handles ct zone changes and OVS interface changes incrementally
in the flow output stage.
Any changes to ct zone can be handled by running physical_run() instead of running
flow_output_run(). And any changes to OVS interfaces can be either handled
incrementally (for OVS interfaces representing VIFs) or just running
physical_run() (for tunnel and other types of interfaces).
To better handle this, a new engine node 'physical_flow_changes' is added which
handles changes to ct zone and OVS interfaces.
Acked-by: Han Zhou <hzhou at ovn.org>
Acked-by: Dumitru Ceara <dceara at redhat.com>
Signed-off-by: Numan Siddique <numans at ovn.org>
Commit: 6b0f01116babef0d80c109c7f48861b0d0303837
https://github.com/ovn-org/ovn/commit/6b0f01116babef0d80c109c7f48861b0d0303837
Author: Numan Siddique <numans at ovn.org>
Date: 2020-06-19 (Fri, 19 Jun 2020)
Changed paths:
M controller/binding.c
M controller/binding.h
M controller/ovn-controller.c
M tests/ovn-performance.at
Log Message:
-----------
ovn-controller: Handle runtime data changes in flow output engine
In order to handle runtime data changes incrementally, the flow outut
runtime data handle should know the changed runtime data.
Runtime data now tracks the changed data for any OVS interface
and SB port binding changes. The tracked data contains a hmap
of tracked datapaths (which changed during runtime data processing.
The flow outout runtime_data handler in this patch doesn't do much
with the tracked data. It returns false if there is tracked data available
so that flow_output run is called. If no tracked data is available
then there is no need for flow computation and the handler returns true.
Next patch in the series processes the tracked data incrementally.
Acked-by: Han Zhou <hzhou at ovn.org>
Acked-by: Dumitru Ceara <dceara at redhat.com>
Co-Authored-by: Venkata Anil <anilvenkata at redhat.com>
Signed-off-by: Venkata Anil <anilvenkata at redhat.com>
Signed-off-by: Numan Siddique <numans at ovn.org>
Commit: ade4e779d3fb5cfe601a0da2bf73a0ed90696c38
https://github.com/ovn-org/ovn/commit/ade4e779d3fb5cfe601a0da2bf73a0ed90696c38
Author: Venkata Anil <anilvenkata at redhat.com>
Date: 2020-06-19 (Fri, 19 Jun 2020)
Changed paths:
M controller/lflow.c
M controller/lflow.h
M controller/ovn-controller.c
M tests/ovn-performance.at
Log Message:
-----------
ovn-controller: Use the tracked runtime data changes for flow calculation.
This patch processes the logical flows of tracked datapaths
and tracked logical ports. To handle the tracked logical port
changes, reference of logical flows to port bindings is maintained.
Below are the results of some testing done with ovn-fake-multinode setup
comparing these incremental processing improvement patches and the
master.
Test setup
------
1. ovn-central fake node running OVN dbs and 2 compute nodes running
ovn-controller.
2. Before running the tests, used an existing OVN db with the below
resources
No of logical switches - 53
No of logical ports - 1256
No of logical routers - 9
No of logical router ports - 56
No of port groups - 152
No of logical flows - 45447
Port bindings on compute-1 - 19
Port bindings on compute-2 - 18
No of OF flows on compute-1 - 84996
No of OF flows on compute-2 - 84901
3. The test does the following
- Creates 2 logical switches (one for each compute node) and connect to a
logical router for each compute node.
- 100 logical ports are created (50 per lswitch), a simple ACL is added and the address
set is created for each port.
- Each port is bound on the respective compute node and the test
pings the IP of the port (from another port belonging to the same
lswitch created earlier).
Below are the results with OVN master
+--------------------------------------------------------------------------------------------------------------------------+
| Response Times (sec) |
+--------------------------------------------------+--------+--------+--------+--------+--------+--------+---------+-------+
| action | min | median | 90%ile | 95%ile | max | avg | success | count |
+--------------------------------------------------+--------+--------+--------+--------+--------+--------+---------+-------+
| ovn.create_or_update_network_policy | 1.02 | 1.266 | 1.522 | 1.552 | 2.053 | 1.284 | 100.0% | 100 |
| ovn.create_or_update_network_policy_address_sets | 0.222 | 0.276 | 0.289 | 0.294 | 0.318 | 0.272 | 100.0% | 100 |
| ovn.create_port_group_acls | 0.462 | 0.54 | 0.57 | 0.576 | 0.588 | 0.531 | 50.0% | 100 |
| ovn.create_or_update_name_space | 0.346 | 0.476 | 0.554 | 0.569 | 0.595 | 0.47 | 100.0% | 100 |
| ovn_network.bind_port | 1.235 | 1.349 | 1.404 | 1.425 | 1.45 | 1.351 | 100.0% | 100 |
| ovn.bind_ovs_vm | 0.394 | 0.458 | 0.494 | 0.501 | 0.536 | 0.458 | 100.0% | 100 |
| ovn.bind_internal_vm | 0.795 | 0.894 | 0.938 | 0.95 | 0.978 | 0.893 | 100.0% | 100 |
| ovn_network.wait_port_ping | 7.388 | 7.669 | 7.774 | 7.83 | 8.6 | 7.682 | 100.0% | 100 |
| total | 10.546 | 11.007 | 11.401 | 11.526 | 12.222 | 11.044 | 100.0% | 100 |
+--------------------------------------------------+--------+--------+--------+--------+--------+--------+---------+-------+
Load duration: 1106.4100859165192
Full duration: 1108.1457152366638
Below are the results with these I-P improvement patches
+-----------------------------------------------------------------------------------------------------------------------+
| Response Times (sec) |
+--------------------------------------------------+-------+--------+--------+--------+-------+-------+---------+-------+
| action | min | median | 90%ile | 95%ile | max | avg | success | count |
+--------------------------------------------------+-------+--------+--------+--------+-------+-------+---------+-------+
| ovn.create_or_update_network_policy | 0.97 | 1.229 | 1.451 | 1.46 | 1.944 | 1.24 | 100.0% | 100 |
| ovn.create_or_update_network_policy_address_sets | 0.224 | 0.267 | 0.28 | 0.282 | 0.291 | 0.266 | 100.0% | 100 |
| ovn.create_port_group_acls | 0.462 | 0.526 | 0.539 | 0.544 | 0.564 | 0.52 | 50.0% | 100 |
| ovn.create_or_update_name_space | 0.33 | 0.467 | 0.549 | 0.556 | 0.562 | 0.463 | 100.0% | 100 |
| ovn_network.bind_port | 1.231 | 1.313 | 1.386 | 1.4 | 1.446 | 1.317 | 100.0% | 100 |
| ovn.bind_ovs_vm | 0.392 | 0.436 | 0.464 | 0.475 | 0.502 | 0.438 | 100.0% | 100 |
| ovn.bind_internal_vm | 0.816 | 0.876 | 0.936 | 0.967 | 0.997 | 0.879 | 100.0% | 100 |
| ovn_network.wait_port_ping | 0.097 | 0.141 | 0.177 | 0.18 | 0.203 | 0.136 | 100.0% | 100 |
| total | 2.977 | 3.406 | 3.709 | 3.748 | 4.181 | 3.411 | 100.0% | 100 |
+--------------------------------------------------+-------+--------+--------+--------+-------+-------+---------+-------+
Load duration: 343.18983340263367
Full duration: 344.80813431739807
Acked-by: Han Zhou <hzhou at ovn.org>
Acked-by: Dumitru Ceara <dceara at redhat.com>
Co-Authored-by: Numan Siddique <numans at ovn.org>
Signed-off-by: Venkata Anil <anilvenkata at redhat.com>
Signed-off-by: Numan Siddique <numans at ovn.org>
Commit: fb0f2efadebcfe2ee0f5f9f6960ddaf5d06de0c7
https://github.com/ovn-org/ovn/commit/fb0f2efadebcfe2ee0f5f9f6960ddaf5d06de0c7
Author: Numan Siddique <numans at ovn.org>
Date: 2020-06-19 (Fri, 19 Jun 2020)
Changed paths:
M tests/ovn-performance.at
Log Message:
-----------
tests: Enhance ovn-performance testing by adding gw router port.
This covers the scenario of setting up/deleting of BFD tunnels
for HA.
Acked-by: Han Zhou <hzhou at ovn.org>
Acked-by: Dumitru Ceara <dceara at redhat.com>
Signed-off-by: Numan Siddique <numans at ovn.org>
Commit: 8396290ef748181531ab77f5c6475bcdb515fad1
https://github.com/ovn-org/ovn/commit/8396290ef748181531ab77f5c6475bcdb515fad1
Author: Numan Siddique <numans at ovn.org>
Date: 2020-06-19 (Fri, 19 Jun 2020)
Changed paths:
M controller/binding.c
M controller/lflow.c
M lib/ovn-util.h
Log Message:
-----------
Add an util function get_unique_lport_key() for generating unique lport key.
Suggested-by: Dumitru Ceara <dceara at redhat.com>
Acked-by: Han Zhou <hzhou at ovn.org>
Acked-by: Dumitru Ceara <dceara at redhat.com>
Signed-off-by: Numan Siddique <numans at ovn.org>
Commit: f1446577d6b4cdee4733b701c2b58b29575fe3c1
https://github.com/ovn-org/ovn/commit/f1446577d6b4cdee4733b701c2b58b29575fe3c1
Author: Numan Siddique <numans at ovn.org>
Date: 2020-06-19 (Fri, 19 Jun 2020)
Changed paths:
M controller/binding.c
Log Message:
-----------
binding.c: Reorder out params of some of the static functions.
Acked-by: Han Zhou <hzhou at ovn.org>
Acked-by: Dumitru Ceara <dceara at redhat.com>
Signed-off-by: Numan Siddique <numans at ovn.org>
Compare: https://github.com/ovn-org/ovn/compare/ae5e2798c04e...f1446577d6b4
More information about the git
mailing list