[ovs-dev] [PATCH ovn v4] northd: Allow delay of northd engine runs

2023-08-23 Thread Ales Musil
Add config option called "northd-backoff-interval-ms" that allows to delay northd engine runs capped by the config option. When the config option is set to 0 or unspecified, the engine will run without any restrictions. If the value >0 we will delay northd engine run by the previous run time

[ovs-dev] [PATCH ovn] northd: Fix order of calloc arguments.

2023-08-23 Thread Ilya Maximets
It doesn't affect the allocation size, but the number of elements should go before the size of these elements. Fixes: 74daa0607c7f ("ovn-northd: Introduce parallel lflow build") Signed-off-by: Ilya Maximets --- northd/northd.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git

[ovs-dev] [PATCH ovn] northd: Fix incorrect memory allocation for router group datapaths.

2023-08-23 Thread Ilya Maximets
We need to allocate memory for 'n_router_dps' pointers, but the current code allocates space for 'n_router_dps' datapaths, which is 762 byte structure. Having 5000 routers in the OpenStack setup, we allocate 762 * 5000 * 5000 ~= 17 GB of memory instead of 190 MB: 98.17% (19,962,746,247B) (heap

[ovs-dev] [PATCH ovn] northd: Fix recompute of referenced chassis in HA chassis groups.

2023-08-23 Thread Ilya Maximets
Current implementation of 'ref_chassis' recompute is horribly slow. For each port binding it finds LR group, then it adds a chassis of the current port binding to each HA chassis group of this LR group. The number of ports is much greater than number of chassis. And the number of distinct LR

[ovs-dev] [PATCH v2 7/7] system-dpdk: Disable some datapath tests.

2023-08-23 Thread David Marchand
As reported by Ales, net/tap has broken support for checksum offloading. Fixes have been sent to the DPDK side, but waiting for the fixes, simply disable all conntrack related tests and some IPv6 tunnel tests. Signed-off-by: David Marchand --- tests/system-dpdk-macros.at | 9 + 1 file

[ovs-dev] [PATCH v2 6/7] system-dpdk: Run traffic tests.

2023-08-23 Thread David Marchand
Integrate system-traffic.at tests as part of check-dpdk. DPDK net/tap specific logs are added to the log exclusions. Some tests that can't work with the userspace datapath are skipped by overriding some OVS_CHECK_* macros. ADD_VETH is implemented with a tap interface in the kernel, directly

[ovs-dev] [PATCH v2 5/7] system-dpdk: Refactor OVS daemons helpers.

2023-08-23 Thread David Marchand
Align system-dpdk existing helpers to other common OVS helpers so they can accept some optional arguments. Introduce a OVS_DPDK_STOP_VSWITCHD wrapper around OVS_VSWITCHD_STOP to catch dpdk related logs in a centralised fashion. Signed-off-by: David Marchand --- tests/system-dpdk-macros.at |

[ovs-dev] [PATCH v2 4/7] tests: Define a macro to skip tc/tcpdump relying tests.

2023-08-23 Thread David Marchand
Some unit tests expect that a OVS port has an associated netdevice on which they can hook tc or tcpdump. This will not be possible when testing the userspace datapath with DPDK. Introduce two helpers (which will be overriden in system-dpdk tests) and use them in the existing tests. Signed-off-by:

[ovs-dev] [PATCH v2 2/7] system-dpdk: Don't require hugetlbfs.

2023-08-23 Thread David Marchand
dpdk-testpmd does not need hugetlbfs backing as we don't require multiprocess support in OVS unit tests. Plus, there is no need for explicitly reserving more memory than what testpmd would actually need at runtime. Switch to --in-memory, use dynamic allocations and remove the then unneeded check

[ovs-dev] [PATCH v2 3/7] ci: Run DPDK tests in GitHub Actions.

2023-08-23 Thread David Marchand
Let's enhance our coverage in the CI and run DPDK system tests. A few DPDK drivers are enabled in DPDK compilation. Put DPDK build in $PATH for dpdk-testpmd to be available. sudo drops PATH= updates and -E alone does not seem to preserve this variable. Pass PATH=$PATH when running the tests, as

[ovs-dev] [PATCH v2 1/7] system-dpdk: Introduce helpers for testpmd.

2023-08-23 Thread David Marchand
Rather than copy/paste everywhere, introduce helpers to control testpmd runs. Rely on --stats-period (which outputs port stats every n seconds) so that testpmd keeps running without expecting any user input. Signed-off-by: David Marchand Acked-by: Aaron Conole --- Changes since v1: - fixed

[ovs-dev] [PATCH v2 3/3] python: Use build to generate PEP517 compatible archives.

2023-08-23 Thread Robin Jarry
Quoting Paul Ganssle, setuptools maintainer: * The setuptools project has stopped maintaining all direct invocations of setup.py years ago, and distutils is deprecated. There are undoubtedly many ways that your setup.py-based system is broken today, even if it's not failing loudly

[ovs-dev] [PATCH v2 2/3] python: Use twine to upload sdist package to pypi.org.

2023-08-23 Thread Robin Jarry
setup.py upload is now deprecated. When used, pypi.org returns an error: Upload failed (400): Invalid value for blake2_256_digest. Error: Use a valid, hex-encoded, BLAKE2 message digest. Use twine which is the recommended replacement tool to upload on pypi.org. Link:

[ovs-dev] [PATCH v2 0/3] Python ovsdb bindings distribution improvements

2023-08-23 Thread Robin Jarry
v2: * Keep code in the python dir but rename it so that it does not clash with `python -m build`. * Remove duplication in makefiles. Robin Jarry (3): python: Rename build related code to ovs_build_helpers. python: Use twine to upload sdist package to pypi.org. python: Use build to

[ovs-dev] [PATCH v2 1/3] python: Rename build related code to ovs_build_helpers.

2023-08-23 Thread Robin Jarry
The python/build folder contents are completely unrelated to the ovs python bindings. These files are only used during the build for various subsystems (docs, man pages, code generation, etc.). Having that folder in that location prevents from running: cd python && python3 -m build

Re: [ovs-dev] [PATCH 1/1] tests: Add clang-analyzer-results to gitignore.

2023-08-23 Thread Ilya Maximets
On 8/18/23 11:51, Nobuhiro MIKI wrote: > Fixes: 30b79363b967 ("Makefile.am: Add clang static analysis support") > Signed-off-by: Nobuhiro MIKI > --- > tests/.gitignore | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/tests/.gitignore b/tests/.gitignore > index 83b1cb3b489e..3a8c45975645

Re: [ovs-dev] [PATCH v3 2/2] docs: Run tbl preprocessor in manpage-check rule.

2023-08-23 Thread Ilya Maximets
On 8/21/23 15:53, Frode Nordahl wrote: > From: Colin Watson > > If we omit this, groff 1.23.0 warns: > > tbl preprocessor failed, or it or soelim was not run; table(s) likely > not rendered (TE macro called with TW register undefined) > > Reported-by: Lucas Nussbaum > Reported-at:

Re: [ovs-dev] [PATCH v3 1/2] docs: Add `nowarn` region option to tables.

2023-08-23 Thread Ilya Maximets
On 8/21/23 15:53, Frode Nordahl wrote: > Starting with groff 1.23.0 a warning is produced if the tbl > preprocessor is not run. A side effect of enabling it is that > new warnings on table formatting is printed. > > As requested during the review [0] of a series [1] attempting to > address this,

Re: [ovs-dev] [PATCH 0/4] Fix -std=c99 builds.

2023-08-23 Thread Ilya Maximets
On 8/22/23 15:34, Eelco Chaudron wrote: > > > On 22 Aug 2023, at 12:35, Ilya Maximets wrote: > >> It should generally be possible to build OVS with just C99. >> We do need some POSIX extensions, e.g. support for RW locks, >> but we should not require any GNU extensions or features >> from later

Re: [ovs-dev] [PATCH v2] conntrack: Remove nat_conn introducing key directionality.

2023-08-23 Thread 0-day Robot
Bleep bloop. Greetings Paolo Valerio, I am a robot and I have tried out your patch. Thanks for your contribution. I encountered some error that I wasn't expecting. See the details below. checkpatch: ERROR: Author hepeng needs to sign off. WARNING: Unexpected sign-offs from developers who

[ovs-dev] [PATCH v2] conntrack: Remove nat_conn introducing key directionality.

2023-08-23 Thread Paolo Valerio
From: hepeng The patch avoids the extra allocation for nat_conn. Currently, when doing NAT, the userspace conntrack will use an extra conn for the two directions in a flow. However, each conn has actually the two keys for both orig and rev directions. This patch introduces a key_node[CT_DIRS]

Re: [ovs-dev] [PATCH ovn 4/5] northd: Move port group processing to its own I-P node.

2023-08-23 Thread Han Zhou
On Thu, Aug 10, 2023 at 5:45 AM Dumitru Ceara wrote: > > For now it's still a node recompute for every port group change. It > doesn't trigger northd recompute anymore though. > > A follow up commit will add incremental processing of NB.Port_Group > changes. > > Signed-off-by: Dumitru Ceara >

Re: [ovs-dev] [PATCH ovn 3/5] northd: Move port group processing to its separate module.

2023-08-23 Thread Han Zhou
On Thu, Aug 10, 2023 at 5:45 AM Dumitru Ceara wrote: > > No functional differences in this commit, just abstract out the > processing a bit. > > Signed-off-by: Dumitru Ceara > --- > northd/automake.mk |2 > northd/en-port-group.c | 237 ++ >

Re: [ovs-dev] [PATCH ovn 2/5] northd: Merge port group related structures.

2023-08-23 Thread Han Zhou
On Mon, Aug 21, 2023 at 11:23 PM Ales Musil wrote: > > > > On Thu, Aug 10, 2023 at 2:44 PM Dumitru Ceara wrote: >> >> There's currently no need to store both 'ovn_ls_port_group' >> and 'ovn_port_group_ls' so just use the first type. >> >> Signed-off-by: Dumitru Ceara > > > Hi Dumitru, > > I