Re: [ovs-dev] [PATCH] ovsdb-idl: Send "set_db_change_aware" before "monitor_cond_since".

2021-09-07 Thread Chengang (Russell Lab)
Hi Ilya, > On Tuesday, September 7, 2021 7:56 PM, Ilya Maximets > [mailto:i.maxim...@ovn.org] wrote: > I had a patch somewhere. I guess, I need to revise it and send. Can you info me where to get your patch, I would like to test it and reply you the test result. Best Regards! Gang Chen >

Re: [ovs-dev] [PATCH ovn v2] ic: remove orphan port_binding after ts deletion

2021-09-07 Thread Vladislav Odintsov
Hi Han, Yes, somehow I’ve not seen your comments for the test, sorry. I’m okay with those changes, thanks. Regards, Vladislav Odintsov > On 7 Sep 2021, at 21:02, Han Zhou wrote: > > On Tue, Sep 7, 2021 at 4:51 AM Vladislav Odintsov wrote: >> >> When IC port_binding exists and transit

Re: [ovs-dev] [PATCH ovn v2 01/10] ovn-northd-ddlog: Intern all strings in OVSDB tables.

2021-09-07 Thread 0-day Robot
Bleep bloop. Greetings Ben Pfaff, 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: Unexpected sign-offs from developers who are not authors or co-authors or committers:

[ovs-dev] [PATCH ovn v2 10/10] ovn-northd-ddlog: Avoid unnecessary joins for SwitchPortARPForwards.

2021-09-07 Thread Ben Pfaff
SwitchPortARPForwards already has all the necessary data in it and joining with SwitchPort just wastes time. Signed-off-by: Ben Pfaff --- northd/ovn_northd.dl | 12 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/northd/ovn_northd.dl b/northd/ovn_northd.dl index

[ovs-dev] [PATCH ovn v2 08/10] ovn-northd-ddlog: Intern strings before joining when possible.

2021-09-07 Thread Ben Pfaff
By interning earlier, we do less copying across the joins with Router and Switch, because DDlog always copies by value and copying an interned string is cheap. Signed-off-by: Ben Pfaff --- northd/ovn_northd.dl | 57 +++- 1 file changed, 30 insertions(+),

[ovs-dev] [PATCH ovn v2 09/10] ovn-northd-ddlog: Avoid map(ival) for ARP flows.

2021-09-07 Thread Ben Pfaff
It's expensive for a long list. All it buys us is sorting the list in alphabetical order (rather than in order of Intern hash value), which isn't that valuable. This also updates a test that depended on the sort order. Suggested-by: Leonid Ryzhyk Signed-off-by: Ben Pfaff ---

[ovs-dev] [PATCH ovn v2 06/10] ovn-northd-ddlog: Simplify LBVIPWithStatus to include up_backends string.

2021-09-07 Thread Ben Pfaff
There was only one use for the 'backends' map, which was to be converted to a string that listed all the backends that were up, so we might as well do that at its point of origination. At the same time, everything else in LBVIPWithStatus was just a copy of the underlying LBVIP, so we might as

[ovs-dev] [PATCH ovn v2 07/10] ovn-northd-ddlog: Avoid storing unused 'lbs' field in Router.

2021-09-07 Thread Ben Pfaff
Signed-off-by: Ben Pfaff --- northd/lrouter.dl | 9 - 1 file changed, 9 deletions(-) diff --git a/northd/lrouter.dl b/northd/lrouter.dl index c0ec6be47..582e07654 100644 --- a/northd/lrouter.dl +++ b/northd/lrouter.dl @@ -488,7 +488,6 @@ typedef Router = Router { is_gateway:

[ovs-dev] [PATCH ovn v2 04/10] ovn-northd-ddlog: Reverse order of joins for connection tracking flows.

2021-09-07 Thread Ben Pfaff
DDlog evaluates rules in the order given by syntax. The rules for load balancers all first evaluated a Router or Switch, then joined that against the load balancers. However, the expensive logic was all on the load balancers. This meant that the load balancer logic was happening many times,

[ovs-dev] [PATCH ovn v2 05/10] ovn-northd-ddlog: Avoid re-parsing LB IP addresses and ports.

2021-09-07 Thread Ben Pfaff
The LBVIPs already contain parsed versions of the load balancer keys, but the code was parsing it redundantly. Slight performance improvement but much cleaner. Signed-off-by: Ben Pfaff --- northd/ovn_northd.dl | 37 - 1 file changed, 12 insertions(+), 25

[ovs-dev] [PATCH ovn v2 03/10] ovn-northd-ddlog: Derive load balancer IP addresses in new LoadBalancer.

2021-09-07 Thread Ben Pfaff
This makes the get_router_load_balancer_ips() function much faster. This function is a hot path for the use of load balancers, so it improves performance overall when they are in use. Signed-off-by: Ben Pfaff --- northd/lrouter.dl| 68 +--

[ovs-dev] [PATCH ovn v2 02/10] ovn-northd-ddlog: Make joins for ARP/ND flows slightly more efficient.

2021-09-07 Thread Ben Pfaff
DDlog can index equality joins within a expression like this, but not conditional expression that follow such an expression. This doesn't actually matter much in this case because ordinarily the expression will be true (most router ports are enabled). Signed-off-by: Ben Pfaff ---

[ovs-dev] [PATCH ovn v2 00/10] 3x performance improvement for ddlog with load balancer benchmark

2021-09-07 Thread Ben Pfaff
With and without these patches, I see the following performance when I run the load-balancer heavy benchmark. The measurements include cold start with all the load balancers, then deleting the sctp load balancer and waiting for it to finish, then the same with the tcp load balancer, then the same

Re: [ovs-dev] [PATCH ovn v2] ic: remove orphan port_binding after ts deletion

2021-09-07 Thread Han Zhou
On Tue, Sep 7, 2021 at 4:51 AM Vladislav Odintsov wrote: > > When IC port_binding exists and transit switch is deleted, > the orphan port_binding is left in the IC_SB_DB. > > This patch fixes such situation and adds test for this case. > > Signed-off-by: Vladislav Odintsov > --- > v1 -> v2: >

Re: [ovs-dev] [ovn] bug: vtep port binding update doesn't trigger flows update

2021-09-07 Thread Odintsov Vladislav
Hi Numan, thanks for a quick fix. I’ll test it in a few days and come back with the results. Regards, Vladislav Odintsov On 7 Sep 2021, at 20:18, Numan Siddique mailto:num...@ovn.org>> wrote: On Mon, Sep 6, 2021 at 4:08 AM Odintsov Vladislav mailto:vlodint...@croc.ru>> wrote: Hi Numan,

Re: [ovs-dev] [ovn] bug: vtep port binding update doesn't trigger flows update

2021-09-07 Thread Numan Siddique
On Mon, Sep 6, 2021 at 4:08 AM Odintsov Vladislav wrote: > > Hi Numan, > > I’ve tried your advice and this helped — new flow was installed right after > vtep port_binding appeared. > At first glance full recompute in case of appearing a new vtep port_binding > can be an "okay" solution, 'cause

[ovs-dev] [PATCH ovn] controller: Fall back to full recompute of pflow_output for vtep lport changes.

2021-09-07 Thread numans
From: Numan Siddique When a vtep logical port changes, necessary flows are not added as expected. This is because the function physical_handle_flows_for_lport() in physical.c does not add flows required for vtep logical ports. These flows are added by physical_run(). So fall back to full

Re: [ovs-dev] [PATCH] rhel: Fix dual kernel rpm install for RHEL 8.4

2021-09-07 Thread Gregory Rose
Thanks William! On 9/3/2021 8:43 PM, William Tu wrote: On Wed, Aug 25, 2021 at 3:08 PM Gregory Rose wrote: On 8/25/2021 11:42 AM, Yifeng Sun wrote: LGTM, thanks Greg. Reviewed-by: Yifeng Sun Thanks, I pushed to master. William ___ dev

Re: [ovs-dev] [PATCH v2 1/2] conntrack: restore the origin port for each round with new address

2021-09-07 Thread Aaron Conole
we...@ucloud.cn writes: > From: wenxu > > It is better to choose the origin select port as current port > for each port search round with new address. > > Signed-off-by: wenxu > --- Hi Wenxu, Paolo has done a good job reviewing, so I won't look too much at the code, but I think we might want

Re: [ovs-dev] [PATCH v2 1/2] conntrack: restore the origin port for each round with new address

2021-09-07 Thread Paolo Valerio
wenxu writes: > From: Paolo Valerio > Date: 2021-09-06 19:00:37 > To: we...@ucloud.cn,i.maxim...@ovn.org,dlu...@gmail.com,acon...@redhat.com > Cc: d...@openvswitch.org > Subject: Re: [PATCH v2 1/2] conntrack: restore the origin port for each round > with new address>Hello, >>

[ovs-dev] [PATCH RFC dpdk-latest V2 1/1] netdev-dpdk: Enable vhost async API's in OvS.

2021-09-07 Thread Sunil Pai G
This patch adds the initial support for DPDK vHost async API's to offload the memory copy operations to the hardware. Signed-off-by: Sunil Pai G --- lib/dpdk-stub.c | 6 + lib/dpdk.c| 39 +++ lib/dpdk.h| 1 + lib/netdev-dpdk.c | 823

[ovs-dev] [PATCH RFC dpdk-latest V2 0/1] Enable vhost async API's in OvS.

2021-09-07 Thread Sunil Pai G
This series brings in the new asynchronous vHost API's in DPDK to OVS. With the asynchronous framework, vHost-user can offload the memory copy operation to DPDK DMA-dev based enabled devices like Intel® QuickData Technology without blocking the CPU. Usage: To enable DMA offload for vhost path,

Re: [ovs-dev] [PATCH] ovsdb-idl: Send "set_db_change_aware" before "monitor_cond_since".

2021-09-07 Thread Ilya Maximets
On 9/6/21 3:51 PM, Chengang (Russell Lab) wrote: > Hi Han and Ilya, > > This patch fix the issue: IDL client closes the connection after got the > response to the monitor_cond_since request, without wait for the reponse to > the set_db_change_aware request. Warning message will be add to >

Re: [ovs-dev] [PATCH ovn] ic: remove port_binding on ts deletion

2021-09-07 Thread Vladislav Odintsov
I’ve submitted version 2 of this patch: https://patchwork.ozlabs.org/project/ovn/patch/20210907115052.7913-1-odiv...@gmail.com/ Regards, Vladislav Odintsov > On 7 Sep 2021, at 11:42, Vladislav Odintsov wrote: > > Hi Han, > > thanks for the review. > > Regards, > Vladislav Odintsov > >> On 7

[ovs-dev] [PATCH ovn v2] ic: remove orphan port_binding after ts deletion

2021-09-07 Thread Vladislav Odintsov
When IC port_binding exists and transit switch is deleted, the orphan port_binding is left in the IC_SB_DB. This patch fixes such situation and adds test for this case. Signed-off-by: Vladislav Odintsov --- v1 -> v2: - moved port_binding cleanup from ts_run() to port_binding_run()

[ovs-dev] [PATCH v2 1/3] dpif-netdev: Add a per thread work ring

2021-09-07 Thread Cian Ferriter
These work rings help with handling the asynchronous TX usecase. In this usecase, netdev_send will be called, but packets won't be immediately sent by the thread calling netdev_send, but instead handled by a different resource. Since the TX is not instantaneous, the thread calling netdev_send

[ovs-dev] [PATCH v2 3/3] dpif-netdev: Add a configurable delay to work deferral

2021-09-07 Thread Cian Ferriter
Delay checking the completion of deferred work by a number of iterations of pmd_thread_main(). The PMD iteration count is used to track when a work item is deferred and when it should be attempted. The below command is used to set the number of iterations before a work item should be attempted.

[ovs-dev] [PATCH v2 2/3] dpif-netdev: Count cycles spent doing async work

2021-09-07 Thread Cian Ferriter
This uses a similar method to how cycles are attributed to RXQs in dp_netdev_pmd_flush_output_on_port(). Signed-off-by: Cian Ferriter --- Adding this cycle counting code costs ~2.5% performance (0.975x pre cycle counting performance). This is for a PV scenario with a vhostuser port and no DMA

[ovs-dev] [PATCH v2 0/3] Userspace deferral of work

2021-09-07 Thread Cian Ferriter
This patch adds infrastructure to the userspace datapath to defer or postpone work. At a high level, each PMD thread places work items into its own per thread work ring to be done later. The work ring is a FIFO queue of pointers to work items. Each work item has a "work_func()" function pointer

Re: [ovs-dev] [PATCH] netdev-dpdk: Remove access to DPDK internals.

2021-09-07 Thread Maxime Coquelin
On 9/7/21 10:23 AM, David Marchand wrote: > Instead of dereferencing DPDK ethdev internals, we can list "sibling" > ports [1]: such ports share the underlying rte_device object. > > This API was experimental so far, but it will go to stable in 21.11 > (see [2]) as it underwent no change since

Re: [ovs-dev] [OVN Patch] Make changes to the parallel processing API to allow pool sizing

2021-09-07 Thread Anton Ivanov
I also have a rebase of the dp-groups improvements and parallelization on top of the API changes. I will hold off sending them so that we do not have conflicting patch versions and dependencies in patchwork. IMHO it will be easier if we get the API changes in first, then the dp groups and

Re: [ovs-dev] [PATCH] netdev-dpdk: Fix RSS configuration for virtio.

2021-09-07 Thread Maxime Coquelin
On 8/30/21 12:13 PM, David Marchand wrote: > In the future, virtio may support RSS. > In any case, it is safer to rely on exposed capabilities rather than > matching on driver names. > > Signed-off-by: David Marchand > --- > lib/netdev-dpdk.c | 13 + > 1 file changed, 5

Re: [ovs-dev] [PATCH ovn] ic: remove port_binding on ts deletion

2021-09-07 Thread Vladislav Odintsov
Hi Han, thanks for the review. Regards, Vladislav Odintsov > On 7 Sep 2021, at 08:37, Han Zhou wrote: > > On Tue, Aug 24, 2021 at 11:45 AM Vladislav Odintsov > > wrote: >> >> When IC port_binding exists and transit switch is deleted, >> the orphan port_binding if

[ovs-dev] [PATCH] netdev-dpdk: Remove access to DPDK internals.

2021-09-07 Thread David Marchand
Instead of dereferencing DPDK ethdev internals, we can list "sibling" ports [1]: such ports share the underlying rte_device object. This API was experimental so far, but it will go to stable in 21.11 (see [2]) as it underwent no change since introduction in v19.05. For the time being, waive the

[ovs-dev] [PATCH] datapath: handle DNAT tuple collision

2021-09-07 Thread Dumitru Ceara
Upstream commit: commit 8aa7b526dc0b5dbf40c1b834d76a667ad672a410 Author: Dumitru Ceara Date: Wed Oct 7 17:48:03 2020 +0200 openvswitch: handle DNAT tuple collision With multiple DNAT rules it's possible that after destination translation the resulting tuples collide.

Re: [ovs-dev] [PATCH v14 6/7] ofproto: Introduce API to process sFlow offload packet

2021-09-07 Thread Eelco Chaudron
On 15 Jul 2021, at 8:01, Chris Mi wrote: Process sFlow offload packet in handler thread if handler id is 0. Signed-off-by: Chris Mi Reviewed-by: Eli Britstein Thanks for making these changes, as this implementation looks way cleaner than it was before! ---

Re: [ovs-dev] [PATCH v2 1/2] conntrack: restore the origin port for each round with new address

2021-09-07 Thread wenxu
From: Paolo Valerio Date: 2021-09-06 19:00:37 To: we...@ucloud.cn,i.maxim...@ovn.org,dlu...@gmail.com,acon...@redhat.com Cc: d...@openvswitch.org Subject: Re: [PATCH v2 1/2] conntrack: restore the origin port for each round with new address>Hello, > >we...@ucloud.cn writes: > >> From:

Re: [ovs-dev] [PATCH ovn] ic: call ovn_db_run() only when all DBs are connected

2021-09-07 Thread Han Zhou
On Mon, Aug 30, 2021 at 12:57 PM Vladislav Odintsov wrote: > > Prior to this commit ovn_db_run() function in ovn-ic > was called right after daemon's lock was acquired in SB DB. > > Inside ovn_db_run() there is a search for availability zone > in NB DB. If AZ was not found, ovn_db_run returned.

Re: [ovs-dev] [PATCH v14 0/7] Add offload support for sFlow

2021-09-07 Thread Chris Mi via dev
On 9/7/2021 1:59 PM, Eelco Chaudron wrote: On 7 Sep 2021, at 3:34, Chris Mi wrote: On 9/6/2021 5:47 PM, Eelco Chaudron wrote: On 6 Sep 2021, at 11:14, Chris Mi wrote: On 9/3/2021 8:54 PM, Eelco Chaudron wrote: On 3 Sep 2021, at 14:02, Eelco Chaudron wrote: On 15 Jul 2021, at 8:01,