[ovs-dev] [PATCH ovn v3] ovn-ctl: Add option to skip schema conversion

2024-01-11 Thread Martin Kalcok
ovn-ctl script currently automatically attempts to perform clustered database schema upgrade when starting OVN SB or NB clustered database. To provide more control over this process a `--db-cluster-schema-upgrade` option is added. Default value for this option is `yes`, to preserve current

Re: [ovs-dev] [PATCH v2 3/3] timeval: Add coverage counter for long poll interval events.

2024-01-11 Thread Eelco Chaudron
On 11 Jan 2024, at 0:34, Eelco Chaudron wrote: > On 10 Jan 2024, at 20:34, Ilya Maximets wrote: > >> On 1/10/24 12:25, Eelco Chaudron wrote: >>> Martin Kennelly observes that even though this data is available to >>> humans via the journal/log files, these aren't exactly easy for a >>>

Re: [ovs-dev] [PATCH v2 1/3] tests: Set handle_segv fpr UBSAN to allow SIGSEGV tests.

2024-01-11 Thread Eelco Chaudron
On 10 Jan 2024, at 20:00, Ilya Maximets wrote: > On 1/10/24 11:22, Eelco Chaudron wrote: >> Previously tests that were generating a SIGSEGV were excluded >> from UBSAN runs. With the correct environment variable, these >> tests can be run. This is working even with the clang version >>

Re: [ovs-dev] [PATCH ovn v3] ovn-ctl: Add option to skip schema conversion

2024-01-11 Thread 0-day Robot
Bleep bloop. Greetings Martin Kalcok, 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: WARNING: Line is 99 characters long (recommended limit is 79) #92 FILE:

Re: [ovs-dev] [PATCH v2 2/3] ci: Combine the ubsan and asan sanitizer runs.

2024-01-11 Thread Simon Horman
On Wed, Jan 10, 2024 at 11:22:23AM +0100, Eelco Chaudron wrote: > This patch combines the existing ubsan and asan GitHub actions > tests into one. > > Signed-off-by: Eelco Chaudron Acked-by: Simon Horman ___ dev mailing list d...@openvswitch.org

Re: [ovs-dev] [PATCH v2 1/3] tests: Set handle_segv fpr UBSAN to allow SIGSEGV tests.

2024-01-11 Thread Simon Horman
On Wed, Jan 10, 2024 at 11:22:22AM +0100, Eelco Chaudron wrote: > Previously tests that were generating a SIGSEGV were excluded > from UBSAN runs. With the correct environment variable, these > tests can be run. This is working even with the clang version > supplied by Ubuntu 20.04. > >

Re: [ovs-dev] [PATCH ovn v3] ovn-ctl: Add option to skip schema conversion

2024-01-11 Thread Frode Nordahl
On Thu, Jan 11, 2024 at 9:49 AM Martin Kalcok wrote: > > ovn-ctl script currently automatically attempts to perform clustered > database schema upgrade when starting OVN SB or NB clustered > database. To provide more control over this process a > `--db-cluster-schema-upgrade` option is added. > >

Re: [ovs-dev] [PATCH v2 3/3] ci: Add kernel and userspace ASAN/UBSAN tests.

2024-01-11 Thread Simon Horman
On Wed, Jan 10, 2024 at 11:22:24AM +0100, Eelco Chaudron wrote: > This patch adds ASAN and UBSAN GitHub action tests for both > the userspace and kernel datapaths. > > Signed-off-by: Eelco Chaudron Acked-by: Simon Horman ___ dev mailing list

Re: [ovs-dev] [PATCH v2 3/3] timeval: Add coverage counter for long poll interval events.

2024-01-11 Thread Ilya Maximets
On 1/11/24 09:16, Eelco Chaudron wrote: > > > On 11 Jan 2024, at 0:34, Eelco Chaudron wrote: > >> On 10 Jan 2024, at 20:34, Ilya Maximets wrote: >> >>> On 1/10/24 12:25, Eelco Chaudron wrote: Martin Kennelly observes that even though this data is available to humans via the

Re: [ovs-dev] [PATCH v2 2/3] ofproto-dpif-upcall: Add flow_limit coverage counters.

2024-01-11 Thread Simon Horman
On Wed, Jan 10, 2024 at 12:25:56PM +0100, Eelco Chaudron wrote: > Add new coverage counters that might help debugging flow_limit > related issues. > > Signed-off-by: Eelco Chaudron Acked-by: Simon Horman ___ dev mailing list d...@openvswitch.org

Re: [ovs-dev] [PATCH 2/6] lib: Introduce cooperative multitasking module.

2024-01-11 Thread Ilya Maximets
On 1/10/24 20:29, Frode Nordahl wrote: > One of the goals of Open vSwitch is to be as resource efficient as > possible. Core parts of the program has been implemented as > asynchronous state machines, and when absolutely necessary > additional threads are used. > > Introduce cooperative

[ovs-dev] [PATCH v2] util: Annotate function that will never return NULL.

2024-01-11 Thread Eelco Chaudron
The make clang-analyze target reports an 'Dereference of null pointer' and an 'Uninitialized argument value' issue due to it assumes some function can return NULL. This patch annotates these functions, so the static analyzer is aware of this. Signed-off-by: Eelco Chaudron --- v2: Accidentally

Re: [ovs-dev] [PATCH 1/6] timeval: Make timewarp available for internal callers.

2024-01-11 Thread Ilya Maximets
On 1/10/24 20:29, Frode Nordahl wrote: > At present the timeval timewarp functionality is tightly coupled > with the unixctl interface for external operation by test suite. > > It is however desirable to make use of the timewarp functionality > directly in unit tests. > > Split unixctl callback

Re: [ovs-dev] [PATCH v2 1/2] ovsdb: Preserve column diffs read from the storage.

2024-01-11 Thread Ilya Maximets
On 1/11/24 16:02, Dumitru Ceara wrote: > On 1/11/24 15:44, Ilya Maximets wrote: >> On 1/10/24 14:12, Dumitru Ceara wrote: >>> On 1/9/24 20:54, Ilya Maximets wrote: Database file contains the column diff, but it is discarded once the 'new' state of a row is constructed. Keep it in the

Re: [ovs-dev] [PATCH ovn v2] controller: release container lport when releasing parent port

2024-01-11 Thread Numan Siddique
On Mon, Nov 6, 2023 at 5:55 AM Mohammad Heib wrote: > > Currently if the user sets the container parent_port:requested-chassis > option after the VIF/CIF is bonded to the chassis, this will migrate > the VIF/CIF flows to the new chassis but will still have the > container flows installed in the

[ovs-dev] [PATCH ovn] actions: Make sure affinity learnt flows are auto deleted.

2024-01-11 Thread Dumitru Ceara
In order for that to happen the learnt flows' cookie must match with the cookie of the flow they were learnt on. Fixes: 216201a2b5d6 ("actions: introduce commit_lb_aff action") Reported-at: https://issues.redhat.com/browse/FDP-257 Signed-off-by: Dumitru Ceara --- lib/actions.c| 1 +

Re: [ovs-dev] [PATCH ovn v2] pinctrl: Directly retrieve desired port_binding MAC.

2024-01-11 Thread Mark Michelson
On 1/10/24 19:05, Han Zhou wrote: On Wed, Jan 10, 2024 at 11:26 AM Mark Michelson > wrote: > > A static analyzer determined that if pb->n_mac was 0, then the c_addrs > lport_addresses struct would never be initialized. We would then use > and attempt to free

Re: [ovs-dev] [PATCH ovn v3] ovn-ctl: Add option to skip schema conversion

2024-01-11 Thread Mark Michelson
Thank you Frode and Martin. I applied this change to main. On 1/11/24 05:34, Frode Nordahl wrote: On Thu, Jan 11, 2024 at 9:49 AM Martin Kalcok wrote: ovn-ctl script currently automatically attempts to perform clustered database schema upgrade when starting OVN SB or NB clustered database.

Re: [ovs-dev] [PATCH 3/6] ovsdb/raft: Register for cooperative multitasking.

2024-01-11 Thread Ilya Maximets
On 1/10/24 20:29, Frode Nordahl wrote: > The OVSDB server is mostly synchronous and single threaded. The > OVSDB RAFT storage engine operate under strict deadlines with > operational impact should the deadline be overrun. > > Register for cooperative multitasking so that long running >

Re: [ovs-dev] [PATCH 5/6] ovsdb-server: Do storage run at top of main loop.

2024-01-11 Thread Ilya Maximets
On 1/10/24 20:29, Frode Nordahl wrote: > During testing of the implementation of cooperative multitasking > in the ovsdb-server we noticed that the very first yield being > called in the jsonrpc-server always fired. > > This indicates that the operations being after/before storage run > is taking

Re: [ovs-dev] [PATCH 6/6] ovsdb-server: Make use of cooperative multitasking.

2024-01-11 Thread Ilya Maximets
On 1/10/24 20:29, Frode Nordahl wrote: > Initialize the cooperative multitasking module for the > ovsdb-server. > > The server side schema conversion process used for storage > engines such as RAFT is time consuming, yield during > processing. > > After the schema conversion is done, the

Re: [ovs-dev] [PATCH 1/6] timeval: Make timewarp available for internal callers.

2024-01-11 Thread Frode Nordahl
On Thu, Jan 11, 2024 at 10:49 PM Ilya Maximets wrote: > > On 1/10/24 20:29, Frode Nordahl wrote: > > At present the timeval timewarp functionality is tightly coupled > > with the unixctl interface for external operation by test suite. > > > > It is however desirable to make use of the timewarp

Re: [ovs-dev] [PATCH ovn] actions: Make sure affinity learnt flows are auto deleted.

2024-01-11 Thread Numan Siddique
On Thu, Jan 11, 2024, 5:22 PM Dumitru Ceara wrote: > In order for that to happen the learnt flows' cookie must match with the > cookie of the flow they were learnt on. > > Fixes: 216201a2b5d6 ("actions: introduce commit_lb_aff action") > Reported-at: https://issues.redhat.com/browse/FDP-257 >

Re: [ovs-dev] [PATCH 4/6] json: Add yielding json object create/destroy functions.

2024-01-11 Thread Ilya Maximets
On 1/10/24 20:29, Frode Nordahl wrote: > Creating and destroying JSON objects may be time consuming. > > Add yielding counterparts of json_serialized_object_create() and > json_destroy__() functions that make use of the cooperative > multitasking module to yield during processing, allowing time >

Re: [ovs-dev] [PATCH v2] python: idl: Handle monitor_canceled

2024-01-11 Thread Simon Horman
On Wed, Jan 10, 2024 at 05:49:58PM +, Simon Horman wrote: > On Wed, Jan 10, 2024 at 06:38:48PM +0100, Ilya Maximets wrote: > > On 1/10/24 18:18, Simon Horman wrote: > > > On Wed, Jan 10, 2024 at 12:28:22PM +0100, Dumitru Ceara wrote: ... > > >> TBH I'd just apply both this patch and the test

Re: [ovs-dev] [PATCH] ovsdb-idl.at: Test IDL behavior during database conversion.

2024-01-11 Thread Simon Horman
On Mon, Jan 08, 2024 at 03:52:23PM +0100, Ilya Maximets wrote: > Add new 'monitor' command to test-ovsdb utilities to make them just > run IDL loop infinitely. Other commands can still be placed before > the 'monitor', e.g. setting up conditions, tracking, running a few > transactions. > >

[ovs-dev] [PATCH ovn 2/2] add tests for ssl ciphers

2024-01-11 Thread amginwal
From: Aliasgar Ginwala Signed-off-by: Aliasgar Ginwala --- tests/ovn-controller.at | 26 ++ tests/ovn.at| 182 2 files changed, 208 insertions(+) diff --git a/tests/ovn-controller.at b/tests/ovn-controller.at index 9d2a37c72..df5662527

[ovs-dev] [PATCH ovn 1/2] fix segfault due to ssl-ciphers

2024-01-11 Thread amginwal
From: Aliasgar Ginwala To avoid invalidating existing certs setup by old version of ovs pki. openssl supports setting ciphers but it fails with ovn as below ovn-controller --ssl-ciphers='HIGH:!aNULL:!MD5:@SECLEVEL=1' Aborted (core dumped) Avoid invalidating existing certs when bumping to new

[ovs-dev] [PATCH] ovn fix segfault due to ssl-ciphers

2024-01-11 Thread amginwal
From: Aliasgar Ginwala Fixes: ovn-controller --ssl-ciphers='xxx' Aborted (core dumped) Avoid invalidating existing certs when bumping to new ovn version SSL_connect: error:1416F086:SSL routines:tls_process_server_certificate:certificate verify failed while connecting to control plane.

Re: [ovs-dev] [PATCH] dpdk: Update to use v23.11.

2024-01-11 Thread Ilya Maximets
On 1/10/24 19:35, Kevin Traynor wrote: > +cc some others people who may be interested about OVS upgrading DPDK > version. > > On 10/01/2024 16:52, Ilya Maximets wrote: >> On 12/13/23 14:06, David Marchand wrote: >>> This commit adds support for DPDK v23.11. >>> It updates the CI script and

Re: [ovs-dev] [PATCH ovn v5 03/16] northd: Move router ports SB PB options sync to sync_to_sb_pb node.

2024-01-11 Thread 0-day Robot
Bleep bloop. Greetings Numan Siddique, 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: WARNING: Comment with 'xxx' marker #178 FILE: northd/northd.c:4881: /* XXX Why

Re: [ovs-dev] [PATCH ovn v5 05/16] northd: Add a new engine 'lr_stateful' to manage lr's stateful data.

2024-01-11 Thread 0-day Robot
Bleep bloop. Greetings Numan Siddique, 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: Inappropriate bracing around statement #100 FILE: northd/en-lr-nat.h:90:

Re: [ovs-dev] [PATCH ovn v5 07/16] northd: Add a new node 'ls_stateful'.

2024-01-11 Thread 0-day Robot
Bleep bloop. Greetings Numan Siddique, 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: Inappropriate bracing around statement #644 FILE: northd/en-ls-stateful.h:49:

Re: [ovs-dev] [PATCH ovn v5 08/16] northd: Refactor lflow management into a separate module.

2024-01-11 Thread 0-day Robot
Bleep bloop. Greetings Numan Siddique, 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: WARNING: Line has non-spaces leading whitespace WARNING: Line has trailing whitespace #4753

Re: [ovs-dev] [PATCH v2 1/2] ovsdb: Preserve column diffs read from the storage.

2024-01-11 Thread Ilya Maximets
On 1/10/24 14:12, Dumitru Ceara wrote: > On 1/9/24 20:54, Ilya Maximets wrote: >> Database file contains the column diff, but it is discarded once >> the 'new' state of a row is constructed. Keep it in the transaction >> row, as it can be used later by other parts of the code. >> >> Diffs do not

[ovs-dev] [PATCH ovn v5 04/16] northd: Add a new engine 'lr_nat' to manage lr NAT data.

2024-01-11 Thread numans
From: Numan Siddique This new engine now maintains the NAT related data for each logical router which was earlier maintained by the northd engine node in the 'struct ovn_datapath'. The input to this engine node is 'northd'. A record for each logical router (lr_nat_record) is maintained in the

[ovs-dev] [PATCH ovn v5 05/16] northd: Add a new engine 'lr_stateful' to manage lr's stateful data.

2024-01-11 Thread numans
From: Numan Siddique This new engine now maintains the load balancer and NAT data of a logical router which was earlier part of northd engine node data. The main inputs to this engine are: - northd node - lr_nat node - lb_data node A record for each logical router is maintained in the

[ovs-dev] [PATCH ovn v5 03/16] northd: Move router ports SB PB options sync to sync_to_sb_pb node.

2024-01-11 Thread numans
From: Numan Siddique It also moves the logical router port IPv6 prefix delegation updates to "sync-from-sb" engine node. With these changes, northd engine node doesn't need to do much for SB Port binding changes other than updating 'op->sb'. And there is no need to fall back to recompute.

[ovs-dev] [PATCH ovn v5 02/16] tests: Add a couple of tests in ovn-northd for I-P.

2024-01-11 Thread numans
From: Numan Siddique These tests cover scenarios for load balancers and NATs and check for the 'northd' and 'lflow' engine node recompute and compute stats. Signed-off-by: Numan Siddique --- tests/ovn-macros.at | 44 tests/ovn-northd.at | 238

[ovs-dev] [PATCH ovn v5 11/16] northd: Handle lb changes in lflow engine.

2024-01-11 Thread numans
From: Numan Siddique Since northd tracked data has the changed lb data, northd engine handler for lflow engine now handles the lb changes incrementally. All the lflows generated for each lb is stored in the ovn_lb_datapaths->lflow_ref and this is used similar to how we handle ovn_port changes.

[ovs-dev] [PATCH ovn v5 10/16] northd: Move ovn_lb_datapaths from lib to northd module.

2024-01-11 Thread numans
From: Numan Siddique Signed-off-by: Numan Siddique --- lib/lb.c| 96 --- lib/lb.h| 57 --- northd/automake.mk | 4 +- northd/en-lr-stateful.c | 1 + northd/lb.c | 121

[ovs-dev] [PATCH ovn v5 16/16] northd: Add I-P for NB_Global and SB_Global.

2024-01-11 Thread numans
From: Numan Siddique A new engine node "global_config" is added which handles the changes to NB_Global an SB_Global tables. It also creates these rows if not present. Without the I-P, any changes to the options column of these tables result in recompute of 'northd' and 'lflow' engine nodes.

[ovs-dev] [PATCH ovn v5 15/16] northd: Add northd change handler for sync_to_sb_lb node.

2024-01-11 Thread numans
From: Numan Siddique Any changes to northd engine node due to load balancers are now handled in 'sync_to_sb_lb' node to sync the changed load balancers to SB load balancers. The logic to sync the SB load balancers is changed a bit and it now mimics the SB lflow sync. Below are the scale

[ovs-dev] [PATCH] util: Annotate function that will never return NULL.

2024-01-11 Thread Eelco Chaudron
The make clang-analyze target reports an 'Dereference of null pointer' and an 'Uninitialized argument value' issue due to it assumes some function can return NULL. This patch annotates these functions, so the static analyzer is aware of this. Signed-off-by: Eelco Chaudron ---

Re: [ovs-dev] [PATCH v2 1/2] ovsdb: Preserve column diffs read from the storage.

2024-01-11 Thread Dumitru Ceara
On 1/11/24 15:44, Ilya Maximets wrote: > On 1/10/24 14:12, Dumitru Ceara wrote: >> On 1/9/24 20:54, Ilya Maximets wrote: >>> Database file contains the column diff, but it is discarded once >>> the 'new' state of a row is constructed. Keep it in the transaction >>> row, as it can be used later by

[ovs-dev] [PATCH ovn v5 01/16] northd: Refactor the northd change tracking.

2024-01-11 Thread numans
From: Numan Siddique northd engine tracking data now has the following tracking data - changed ovn_ports (right now only changed logical switch ports are tracked.) - changed load balancers. This separation becomes easier to add lflow handling for these changes in lflow northd engine

[ovs-dev] [PATCH ovn v5 00/16] northd lflow incremental processing

2024-01-11 Thread numans
From: Numan Siddique This patch series adds incremental processing in the lflow engine node to handle changes to northd and other engine nodes. Changed related to load balancers and NAT are mainly handled in this patch series. This patch series can also be found here -

[ovs-dev] [PATCH ovn v5 06/16] northd: Generate router's stateful flows using lr_stateful data.

2024-01-11 Thread numans
From: Numan Siddique Previous commits added new engine nodes to store logical router's stateful (LB and NAT data). Make use of the data stored by these engine nodes to generate logical flows related to router's LBs and NATs. Signed-off-by: Numan Siddique --- northd/en-lflow.c| 3 -

[ovs-dev] [PATCH ovn v5 07/16] northd: Add a new node 'ls_stateful'.

2024-01-11 Thread numans
From: Numan Siddique This new engine now maintains the load balancer and ACL data of a logical switch which was earlier part of northd engine node data. The main inputs to this engine are: - northd node - Port group node A record for each logical switch is maintained in the

[ovs-dev] [PATCH ovn v5 12/16] northd: Add lr_stateful handler for lflow engine node.

2024-01-11 Thread numans
From: Numan Siddique Signed-off-by: Numan Siddique --- northd/en-lflow.c| 27 +++ northd/en-lflow.h| 1 + northd/en-lr-stateful.c | 33 +++- northd/en-lr-stateful.h | 28 ++- northd/inc-proc-northd.c | 2 +- northd/northd.c | 358

[ovs-dev] [PATCH ovn v5 13/16] northd: Add ls_stateful handler for lflow engine node.

2024-01-11 Thread numans
From: Numan Siddique Signed-off-by: Numan Siddique --- northd/en-lflow.c| 26 + northd/en-lflow.h| 1 + northd/en-ls-stateful.c | 9 +++-- northd/en-ls-stateful.h | 23 northd/inc-proc-northd.c | 2 +- northd/lflow-mgr.c | 2 +-

[ovs-dev] [PATCH ovn v5 14/16] northd: Add a noop handler for northd SB mac binding.

2024-01-11 Thread numans
From: Numan Siddique northd engine node uses the sb mac binding table to cleanup mac binding entries for deleted logical ports and datapaths. Any update to SB mac binding doesn't change the northd engine node state or data. Hence it is ok to add a noop_handler. Presently, mac_binding_aging