Re: [ovs-dev] [PATCH v1] system-dpdk.at: Add ignore warning for context switches in CI.

2022-03-11 Thread Amber, Kumar
Hi IIlya, > -Original Message- > From: Ilya Maximets > Sent: Saturday, March 12, 2022 3:26 AM > To: Amber, Kumar ; ovs-dev@openvswitch.org > Cc: i.maxim...@ovn.org; Phelan, Michael > Subject: Re: [ovs-dev] [PATCH v1] system-dpdk.at: Add ignore warning for > context switches in CI. > >

Re: [ovs-dev] [PATCH v2] system-dpdk: Fix mfex autovalidator tests.

2022-03-11 Thread Ilya Maximets
On 3/3/22 11:40, Ferriter, Cian wrote: > > >> -Original Message- >> From: Amber, Kumar >> Sent: Tuesday 1 March 2022 15:08 >> To: ovs-dev@openvswitch.org >> Cc: Ferriter, Cian ; echau...@redhat.com; Stokes, >> Ian ; >> Van Haaren, Harry ; Amber, Kumar >> >> Subject: [PATCH v2]

Re: [ovs-dev] [PATCH v1] ofp-prop: Silence the 'may be uninitialized' warning.

2022-03-11 Thread Ilya Maximets
On 3/4/22 12:48, Eelco Chaudron wrote: > > > On 28 Feb 2022, at 2:56, Mike Pattrick wrote: > >> GCC 11.2.1-2.2 emits a false-positive warnings like: >> >> lib/ofp-packet.c: In function 'ofputil_decode_packet_in': >> lib/ofp-packet.c:155:25: warning: 'reason' may be used >> uninitialized

Re: [ovs-dev] [PATCH] tests: Ignore log about failing to set NETLINK_EXT_ACK.

2022-03-11 Thread Ilya Maximets
On 2/25/22 16:38, Dumitru Ceara wrote: > Since 4a6a4734622e ("netlink-socket: Log extack error messages in > netlink transactions."), tests fail on older systems that don't support > NETLINK_EXT_ACK. It's not really an issue, so we can just ignore the > log. > > CC: Paolo Valerio > CC: Eelco

Re: [ovs-dev] [PATCH] ovsdb-cluster.at: Avoid test failures due to different hashing.

2022-03-11 Thread Ilya Maximets
On 3/11/22 11:28, Eelco Chaudron wrote: > > > On 24 Feb 2022, at 20:36, Ilya Maximets wrote: > >> Depending on compiler flags and CPU architecture different hash >> function are used. That impacts the order of tables and columns >> in database representation making ovsdb report different

Re: [ovs-dev] [PATCH] dpif-netdev: Simplify atomic function pointer stores

2022-03-11 Thread Ilya Maximets
On 2/21/22 17:01, Cian Ferriter wrote: > The same pattern for atomic stores and initialization was used for the > DPIF and MFEX function pointers declared in struct dp_netdev_pmd_thread. > Simplify this pattern for all stores to 'miniflow_extract_opt' and > 'netdev_input_func'. > > Also replace

Re: [ovs-dev] [PATCH v1 0/2] MFEX datapath independent Tests

2022-03-11 Thread Ilya Maximets
On 2/25/22 12:46, Kumar Amber wrote: > The Patchset Introduces creating of varied lenght packets > for testing MFEX AVX512 implementations as well as Introduces > unit-tests which are independet from ovs-datapath. This also > allows us to test a lot more scenarios testing only MFEX. Hi. First of

Re: [ovs-dev] [PATCH v1] system-dpdk.at: Add ignore warning for context switches in CI.

2022-03-11 Thread Ilya Maximets
On 3/2/22 10:42, Amber, Kumar wrote: > Hi llya, s/LL/IL/ > >> -Original Message- >> From: Ilya Maximets >> Sent: Tuesday, March 1, 2022 1:50 AM >> To: Amber, Kumar ; ovs-dev@openvswitch.org >> Cc: i.maxim...@ovn.org; Phelan, Michael >> Subject: Re: [ovs-dev] [PATCH v1] system-dpdk.at:

[ovs-dev] [PATCH] ofproto-dpif-xlate: Fix NULL pointer dereference in xlate_normal()

2022-03-11 Thread Paolo Valerio
Considering the following flows: ovs-ofctl dump-flows br0 cookie=0x0, duration=2431.944s, table=0, n_packets=0, n_bytes=0, priority=0 actions=NORMAL and assuming a packet originated from packet-out in this way: ovs-ofctl packet-out br0

Re: [ovs-dev] [ovs-build] |fail| pw1600225 [ovs-dev, branch-2.15] dpdk: Use DPDK 20.11.4 release

2022-03-11 Thread Ilya Maximets
> Test-Label: intel-ovs-compilation > Test-Status: fail > http://patchwork.ozlabs.org/api/patches/1600225/ > > AVX-512_compilation: failed > DPLCS Test: fail > DPIF Test: fail > MFEX Test: fail > Errors in DPCLS test: >> Good hash: 121684652 len: 72 Test hash:0 len:0 >>

Re: [ovs-dev] [PATCH ovn branch-21.12 0/2] Release patches for v21.12.1.

2022-03-11 Thread Ilya Maximets
On 3/10/22 21:49, Mark Michelson wrote: > > Mark Michelson (2): > Set release date for 21.12.1. > Prepare for 21.12.2. > > NEWS | 6 +- > configure.ac | 2 +- > debian/changelog | 8 +++- > 3 files changed, 13 insertions(+), 3 deletions(-) > I guess, it's fine to

Re: [ovs-dev] [PATCH ovn branch-22.03 2/2] Prepare for 22.03.1.

2022-03-11 Thread Ilya Maximets
On 3/10/22 21:49, Mark Michelson wrote: > Signed-off-by: Mark Michelson > --- > NEWS | 3 +++ > configure.ac | 2 +- > debian/changelog | 6 ++ > 3 files changed, 10 insertions(+), 1 deletion(-) > > diff --git a/NEWS b/NEWS > index 0f8e068b1..15fa545d2 100644 > --- a/NEWS >

Re: [ovs-dev] [PATCH ovn branch-22.03 1/2] Set release date for 22.03.0.

2022-03-11 Thread Ilya Maximets
On 3/10/22 21:49, Mark Michelson wrote: > Signed-off-by: Mark Michelson > --- > NEWS | 2 +- > debian/changelog | 2 +- > 2 files changed, 2 insertions(+), 2 deletions(-) > > diff --git a/NEWS b/NEWS > index 9f3ce3cf3..0f8e068b1 100644 > --- a/NEWS > +++ b/NEWS > @@ -1,4 +1,4 @@ >

Re: [ovs-dev] [PATCH v4 4/5] dpif-netdev: Fix PMD auto load balance with pmd-rxq-isolate.

2022-03-11 Thread Mike Pattrick
On Fri, Mar 11, 2022 at 12:06 PM Kevin Traynor wrote: > > There are currently some checks for cross-numa polling cases to > ensure that they won't effect the accuracy of the PMD ALB. > > If an rxq is pinned to a pmd core by the user it will not be > reassigned by OVS, so even if it is non-local

[ovs-dev] [PATCH v4 5/5] alb.ut: Add tests for cross-numa polling.

2022-03-11 Thread Kevin Traynor
PMD auto load balance currently only operates when the polling pmd core will not change numa after reassignment. Add a unit test for this. Signed-off-by: Kevin Traynor Acked-by: Mike Pattrick --- tests/alb.at | 46 ++ 1 file changed, 46 insertions(+)

[ovs-dev] [PATCH v4 4/5] dpif-netdev: Fix PMD auto load balance with pmd-rxq-isolate.

2022-03-11 Thread Kevin Traynor
There are currently some checks for cross-numa polling cases to ensure that they won't effect the accuracy of the PMD ALB. If an rxq is pinned to a pmd core by the user it will not be reassigned by OVS, so even if it is non-local numa polled it will not impact PMD ALB accuracy. To establish

[ovs-dev] [PATCH v4 2/5] dpif-netdev: Fix non-local numa selection.

2022-03-11 Thread Kevin Traynor
In the event of no pmd cores available on the local numa for an rxq to be assigned to, a pmd core from a non-local numa is selected. If there are more than one non-local numas with pmd cores they are RR through and checked if they have non-isolated pmds. When successfully finding a non-local

[ovs-dev] [PATCH v4 3/5] pmd.at: Add tests for multi non-local numa pmds.

2022-03-11 Thread Kevin Traynor
Ensure that if there are no local numa pmd cores available that pmd cores from all other non-local numas will be used. Signed-off-by: Kevin Traynor --- tests/pmd.at | 62 +++- 1 file changed, 61 insertions(+), 1 deletion(-) diff --git

[ovs-dev] [PATCH v4 1/5] dpif-netdev: Fix typo in function name.

2022-03-11 Thread Kevin Traynor
Rename pmd_reblance_dry_run_needed() to pmd_rebalance_dry_run_needed(). Fixes: a83a406096e9 ("dpif-netdev: Sync PMD ALB state with user commands.") Signed-off-by: Kevin Traynor Acked-by: Mike Pattrick --- lib/dpif-netdev.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git

[ovs-dev] [PATCH v4 0/5] ALB/Rxq scheduling cross-numa polling fixes.

2022-03-11 Thread Kevin Traynor
Some fixes found in the area of cross-numa polling during recent code inspection and testing. v4: - Reworked pmd.at UT (3/5) to account for numa hash map v3: - Add additional unit test (new patch 3/5) for rxq scheduling to ensure that all non-local numas are used. - Other patches unchanged

[ovs-dev] [PATCH v3 18/18] python: add unit tests for filtering engine

2022-03-11 Thread Adrian Moreno
Add unit test for OFFilter class. Acked-by: Eelco Chaudron Signed-off-by: Adrian Moreno --- python/automake.mk | 1 + python/ovs/tests/test_filter.py | 221 2 files changed, 222 insertions(+) create mode 100644 python/ovs/tests/test_filter.py

[ovs-dev] [PATCH v3 12/18] tests: Wrap test-odp to also run python parsers

2022-03-11 Thread Adrian Moreno
test-odp is used to parse datapath flow actions and matches within the odp tests. Wrap calls to this tool in a python script that also parses them using the python flow parsing library. Acked-by: Eelco Chaudron Signed-off-by: Adrian Moreno --- tests/automake.mk | 2 + tests/odp.at

[ovs-dev] [PATCH v3 16/18] python: add unit tests for openflow parsing

2022-03-11 Thread Adrian Moreno
Add unit tests for OFPFlow class and ip-port range decoder Signed-off-by: Adrian Moreno --- python/automake.mk| 4 +- python/ovs/tests/test_decoders.py | 130 python/ovs/tests/test_ofp.py | 534 ++ 3 files changed, 667 insertions(+), 1

[ovs-dev] [PATCH v3 17/18] python: add unit tests to datapath parsing

2022-03-11 Thread Adrian Moreno
Signed-off-by: Adrian Moreno --- python/automake.mk | 1 + python/ovs/tests/test_odp.py | 527 +++ 2 files changed, 528 insertions(+) create mode 100644 python/ovs/tests/test_odp.py diff --git a/python/automake.mk b/python/automake.mk index

[ovs-dev] [PATCH v3 11/18] tests: wrap ovs-ofctl calls to test python parser

2022-03-11 Thread Adrian Moreno
Some ovs-ofctl commands are used to parse or dump openflow flows, specially in ofp-actions.at Use a wrapper around ovs-ofctl, called ovs-test-ofparse.py that, apart from calling ovs-ofctl, also parses its output (or input, depending on the command) to make sure the python flow parsing library can

[ovs-dev] [PATCH v3 08/18] python: add ovs datapath flow parsing

2022-03-11 Thread Adrian Moreno
A ODPFlow is a Flow with the following sections: ufid info (e.g: bytes, packets, dp, etc) match actions Only three datapath actions require special handling: gre: because it has double parenthesis geneve: because it supports many concatenated lists of options nat: we reuse the decoder used for

[ovs-dev] [PATCH v3 14/18] python: introduce unit tests

2022-03-11 Thread Adrian Moreno
Use pytest to run unit tests as part of the standard testsuite. Acked-by: Eelco Chaudron Signed-off-by: Adrian Moreno --- .github/workflows/build-and-test.yml| 3 + Documentation/intro/install/general.rst | 4 ++ python/automake.mk | 9 ++-

[ovs-dev] [PATCH v3 15/18] python: add unit tests for ListParser

2022-03-11 Thread Adrian Moreno
Add unit tests for ListParser class. Acked-by: Eelco Chaudron Signed-off-by: Adrian Moreno --- python/automake.mk| 3 +- python/ovs/tests/test_list.py | 66 +++ 2 files changed, 68 insertions(+), 1 deletion(-) create mode 100644

[ovs-dev] [PATCH v3 10/18] python: add a json encoder to flow fields

2022-03-11 Thread Adrian Moreno
The json encoder can be used to convert Flows to json. Acked-by: Eelco Chaudron Signed-off-by: Adrian Moreno --- python/ovs/flows/decoders.py | 14 ++ 1 file changed, 14 insertions(+) diff --git a/python/ovs/flows/decoders.py b/python/ovs/flows/decoders.py index

[ovs-dev] [PATCH v3 13/18] python: detect changes in flow formatting code

2022-03-11 Thread Adrian Moreno
In order to minimize the risk of having the python flow parsing code and the C flow formatting code divert, add a target that checks if the formatting code has been changed since the last revision and warn the developer if it has. The script also makes it easy to update the dependency file so

[ovs-dev] [PATCH v3 07/18] python: introduce OpenFlow Flow parsing

2022-03-11 Thread Adrian Moreno
Introduce OFPFlow class and all its decoders. Most of the decoders are generic (from decoders.py). Some have special syntax and need a specific implementation. Decoders for nat are moved to the common decoders.py because it's syntax is shared with other types of flows (e.g: dpif flows).

[ovs-dev] [PATCH v3 09/18] python: add flow filtering syntax

2022-03-11 Thread Adrian Moreno
Based on pyparsing, create a very simple filtering syntax. It supports basic logic statements (and, &, or, ||, not, !), numerical operations (<, >), equality (=, !=), and masking (~=). The latter is only supported in certain fields (IntMask, EthMask, IPMask). Masking operation is semantically

[ovs-dev] [PATCH v3 06/18] python: add flow base class

2022-03-11 Thread Adrian Moreno
It simplifies the implementation of different types of flows by creating the concept of Section (e.g: match, action) and automatic accessors for all the provided Sections Acked-by: Eelco Chaudron Signed-off-by: Adrian Moreno --- python/automake.mk | 1 + python/ovs/flows/flow.py | 125

[ovs-dev] [PATCH v3 04/18] build-aux: split extract-ofp-fields

2022-03-11 Thread Adrian Moreno
In order to be able to reuse the core extraction logic, split the command in two parts. The core extraction logic is moved to python/build while the command that writes the different files out of the extracted field info is kept in build-aux. Signed-off-by: Adrian Moreno ---

[ovs-dev] [PATCH v3 03/18] python: add list parser

2022-03-11 Thread Adrian Moreno
Some openflow or dpif flows encode their arguments in lists, eg: "some_action(arg1,arg2,arg3)". In order to decode this in a way that can be then stored and queried, add ListParser and ListDecoders classes that parse lists into KeyValue instances. The ListParser / ListDecoders mechanism is quite

[ovs-dev] [PATCH v3 05/18] build-aux: generate ofp field decoders

2022-03-11 Thread Adrian Moreno
Based on meta-field information extracted by extract_ofp_fields, autogenerate the right decoder to be used. Acked-by: Eelco Chaudron Signed-off-by: Adrian Moreno --- build-aux/automake.mk| 6 ++- build-aux/gen_ofp_field_decoders | 69

[ovs-dev] [PATCH v3 00/18] python: add flow parsing library

2022-03-11 Thread Adrian Moreno
While troubleshooting or developing new features in OVS, a considerable amount of time is spent analyzing flows (whether that's Openflow flows or datapath flows). Currently, OVS has tools to dump flows with different levels of verbosity as well as to filter flows prior to dumping them, e.g:

[ovs-dev] [PATCH v3 01/18] python: add generic Key-Value parser

2022-03-11 Thread Adrian Moreno
Most of ofproto and dpif flows are based on key-value pairs. These key-value pairs can be represented in several ways, eg: key:value, key=value, key(value). Add the following classes that allow parsing of key-value strings: * KeyValue: holds a key-value pair * KeyMetadata: holds some metadata

[ovs-dev] [PATCH v3 02/18] python: add mask, ip and eth decoders

2022-03-11 Thread Adrian Moreno
Add more decoders that can be used by KVParser. For IPv4 and IPv6 addresses, create a new class that wraps netaddr.IPAddress. For Ethernet addresses, create a new class that wraps netaddr.EUI. For Integers, create a new class that performs basic bitwise mask comparisons Acked-by: Eelco Chaudron

Re: [ovs-dev] [PATCH v3 3/5] pmd.at: Add tests for multi non-local numa pmds.

2022-03-11 Thread Kevin Traynor
On 11/03/2022 13:23, Kevin Traynor wrote: Ensure that if there are no local numa pmd cores available that pmd cores from all other non-local numas will be used. NACK this patch. The numas are held in a hash map so order is not guaranteed but I mixed up what the pmd-rxq-show output was sorted

[ovs-dev] [PATCH v3 5/5] alb.ut: Add tests for cross-numa polling.

2022-03-11 Thread Kevin Traynor
PMD auto load balance currently only operates when the polling pmd core will not change numa after reassignment. Add a unit test for this. Signed-off-by: Kevin Traynor Acked-by: Mike Pattrick --- tests/alb.at | 46 ++ 1 file changed, 46 insertions(+)

[ovs-dev] [PATCH v3 4/5] dpif-netdev: Fix PMD auto load balance with pmd-rxq-isolate.

2022-03-11 Thread Kevin Traynor
There are currently some checks for cross-numa polling cases to ensure that they won't effect the accuracy of the PMD ALB. If an rxq is pinned to a pmd core by the user it will not be reassigned by OVS, so even if it is non-local numa polled it will not impact PMD ALB accuracy. To establish

[ovs-dev] [PATCH v3 3/5] pmd.at: Add tests for multi non-local numa pmds.

2022-03-11 Thread Kevin Traynor
Ensure that if there are no local numa pmd cores available that pmd cores from all other non-local numas will be used. Signed-off-by: Kevin Traynor --- tests/pmd.at | 91 +++- 1 file changed, 90 insertions(+), 1 deletion(-) diff --git

[ovs-dev] [PATCH v3 2/5] dpif-netdev: Fix non-local numa selection.

2022-03-11 Thread Kevin Traynor
In the event of no pmd cores available on the local numa for an rxq to be assigned to, a pmd core from a non-local numa is selected. If there are more than one non-local numas with pmd cores they are RR through and checked if they have non-isolated pmds. When successfully finding a non-local

[ovs-dev] [PATCH v3 1/5] dpif-netdev: Fix typo in function name.

2022-03-11 Thread Kevin Traynor
Rename pmd_reblance_dry_run_needed() to pmd_rebalance_dry_run_needed(). Fixes: a83a406096e9 ("dpif-netdev: Sync PMD ALB state with user commands.") Signed-off-by: Kevin Traynor Acked-by: Mike Pattrick --- lib/dpif-netdev.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git

[ovs-dev] [PATCH v3 0/5] ALB/Rxq scheduling cross-numa polling fixes.

2022-03-11 Thread Kevin Traynor
Some fixes found in the area of cross-numa polling during recent code inspection and testing. v3: - Add additional unit test (new patch 3/5) for rxq scheduling to ensure that all non-local numas are used. - Other patches unchanged v2: - Updated comments in 3/4 to make the fn operation clearer.

Re: [ovs-dev] [PATCH v20 5/8] dpif-offload-netlink: Implement dpif-offload-provider API

2022-03-11 Thread Eelco Chaudron
On 11 Mar 2022, at 3:14, Chris Mi wrote: > On 2022-03-04 6:50 PM, Eelco Chaudron wrote: >> I’m re-adding some of my v18 comments, which I know are depending on Ilya’s >> feedback, although I still think we should have provider classes, i.e., not >> based on the datapath class. >> >> Some

Re: [ovs-dev] [PATCH] ofproto-dpif-xlate: Fix netdev native tunnel neigh discovery spa

2022-03-11 Thread Eelco Chaudron
On 14 Dec 2021, at 4:59, we...@ucloud.cn wrote: > From: wenxu > > netdev native tunnel encap process, when tunnel neighbor cache miss, > send arp/nd request. Before spa use tunnel source, change to: > find the spa which have the same subset with the nexthop of tunnel dst > on egress port, if

Re: [ovs-dev] [PATCH] ovsdb-cluster.at: Avoid test failures due to different hashing.

2022-03-11 Thread Eelco Chaudron
On 24 Feb 2022, at 20:36, Ilya Maximets wrote: > Depending on compiler flags and CPU architecture different hash > function are used. That impacts the order of tables and columns > in database representation making ovsdb report different columns > in the warning about ephemeral-to-persistent