Re: [ovs-dev] [PATCH ovn v2] controller: fix potential segmentation violation when removing ports

2022-08-25 Thread Han Zhou
On Thu, Aug 25, 2022 at 10:05 AM Han Zhou wrote: > > > > On Thu, Aug 25, 2022 at 7:47 AM Xavier Simonart wrote: > > > > If a logical switch port is added and connected to a logical router > > port (through options: router-port) before the router port is > > created, then this might cause further

[ovs-dev] [PATCH v5 9/9] mfex-avx512: Add support for tunnel packets in avx512 mfex.

2022-08-25 Thread Kumar Amber
This patch adds the necessary support to avx512 mfex to support handling of tunnel packet type. Signed-off-by: Kumar Amber --- v5: - check metadata IP address to find tunneling is valid or not. As dummy-pmd often passes garbage data to dpif. --- --- lib/dpif-netdev-avx512.c | 16

[ovs-dev] [PATCH v5 8/9] mfex-study: Modify study func to select outer and inner mfex funcs.

2022-08-25 Thread Kumar Amber
The Mfex study function is split into outer and inner to allow for independent selection and studying of packets in outer and inner flows to different ISA optimized Mfexs. Signed-off-by: Kumar Amber --- lib/dpif-netdev-extract-study.c | 126 +--- 1 file changed, 83

[ovs-dev] [PATCH v5 7/9] dpif-mfex: Change mfex fn pointer prototype to include md_is_valid.

2022-08-25 Thread Kumar Amber
The md_is_valid parameter is passed from DPIF to MFEX to allow mfex functions to detect the tunneling and decide the processing of Inner packets in static predictable branches. Signed-off-by: Kumar Amber --- lib/dpif-netdev-avx512.c | 3 ++- lib/dpif-netdev-extract-avx512.c | 9

[ovs-dev] [PATCH v5 6/9] dpif-mfex: Modify set/get mfex commands to include inner.

2022-08-25 Thread Kumar Amber
The set command in MFEX is changed as to allow the user to select different optimized mfex ISA for processing Inner packets in case of tunneling. $ ovs-appctl dpif-netdev/miniflow-parser-set -pmd 3 study 1024 -recirc The get command is modified to indcitate both inner and Outer MFEXs in use.

[ovs-dev] [PATCH v5 5/9] dpif-netdev: Add function pointer for dpif re-circulate.

2022-08-25 Thread Kumar Amber
The patch adds and re-uses the dpif set command to set the function pointers to be used to switch between different inner dpifs. Signed-off-by: Kumar Amber Signed-off-by: Cian Ferriter Co-authored-by: Cian Ferriter --- v3: - Add description to the dpif recirc function. - Fix use of return

[ovs-dev] [PATCH v5 4/9] dpif-netdev-avx512: Add inner packet handling to dpif.

2022-08-25 Thread Kumar Amber
This patch adds the necessary changes required to support tunnel packet types in avx512 dpif. Signed-off-by: Kumar Amber Signed-off-by: Cian Ferriter Co-authored-by: Cian Ferriter --- v4: - Rebase onto Simple match. v3: - Apply in_port optimization suggested by Harry. --- ---

[ovs-dev] [PATCH v5 3/9] dpif-netdev-avx512: Refactor avx512 dpif and create new APIs.

2022-08-25 Thread Kumar Amber
Create new APIs for the avx512 DPIF, enabling one baseline common code to be specialized into DPIF implementations for "outer" processing, and "recirc" processing. Signed-off-by: Kumar Amber Signed-off-by: Cian Ferriter Co-authored-by: Cian Ferriter --- v4: - Rebase onto master. v3: - Fix

[ovs-dev] [PATCH v5 2/9] dpif-netdev: Refactor hash function to own header.

2022-08-25 Thread Kumar Amber
The refactor allows us to use hash function accross multiple files which was earlier restricted to dpif-netdev.c only. Signed-off-by: Kumar Amber Signed-off-by: Cian Ferriter Co-authored-by: Cian Ferriter --- v3: - Fix minor comments from Harry. --- --- lib/dpif-netdev-private-dpcls.h | 23

[ovs-dev] [PATCH v5 1/9] dpif-netdev: Refactor per thread recirc data allocation.

2022-08-25 Thread Kumar Amber
The refactor allows us to use *recirc_depth_get() to obtain the depth across ovs which was previously limited to only dpif-netdev.c. Signed-off-by: Kumar Amber Signed-off-by: Cian Ferriter Co-authored-by: Cian Ferriter Acked-by: Harry van Haaren --- lib/dpif-netdev-private-dpif.c | 2 ++

[ovs-dev] [PATCH v5 0/9] DPIF + MFEX Inner AVX512

2022-08-25 Thread Kumar Amber
This Series of Patchsets introduce the Optimizations for supporting tunneled packets in DPIF and MFEX. Along with the optimization various refactoring of scalar path is done to be used accross without duplication. Over the Tests we have observed a gain of approximate 20~25% gain in performance

Re: [ovs-dev] [PATCH V2] xenserver: Remove xenserver

2022-08-25 Thread Gregory Rose
On 8/22/2022 7:15 AM, David Marchand wrote: On Mon, Aug 15, 2022 at 1:49 PM Ilya Maximets wrote: On 8/8/22 22:36, Greg Rose wrote: Remove the current xenserver implementation - it is obsolete and since 3.0 we do not support kernel module builds [1]. 1.

Re: [ovs-dev] [OVN v4] OVN - Add Support for Remote Port Mirroring

2022-08-25 Thread Ihar Hrachyshka
On Thu, Aug 25, 2022 at 1:57 PM Abhiram R N wrote: > > Hi Ihar, > > Thanks for the review of v4 patch. > I will take care of the changes you have suggested in the xml(ovn-nb.xml), > the tests (ovn-nbctl.at, ovn.at, ovn-northd.at) and ovn-nbctl.c in the next > patch. > > Other than those

Re: [ovs-dev] [OVN v4] OVN - Add Support for Remote Port Mirroring

2022-08-25 Thread Abhiram R N
Hi Ihar, Thanks for the review of v4 patch. I will take care of the changes you have suggested in the xml(ovn-nb.xml), the tests (ovn-nbctl.at, ovn.at, ovn-northd.at) and ovn-nbctl.c in the next patch. Other than those regarding the ovn-controller.c and ovn-nb.ovsschema I have replied inline

Re: [ovs-dev] [PATCH ovn v2] controller: fix potential segmentation violation when removing ports

2022-08-25 Thread Han Zhou
On Thu, Aug 25, 2022 at 7:47 AM Xavier Simonart wrote: > > If a logical switch port is added and connected to a logical router > port (through options: router-port) before the router port is > created, then this might cause further issues such as segmentation > violation when the switch and

Re: [ovs-dev] [PATCH] ovs-ctl: introuduce post start scripts

2022-08-25 Thread lic121
On Thu, Aug 25, 2022 at 12:29:36PM +0200, Ilya Maximets wrote: > On 8/24/22 21:29, Aaron Conole wrote: > > lic121 writes: > > > >> Support running a list of scripts after vswitchd start, so that we can > >> make some runtime config persistence across ovs restart. For example, > >> the config

[ovs-dev] [PATCH ovn v2] controller: fix potential segmentation violation when removing ports

2022-08-25 Thread Xavier Simonart
If a logical switch port is added and connected to a logical router port (through options: router-port) before the router port is created, then this might cause further issues such as segmentation violation when the switch and router ports are deleted. Signed-off-by: Xavier Simonart --- v2:

[ovs-dev] [PATCH 2/2] dpif-netdev/mfex: Add AVX512 NVGRE traffic profiles.

2022-08-25 Thread Cian Ferriter
A typical NVGRE encapsulated packet starts with the ETH/IP/GRE protocols. Miniflow extract will parse just the ETH and IP headers. The GRE header will be processed later as part of the pop action. Add support for parsing the ETH/IP headers in this scenario. Signed-off-by: Cian Ferriter ---

[ovs-dev] [PATCH 1/2] dpif-netdev/dpcls: Specialize more subtable signatures.

2022-08-25 Thread Cian Ferriter
The subtable signatures being specialized here were found in an NVGRE tunnel scenario. Signed-off-by: Cian Ferriter --- lib/dpif-netdev-lookup-avx512-gather.c | 4 lib/dpif-netdev-lookup-generic.c | 4 2 files changed, 8 insertions(+) diff --git

[ovs-dev] [PATCH 0/2] Enable AVX512 NVGRE optimizations

2022-08-25 Thread Cian Ferriter
This patchset adds AVX512 specialization for the NVGRE tunneling scenario. It adds both an MFEX implementation for parsing the outer header of a typical NVGRE packet and specialized DPCLS subtable signatures for the lookups on both outer and inner headers. Cian Ferriter (2): dpif-netdev/dpcls:

Re: [ovs-dev] [PATCH] github: Skip debian packaging for dpdk-latest.

2022-08-25 Thread Frode Nordahl
Hello, David, On Thu, Aug 25, 2022 at 2:52 PM David Marchand wrote: > > Debian packaging target builds OVS against a packaged DPDK version. > As a result, it is not relevant in the dpdk-latest branch which follows > DPDK development branch. > > Signed-off-by: David Marchand > --- >

[ovs-dev] [PATCH] github: Skip debian packaging for dpdk-latest.

2022-08-25 Thread David Marchand
Debian packaging target builds OVS against a packaged DPDK version. As a result, it is not relevant in the dpdk-latest branch which follows DPDK development branch. Signed-off-by: David Marchand --- .github/workflows/build-and-test.yml | 1 + 1 file changed, 1 insertion(+) diff --git

Re: [ovs-dev] [PATCH] dpif-netdev: not skip cycle metric for no-packet rxqs

2022-08-25 Thread Kevin Traynor
Hi, On 17/08/2022 08:10, lic121 wrote: In PMD, cycle cost for each rxq is saved so that we know each rxq's load. But rxq that doesn't receive a packet is skipped. In fact, polling no-packet rxq costs cycles as well. In my test, 100w pps rxq(vhostuser) cost cycles 87,553,850,086 while no-packet

Re: [ovs-dev] [PATCH] ovs-ctl: introuduce post start scripts

2022-08-25 Thread Ilya Maximets
On 8/24/22 21:29, Aaron Conole wrote: > lic121 writes: > >> Support running a list of scripts after vswitchd start, so that we can >> make some runtime config persistence across ovs restart. For example, >> the config that `ovs-appctl dpctl` makes. >> >> Signed-off-by: lic121 >> --- > > This

[ovs-dev] [PATCH 3/3] netdev-dpdk: Cleanup mempool selection code.

2022-08-25 Thread David Marchand
Propagating per_port_memory value through a DPDK netdev creation gives the false impression its value is somehow contextual to the creation. On the contrary, this parameter value is set once and for all at OVS initialisation time. Simplify the code and directly access the local boolean.

[ovs-dev] [PATCH 2/3] netdev-dpdk: Move DPDK netdev related configuration.

2022-08-25 Thread David Marchand
vhost related configuration and per port memory are netdev-dpdk configuration items. dpdk-stub.c and netdev-dpdk.c are never linked together, so we can move those bits out of the generic dpdk code. The dpdk_* accessors for those configuration items are then not needed anymore and we can simply

[ovs-dev] [PATCH 0/3] DPDK netdev code cleanup

2022-08-25 Thread David Marchand
Nothing earth-shattering in this series. This is a followup after reviewing patches from Kevin: we can move netdev-dpdk related configuration in this code and remove unneeded stubs in the "dpdk" api in OVS (less code is always better :-)). -- David Marchand David Marchand (3): netdev-dpdk:

[ovs-dev] [PATCH 1/3] netdev-dpdk: Cleanup code when DPDK is disabled.

2022-08-25 Thread David Marchand
Remove one unused stub: netdev_dpdk_register() can't be called if DPDK is disabled at build time. Remove unneeded #ifdef in call to free_dpdk_buf. Drop unneeded cast when calling free_dpdk_buf. Signed-off-by: David Marchand --- lib/dp-packet.c | 6 +- lib/dp-packet.h | 4 +---

[ovs-dev] [PATCH ovn v2] northd: Fix multicast table full

2022-08-25 Thread Xavier Simonart
active_v4_flows count was intialized when the northd node was computed. However, neither sb_multicast_group nor en_sb_igmp_group causes northd updates. Hence this count could keep increasing while processing igmp groups. This issue was sometimes 'hidden' by northd recomputes due to lflow unable

[ovs-dev] [PATCH v2] ovs-tcpdump: Cleanup mirror port on SIGHUP/SIGTERM

2022-08-25 Thread Daniel Ding
If ovs-tcpdump received HUP or TERM signal, mirror and mirror interface should be destroyed. This often happens, when controlling terminal is closed, like ssh session closed, and other users use kill to terminate it. Signed-off-by: Daniel Ding --- utilities/ovs-tcpdump.in | 30

Re: [ovs-dev] [PATCH ovn v5] controller: avoid recomputes triggered by SBDB Port_Binding updates.

2022-08-25 Thread Xavier Simonart
Hi Han Sorry for not replying earlier - I wanted to give a last chance for Dumitru or others to comment Thanks for applying the patch and all you feedback Thanks Xavier On Thu, Aug 25, 2022 at 10:42 AM Dumitru Ceara wrote: > On 8/25/22 08:35, Han Zhou wrote: > > On Mon, Aug 22, 2022 at 9:41

Re: [ovs-dev] [PATCH ovn] northd: Don't get stuck in the STATE_INIT_HASH_SIZES state.

2022-08-25 Thread Dumitru Ceara
On 8/24/22 18:32, Ilya Maximets wrote: > On 8/24/22 17:57, Dumitru Ceara wrote: >> On 8/24/22 17:49, Ilya Maximets wrote: >>> On 8/24/22 17:43, Ilya Maximets wrote: On 8/23/22 16:42, Dumitru Ceara wrote: > After removing the possibility of disabling logical datapath groups the > above

Re: [ovs-dev] [PATCH ovn v5] controller: avoid recomputes triggered by SBDB Port_Binding updates.

2022-08-25 Thread Dumitru Ceara
On 8/25/22 08:35, Han Zhou wrote: > On Mon, Aug 22, 2022 at 9:41 AM Han Zhou wrote: >> >> >> >> On Fri, Aug 19, 2022 at 8:40 AM Xavier Simonart > wrote: >>> >>> When VIF ports are claimed on a chassis, SBDB Port_Binding table is > updated. >>> If the SBDB IDL is still is read-only ("in

Re: [ovs-dev] [PATCH ovn v5] controller: avoid recomputes triggered by SBDB Port_Binding updates.

2022-08-25 Thread Han Zhou
On Mon, Aug 22, 2022 at 9:41 AM Han Zhou wrote: > > > > On Fri, Aug 19, 2022 at 8:40 AM Xavier Simonart wrote: > > > > When VIF ports are claimed on a chassis, SBDB Port_Binding table is updated. > > If the SBDB IDL is still is read-only ("in transaction") when such a update > > is required, the

Re: [ovs-dev] [PATCH ovn] controller: fix potential segmentation violation when removing ports

2022-08-25 Thread Han Zhou
On Tue, Aug 23, 2022 at 3:44 AM Xavier Simonart wrote: > > If a logical switch port is added and connected to a logical router > port (through options: router-port) before the router port is > created, then this might cause further issues such as segmentation > violation when the switch and