Re: [ovs-dev] [PATCH] system-tests: Test openflow matching for ct related packets with SNAT.

2024-01-04 Thread Brad Cowie
On Fri, 5 Jan 2024 at 03:03, Ilya Maximets wrote: > On 1/4/24 11:57, Simon Horman wrote: >> One question from my side is, given that this is currently broken in many >> kernels in use today, how we should integrate this. For one thing, >> applying this patch causes the CI to fail. >> >>

[ovs-dev] [PATCH v2] system-tests: Test openflow matching for ct related packets with SNAT.

2024-01-04 Thread Brad Cowie
Linux kernel commit ebddb1404900 ("net: move the nat function to nf_nat_ovs for ovs and tc") introduced a regression into the kernel datapath which prevented the openvswitch match key from being updated when nat was undone for packets in the related conntrack state. This issue caused these packets

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

2024-01-04 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 v4 05/16] northd: Add a new engine 'lr_stateful' to manage lr's stateful data.

2024-01-04 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 v4 03/16] northd: Move router ports SB PB options sync to sync_to_sb_pb node.

2024-01-04 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:4872: /* XXX Why

Re: [ovs-dev] [PATCH] ovsdb-idl: Reparse reference src before dst is deleted

2024-01-04 Thread Tao Liu
On 1/4/24 7:56 PM, Ilya Maximets wrote: On 7/4/23 12:41, Tao Liu wrote: Hi, Ilya. Thanks for your comment. On 7/4/23 4:10 AM, Ilya Maximets wrote: On 7/2/23 11:59, Tao Liu wrote: Commit 02f31a1262fc has fixed the row references when insertion and deletion execute in one IDL run. However,

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

2024-01-04 Thread Numan Siddique
On Wed, Dec 13, 2023 at 8:54 AM Dumitru Ceara wrote: > > On 11/28/23 03:37, num...@ovn.org wrote: > > From: Numan Siddique > > > > Signed-off-by: Numan Siddique > > --- > > northd/en-lflow.c| 29 +++ > > northd/en-lflow.h| 1 + > > northd/en-lr-stateful.c | 39 - > >

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

2024-01-04 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

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

2024-01-04 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 v4 15/16] northd: Add northd change handler for sync_to_sb_lb node.

2024-01-04 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 ovn v4 12/16] northd: Add lr_stateful handler for lflow engine node.

2024-01-04 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 | 350

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

2024-01-04 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 v4 11/16] northd: Handle lb changes in lflow engine.

2024-01-04 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 v4 10/16] northd: Move ovn_lb_datapaths from lib to northd module.

2024-01-04 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 v4 07/16] northd: Add a new node 'ls_stateful'.

2024-01-04 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 v4 05/16] northd: Add a new engine 'lr_stateful' to manage lr's stateful data.

2024-01-04 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 v4 06/16] northd: Generate router's stateful flows using lr_stateful data.

2024-01-04 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 v4 04/16] northd: Add a new engine 'lr_nat' to manage lr NAT data.

2024-01-04 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 v4 03/16] northd: Move router ports SB PB options sync to sync_to_sb_pb node.

2024-01-04 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 v4 02/16] tests: Add a couple of tests in ovn-northd for I-P.

2024-01-04 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 | 239

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

2024-01-04 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 v4 00/16] northd lflow incremental processing

2024-01-04 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 -

Re: [ovs-dev] [PATCH v2 ovn] test: add dedicated test for garp-max-timeout

2024-01-04 Thread Mark Michelson
Hi Lorenzo, I have some comments below On 12/22/23 10:47, Lorenzo Bianconi wrote: Introduce a dedicated test for garp-max-timeout knob Signed-off-by: Lorenzo Bianconi --- tests/ovn.at | 69 1 file changed, 69 insertions(+) diff --git

Re: [ovs-dev] [PATCH ovn] treewide: Cleanup free() calls.

2024-01-04 Thread Mark Michelson
Thanks Ales and Dumitru. I applied this patch to main only, since it's not really fixing any problems. If you think this should be backported, let me know and I can apply it to older branches. Mark Michelson On 1/4/24 12:17, Ales Musil wrote: On Thu, Jan 4, 2024 at 3:29 PM Dumitru Ceara

Re: [ovs-dev] [PATCH ovn v2] treewide: Fix small memory leaks reported by static analysis

2024-01-04 Thread Mark Michelson
Thanks, Ales. Acked-by: Mark Michelson On 1/4/24 07:54, Ales Musil wrote: Fix a couple of small memory leaks that were reported by coverity static analysis on ovn rpm package. Signed-off-by: Ales Musil --- v2: Rebase on top of current main. Address comment from Dumitru: - Update

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

2024-01-04 Thread Ilya Maximets
On 1/3/24 15:40, Eelco Chaudron wrote: > > > On 2 Jan 2024, at 23:10, Ilya Maximets wrote: > >> On 12/21/23 09:20, Eelco Chaudron wrote: >>> Add new coverage counters that might help debugging flow >>> dump length related issues. >>> >>> Signed-off-by: Eelco Chaudron >>> --- >>>

Re: [ovs-dev] [PATCH ovn] treewide: Cleanup free() calls.

2024-01-04 Thread Ales Musil
On Thu, Jan 4, 2024 at 3:29 PM Dumitru Ceara wrote: > It's perfectly fine to call free(NULL). Take advantage of that to > simplify the code. Use the safer CONST_CAST way of "unconsting" > pointers we pass to free while we're at it. > > Signed-off-by: Dumitru Ceara > --- >

Re: [ovs-dev] [PATCH] system-tests: Test openflow matching for ct related packets with SNAT.

2024-01-04 Thread Aaron Conole
Ilya Maximets writes: > On 1/4/24 15:03, Ilya Maximets wrote: >> On 1/4/24 11:57, Simon Horman wrote: >>> On Thu, Jan 04, 2024 at 04:27:49PM +1300, Brad Cowie wrote: Linux kernel commit ebddb1404900 ("net: move the nat function to nf_nat_ovs for ovs and tc") introduced a regression

Re: [ovs-dev] [PATCH v2 1/2] ovsdb-idl: Preserve change_seqno when deleting rows.

2024-01-04 Thread Simon Horman
On Thu, Jan 04, 2024 at 01:39:34PM +0100, Dumitru Ceara wrote: > On 1/4/24 12:53, Ilya Maximets wrote: > > On 1/4/24 12:34, Simon Horman wrote: > >> On Tue, Dec 19, 2023 at 02:26:36PM +0100, Dumitru Ceara wrote: > >>> On 12/12/23 18:43, Mike Pattrick wrote: > In the case of a weak reference,

[ovs-dev] [PATCH ovn] treewide: Cleanup free() calls.

2024-01-04 Thread Dumitru Ceara
It's perfectly fine to call free(NULL). Take advantage of that to simplify the code. Use the safer CONST_CAST way of "unconsting" pointers we pass to free while we're at it. Signed-off-by: Dumitru Ceara --- controller/ovn-controller.c | 12 +++- controller/pinctrl.c| 5 +

Re: [ovs-dev] [PATCH] vconn: Count vconn_sent regardless of log level.

2024-01-04 Thread Ilya Maximets
On 1/4/24 14:53, Cheng Li wrote: > vconn_sent counter is supposed to increase each time send() is > called, no matter if the vconn log debug is on or off. Good catch! But I think the intention was fr it to be increased each time we successfully sent something, not when the function was called.

Re: [ovs-dev] [PATCH] system-tests: Test openflow matching for ct related packets with SNAT.

2024-01-04 Thread Ilya Maximets
On 1/4/24 15:03, Ilya Maximets wrote: > On 1/4/24 11:57, Simon Horman wrote: >> On Thu, Jan 04, 2024 at 04:27:49PM +1300, Brad Cowie wrote: >>> Linux kernel commit ebddb1404900 ("net: move the nat function to >>> nf_nat_ovs for ovs and tc") introduced a regression into the kernel >>> datapath

Re: [ovs-dev] [PATCH v6 1/2] mcast-snooping: Store IGMP/MLD protocol version.

2024-01-04 Thread Mohammad Heib
Hi Simon, Thank you for the review :) On Thu, Jan 4, 2024 at 1:27 PM Simon Horman wrote: > On Wed, Dec 27, 2023 at 01:15:22PM +0200, Mohammad Heib wrote: > > Store igmp/mld protocol version into the > > mcast_group internally, the multicast snooping feature > > is used by many OVS consumers and

[ovs-dev] [PATCH] vconn: Count vconn_sent regardless of log level.

2024-01-04 Thread Cheng Li
vconn_sent counter is supposed to increase each time send() is called, no matter if the vconn log debug is on or off. Signed-off-by: Cheng Li --- lib/vconn.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/vconn.c b/lib/vconn.c index b556762..2513b03 100644 ---

Re: [ovs-dev] [PATCH] system-tests: Test openflow matching for ct related packets with SNAT.

2024-01-04 Thread Ilya Maximets
On 1/4/24 11:57, Simon Horman wrote: > On Thu, Jan 04, 2024 at 04:27:49PM +1300, Brad Cowie wrote: >> Linux kernel commit ebddb1404900 ("net: move the nat function to >> nf_nat_ovs for ovs and tc") introduced a regression into the kernel >> datapath which prevented the openvswitch match key from

Re: [ovs-dev] [PATCH v3 1/1] netdev-offload-dpdk: Fix GRE without a key match.

2024-01-04 Thread Ilya Maximets
On 12/28/23 15:54, Salem Sol wrote: > > >> -Original Message- >> From: Ilya Maximets >> Sent: Friday, 17 November 2023 0:04 >> To: Salem Sol ; d...@openvswitch.org >> Cc: Eli Britstein ; i.maxim...@ovn.org; Simon Horman >> >> Subject: Re: [ovs-dev] [PATCH v3 1/1] netdev-offload-dpdk:

[ovs-dev] [PATCH ovn v2] treewide: Fix small memory leaks reported by static analysis

2024-01-04 Thread Ales Musil
Fix a couple of small memory leaks that were reported by coverity static analysis on ovn rpm package. Signed-off-by: Ales Musil --- v2: Rebase on top of current main. Address comment from Dumitru: - Update the pinctrl_handle_empty_lb_backends_opts() to have only single point of

Re: [ovs-dev] [PATCH v2 1/2] ovsdb-idl: Preserve change_seqno when deleting rows.

2024-01-04 Thread Dumitru Ceara
On 1/4/24 12:53, Ilya Maximets wrote: > On 1/4/24 12:34, Simon Horman wrote: >> On Tue, Dec 19, 2023 at 02:26:36PM +0100, Dumitru Ceara wrote: >>> On 12/12/23 18:43, Mike Pattrick wrote: In the case of a weak reference, clearing all change_seqno's can delete useful information. Instead

Re: [ovs-dev] [PATCH] ovsdb-idl: Reparse reference src before dst is deleted

2024-01-04 Thread Ilya Maximets
On 7/4/23 12:41, Tao Liu wrote: > Hi, Ilya. Thanks for your comment. > > On 7/4/23 4:10 AM, Ilya Maximets wrote: >> On 7/2/23 11:59, Tao Liu wrote: >>> Commit 02f31a1262fc has fixed the row references when insertion and >>> deletion execute in one IDL run. However, we can still hit ovn-controller

Re: [ovs-dev] [PATCH v2 1/2] ovsdb-idl: Preserve change_seqno when deleting rows.

2024-01-04 Thread Ilya Maximets
On 1/4/24 12:34, Simon Horman wrote: > On Tue, Dec 19, 2023 at 02:26:36PM +0100, Dumitru Ceara wrote: >> On 12/12/23 18:43, Mike Pattrick wrote: >>> In the case of a weak reference, clearing all change_seqno's can delete >>> useful information. Instead of clearing all seqno's when removing >>>

Re: [ovs-dev] [PATCH ovn] treewide: Fix small memory leaks reported by static analysis

2024-01-04 Thread Ales Musil
On Thu, Jan 4, 2024 at 12:34 PM Dumitru Ceara wrote: > On 1/3/24 13:32, Ales Musil wrote: > > Fix a couple of small memory leaks that were reported by coverity > > static analysis on ovn rpm package. > > > > Signed-off-by: Ales Musil > > --- > > Thanks for the fixes, Ales! A few comments

Re: [ovs-dev] [PATCH v2 1/2] ovsdb-idl: Preserve change_seqno when deleting rows.

2024-01-04 Thread Simon Horman
On Tue, Dec 19, 2023 at 02:26:36PM +0100, Dumitru Ceara wrote: > On 12/12/23 18:43, Mike Pattrick wrote: > > In the case of a weak reference, clearing all change_seqno's can delete > > useful information. Instead of clearing all seqno's when removing > > track_node, only clear those values in

Re: [ovs-dev] [PATCH ovn] treewide: Fix small memory leaks reported by static analysis

2024-01-04 Thread Dumitru Ceara
On 1/3/24 13:32, Ales Musil wrote: > Fix a couple of small memory leaks that were reported by coverity > static analysis on ovn rpm package. > > Signed-off-by: Ales Musil > --- Thanks for the fixes, Ales! A few comments below. > controller-vtep/ovn-controller-vtep.c | 2 ++ >

Re: [ovs-dev] [PATCH v6 1/2] mcast-snooping: Store IGMP/MLD protocol version.

2024-01-04 Thread Simon Horman
On Wed, Dec 27, 2023 at 01:15:22PM +0200, Mohammad Heib wrote: > Store igmp/mld protocol version into the > mcast_group internally, the multicast snooping feature > is used by many OVS consumers and those consumers heavily rely > on the OVS implementation to manage/deal with mcast groups, > some

Re: [ovs-dev] [PATCH] system-tests: Test openflow matching for ct related packets with SNAT.

2024-01-04 Thread Simon Horman
On Thu, Jan 04, 2024 at 04:27:49PM +1300, Brad Cowie wrote: > Linux kernel commit ebddb1404900 ("net: move the nat function to > nf_nat_ovs for ovs and tc") introduced a regression into the kernel > datapath which prevented the openvswitch match key from being updated > when nat was undone for

Re: [ovs-dev] [PATCH ovn v3] controller: fixed potential segfault when changing tunnel_key and deleting ls

2024-01-04 Thread Dumitru Ceara
On 12/8/23 13:44, Xavier Simonart wrote: > When a tunnel_key for a datapath was changed, the local_datapaths hmap was > not properly updated > as the old/initial entry was not removed. > - If the datapath was not deleted at the same time, a new entry (for the same > dp) was created > in the