forked from ovn-org/ovn
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
northd: Incremental processing of VIF changes in 'northd' node.
This patch introduces a change handler for NB logical_switch within the 'northd' node. It specifically handles cases where logical switch ports in the tracked logical switches are changed (added/updated/deleted). Only regular logical switch ports - which are common for VMs/Pods - are addressed. For other scenarios, it reverts to recompute. This update avoids recompute in the northd node (especially the resource-intensive build_ports()) for NB changes of VIF add/update/delete. However, it does not eliminate the need for lflow recompute. Below are the performance test results simulating an ovn-k8s topology of 500 nodes x 50 lsp per node: Before: ovn-nbctl --wait=hv --print-wait-time lsp-del lsp_1_0001_01 ovn-northd completion: 955ms ovn-nbctl --wait=hv --print-wait-time lsp-add ls_1_0001 lsp_1_0001_01 -- lsp-set-addresses lsp_1_0001_01 "ff:f1:bb:00:01:01 1.0.1.101" -- lsp-set-port-security lsp_1_0001_01 "ff:f1:bb:00:01:01 1.0.1.101" ovn-northd completion: 919ms After: ovn-nbctl --wait=hv --print-wait-time lsp-del lsp_1_0001_01 ovn-northd completion: 776ms ovn-nbctl --wait=hv --print-wait-time lsp-add ls_1_0001 lsp_1_0001_01 -- lsp-set-addresses lsp_1_0001_01 "ff:f1:bb:00:01:01 1.0.1.101" -- lsp-set-port-security lsp_1_0001_01 "ff:f1:bb:00:01:01 1.0.1.101" ovn-northd completion: 773ms Both addition and deletion show ~20% reduction of ovn-northd completion time. Note: the test uses only 1 thread of ovn-northd for flow recompute. Using multithread should show a larger percentage of improvement. Signed-off-by: Han Zhou <hzhou@ovn.org> Reviewed-by: Ales Musil <amusil@redhat.com> Acked-by: Numan Siddique <numans@ovn.org>
- Loading branch information
Showing
8 changed files
with
685 additions
and
127 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.