On 3/18/22 14:19, Eelco Chaudron wrote:
On 9 Mar 2022, at 17:10, Adrian Moreno wrote:
Having both LONG and SHORT versions of the SAFE macros with different
names is not very convenient. Add helpers that facilitate overloading
such macros using a single name.
In order to work around a known
On 3/18/22 14:32, Eelco Chaudron wrote:
On 9 Mar 2022, at 17:10, Adrian Moreno wrote:
Use multi-variable iteration helpers to rewrite non-safe loops.
There is an important behavior change compared with the previous
implementation: When the loop ends normally (i.e: not via "break;"), the
ob
On 3/18/22 14:38, Eelco Chaudron wrote:
On 9 Mar 2022, at 17:10, Adrian Moreno wrote:
Using the SHORT version of the *_SAFE loops makes the code cleaner
and less error-prone. So, use the SHORT version and remove the extra
variable when possible.
In order to be able to use both long and sho
On 3/21/22 11:38, Eelco Chaudron wrote:
On 9 Mar 2022, at 17:10, Adrian Moreno wrote:
It seems versions older than 0.6.2 generate false positives. Bump the
recommended version and make sure we uset the headers from the
uset? and missing remaining of the line?
Suggested-by: Dumitru Cear
On Tue, Mar 22, 2022 at 6:43 PM Mike Pattrick wrote:
>
> In glibc 2.32 sys_siglist is no longer exported. The MT-safe function
> sigdescr_np() is now available for the same purpose.
I am not familiar with this, but a quick search returns:
https://www.gnu.org/software/gnulib/manual/html_node/sigde
When enabling offload for ERSPAN we are seeing one error as below
netdev_offload_tc|INFO|init: failed to get ifindex for erspan0:
Operation not supported
netdev_offload|INFO|erspan0: No suitable flow API found.
Adding the NETDEV_VPORT_GET_IFINDEX to ERSPAN device resolves this
error
Signed-off-b
When enabling offload for ERSPAN we are seeing one error as below
netdev_offload_tc|INFO|init: failed to get ifindex for erspan0:
Operation not supported
netdev_offload|INFO|erspan0: No suitable flow API found.
Adding the NETDEV_VPORT_GET_IFINDEX to ERSPAN device resolves this
error
Signed-off-b
On 3/22/22 21:17, Rosemarie O'Riorden wrote:
> Hi Dumitru,
>
> Thank you for the review! I'm going to send a v2 shortly with some changes.
>
>> I'm not sure what the benefit is to have 'start' as 'const unsigned char
>> *'; it could easily be 'const char *' and we wouldn't have to cast later
>> o
On 3/22/22 19:05, Mark Michelson wrote:
> On 3/22/22 11:06, Numan Siddique wrote:
>> On Mon, Mar 14, 2022 at 4:26 AM Xavier Simonart
>> wrote:
>>>
>>> This will more or less double the number of test cases.
>>> It is possible to select a reduce set of test cases using -k "keywords".
>>> Keyword su
When running builds with UBSan, some undefined behavior was detected in the
iteration of common data data structures in OVS.
Coincidentally, a bug was reported [1] whose root cause whas another, this time
undetected, undefined behavior in the iteration macros.
>From both cases, we conclude that
Multi-variable loop iterators avoid potential undefined behavior by
using an internal iterator variable to perform the iteration and only
referencing the containing object (via OBJECT_CONTAINING) if the
iterator has been validated via the second expression of the for
statement.
That way, the user
Safe version of multi-variable iterator helpers declare an internal
variable to store the next value of the iterator temporarily.
Two versions of the macro are provided, one that still uses the NEXT
variable for backwards compatibility and a shorter version that does not
require the use of an addi
Use multi-variable iteration helpers to rewrite non-safe loops.
There is an important behavior change compared with the previous
implementation: When the loop ends normally (i.e: not via "break;"), the
object pointer provided by the user is NULL. This is safer because it's
not guaranteed that it w
Having both LONG and SHORT versions of the SAFE macros with different
names is not very convenient. Add helpers that facilitate overloading
such macros using a single name.
In order to work around a known issue in MSVC [1], an indirection layer
has to be introduced.
[1]
https://developercommunity
HMAP_FOR_EACH_POP iterator has an additional difficulty, which is the
use of two iterator variables of different types.
In order to re-write this loop in a UB-safe manner, create a iterator
struct to be used as loop variable.
Acked-by: Dumitru Ceara
Acked-by: Eelco Chaudron
Signed-off-by: Adria
Rewrite hmap's loops using multi-variable helpers.
For SAFE loops, use the LONG version of the multi-variable macros to
keep backwards compatibility.
Acked-by: Eelco Chaudron
Signed-off-by: Adrian Moreno
---
include/openvswitch/hmap.h | 61 +++---
lib/ovs-numa.h
Re-write cmap's loops using multi-variable helpers.
For iterators based on cmap_cursor, we just need to make sure the NODE
variable is not used after the loop, so we set it to NULL.
Acked-by: Eelco Chaudron
Signed-off-by: Adrian Moreno
---
lib/cmap.h| 22 --
tests/t
Using the SHORT version of the *_SAFE loops makes the code cleaner
and less error-prone. So, use the SHORT version and remove the extra
variable when possible.
In order to be able to use both long and short versions without changing
the name of the macro for all the clients, overload the existing
Re-write hindex's loops using multi-variable helpers.
For safe loops, use the LONG version to maintain backwards
compatibility.
Acked-by: Eelco Chaudron
Signed-off-by: Adrian Moreno
---
lib/hindex.h| 45 ++---
tests/test-hindex.c | 6 ++
2 f
Using SHORT version of the *_SAFE loops makes the code cleaner and less
error prone. So, use the SHORT version and remove the extra variable
when possible for hmap and all its derived types.
In order to be able to use both long and short versions without changing
the name of the macro for all the
Using SHORT version of the *_SAFE loops makes the code cleaner and less
error prone. So, use the SHORT version and remove the extra variable
when possible for HINDEX_*_SAFE.
In order to be able to use both long and short versions without changing
the name of the macro for all the clients, overload
Add SHORT version of SAFE loop macros and overload the current macro
name to keep backwards compatibility.
Acked-by: Dumitru Ceara
Acked-by: Eelco Chaudron
Signed-off-by: Adrian Moreno
---
lib/sset.c | 8
lib/sset.h | 15 ++-
2 files changed, 18 insertions(+), 5 deletions
It seems versions older than 0.6.2 generate false positives. Bump the
recommended version and make sure we use the right headers from the ovs
tree.
Suggested-by: Dumitru Ceara
Acked-by: Eelco Chaudron
Signed-off-by: Adrian Moreno
---
Documentation/intro/install/general.rst | 2 +-
acinclude.m4
In order to be consistent with the rest of the SAFE loop macros,
overload each of the generated *_SAFE macro with a SHORT version that
does not require the user to provide the NEXT variable.
Acked-by: Dumitru Ceara
Acked-by: Eelco Chaudron
Signed-off-by: Adrian Moreno
---
ovsdb/ovsdb-idlc.in
Use multi-variable iteration helpers to rewrite rculist loops macros.
There is an important behavior change compared with the previous
implementation: When the loop ends normally (i.e: not via "break;"),
the object pointer provided by the user is NULL. This is safer
because it's not guaranteed tha
Bleep bloop. Greetings Adrian Moreno, 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: Use ovs_assert() in place of assert()
#135 FILE: tests/test-list.c:64:
assert(e ==
Bleep bloop. Greetings Adrian Moreno, 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: Use ovs_assert() in place of assert()
#1180 FILE: tests/test-list.c:175:
Bleep bloop. Greetings Adrian Moreno, 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
#78 FILE: include/openvswitch/hmap.h:182:
HM
Bleep bloop. Greetings Adrian Moreno, 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: Use ovs_assert() in place of assert()
#78 FILE: tests/test-hmap.c:320:
assert(e
Bleep bloop. Greetings Adrian Moreno, 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
#88 FILE: include/openvswitch/hmap.h:182:
HM
Bleep bloop. Greetings Adrian Moreno, 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: Use ovs_assert() in place of assert()
#73 FILE: tests/test-cmap.c:77:
assert(e == N
Bleep bloop. Greetings Adrian Moreno, 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: Use ovs_assert() in place of assert()
#96 FILE: tests/test-hindex.c:269:
Bleep bloop. Greetings Adrian Moreno, 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: Use ovs_assert() in place of assert()
#126 FILE: tests/test-hindex.c:296:
a
> -Original Message-
> From: Amber, Kumar
> Sent: Tuesday, March 15, 2022 4:12 AM
> To: ovs-dev@openvswitch.org
> Cc: i.maxim...@ovn.org; Ferriter, Cian ; Stokes, Ian
> ; f...@sysclose.org; echau...@redhat.com; Van Haaren,
> Harry ; Amber, Kumar
> Subject: [PATCH v6 2/6] dpif-netdev/mfex:
Hashing Optimization are also included which can further
improve performance by approximately 10%.
---
v7:
- Split Ipv4 Hahsing to separate Patchset
v6:
- Reorder Patches in the Patchset.
v5:
- Add Ipv6 and TCP packet length checks.
v4:
- rebase to master.
- use static key lenghts for different pa
This patch adds the per profile AVX512 opt hashing to autovalidator
for validating the optimized hash values against the scalar hash.
Signed-off-by: Kumar Amber
---
lib/dpif-netdev-private-extract.c | 12
1 file changed, 12 insertions(+)
diff --git a/lib/dpif-netdev-private-extract
This patch avoids calculating the software hash of the packet again
if the optimized miniflow-extract hit and has already calculated the
packet hash. In cases of scalar miniflow extract, the normal hashing
calculation is performed.
Signed-off-by: Kumar Amber
---
lib/dpif-netdev-avx512.c | 6 +++-
This commit adds IPv4 profile specific hashing which
uses fixed offsets into the packet to improve hashing
performance.
Signed-off-by: Kumar Amber
Signed-off-by: Harry van Haaren
Co-authored-by: Harry van Haaren
---
v4:
- Use pre-defined hash length values.
v3:
- Fix check-patch sign-offs.
---
The mfex pcap generation script is improved for varied length
traffic and also removes the hard coded mfex_pcap and instead uses
the script itself to generate complex traffic patterns for testing.
Signed-off-by: Kumar Amber
---
tests/automake.mk | 1 -
tests/mfex_fuzzy.py | 55 +
On 23 Mar 2022, at 11:43, Abhiram R N wrote:
> When enabling offload for ERSPAN we are seeing one error as below
>
> netdev_offload_tc|INFO|init: failed to get ifindex for erspan0:
> Operation not supported
> netdev_offload|INFO|erspan0: No suitable flow API found.
>
> Adding the NETDEV_VPORT_G
On Wed, Mar 23, 2022 at 4:23 AM David Marchand
wrote:
>
> On Tue, Mar 22, 2022 at 6:43 PM Mike Pattrick wrote:
> >
> > In glibc 2.32 sys_siglist is no longer exported. The MT-safe function
> > sigdescr_np() is now available for the same purpose.
>
> I am not familiar with this, but a quick search
On 23 Mar 2022, at 12:56, Adrian Moreno wrote:
> Use multi-variable iteration helpers to rewrite non-safe loops.
>
> There is an important behavior change compared with the previous
> implementation: When the loop ends normally (i.e: not via "break;"), the
> object pointer provided by the user
One small nit in patch 4, the rest of the changes from v4 to v5 look good.
//Eelco
On 23 Mar 2022, at 12:56, Adrian Moreno wrote:
> When running builds with UBSan, some undefined behavior was detected in the
> iteration of common data data structures in OVS.
> Coincidentally, a bug was reported
On 23 Mar 2022, at 8:28, Adrian Moreno wrote:
> On 3/18/22 14:38, Eelco Chaudron wrote:
>>
>>
>> On 9 Mar 2022, at 17:10, Adrian Moreno wrote:
>>
>>> Using the SHORT version of the *_SAFE loops makes the code cleaner
>>> and less error-prone. So, use the SHORT version and remove the extra
>>> va
On 22/03/2022 15:34, David Marchand wrote:
On Fri, Mar 11, 2022 at 6:06 PM Kevin Traynor wrote:
Rename pmd_reblance_dry_run_needed() to
pmd_rebalance_dry_run_needed().
Fixes: a83a406096e9 ("dpif-netdev: Sync PMD ALB state with user commands.")
Nit: this nit applies to other patches in this
On 22/03/2022 15:35, David Marchand wrote:
On Fri, Mar 11, 2022 at 6:06 PM Kevin Traynor wrote:
Nit: the title is a bit scary, while this fix only matters when using
cores from (strictly) more than 2 numas in OVS.
To help users understand the impact of the issue/fix, I would add a
comment ab
On 22/03/2022 15:35, David Marchand wrote:
On Fri, Mar 11, 2022 at 6:06 PM 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.
This could be squashed with patch 2.
I had found bugs/tested fixes withou
On 22/03/2022 15:36, David Marchand wrote:
On Fri, Mar 11, 2022 at 6: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
I prefer "P
On 22/03/2022 15:36, David Marchand wrote:
s/alb.ut/alb.at/ in title.
That is not the first time I have done that :/
(*.ut is just too perfect to be true for UTs files)
Thanks for the reviews.
On Fri, Mar 11, 2022 at 6:06 PM Kevin Traynor wrote:
PMD auto load balance currently only oper
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
Acked-by: David Marchand
---
lib/dpif-netdev.c | 4 ++--
1 file changed, 2 insertions(+), 2 d
Some fixes found in the area of cross-numa polling
during recent code inspection and testing.
v5:
- Reworked 3/5 UT check to simplify
- Minor terminology changes in comments and commitlogs
- Minor changes in commitlog tags
v4:
- Reworked pmd.at UT to account for numa hash map
v3:
- Add additiona
PMD auto load balance currently only operates when the polling PMD
thread core will not change numa after reassignment.
Add a unit test for this.
Signed-off-by: Kevin Traynor
Acked-by: Mike Pattrick
Acked-by: David Marchand
---
tests/alb.at | 46 ++
This issue only occurs when there are more than 2 numa nodes
and no local numa PMD thread cores available for an interface
rxq.
In the event of no PMD thread cores available on the local numa
for an rxq to be assigned to, a PMD thread core from a non-local
numa is selected.
If there are more than
Ensure that if there are no local numa PMD thread
cores available that pmd cores from all other non-local
numas will be used.
Signed-off-by: Kevin Traynor
---
tests/pmd.at | 40 +++-
1 file changed, 39 insertions(+), 1 deletion(-)
diff --git a/tests/pmd.at b/
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 thread 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 establis
Add check to see if the LR actually has NAT entries configured.
Otherwise we spam the log unnecessarily.
Fixes: b8194738c99e ("northd: Properly warn for NAT on LR with multiple gw
ports.")
Signed-off-by: Dumitru Ceara
---
northd/northd.c | 2 +-
tests/ovn-northd.at | 4 ++--
2 files changed
> -Original Message-
> From: Ilya Maximets
> Sent: Thursday 17 March 2022 13:10
> To: Eli Britstein ; d...@openvswitch.org; Finn, Emma
>
> Cc: i.maxim...@ovn.org; Stokes, Ian
> Subject: Re: [ovs-dev] [PATCH V4 1/2] netdev-offload-dpdk: Use has_vlan match
> attribute
>
> On 3/16/22 14:56
On 3/23/22 14:25, Eelco Chaudron wrote:
One small nit in patch 4, the rest of the changes from v4 to v5 look good.
Sorry about that. Dumitru said he might take a look at the latest version. I'll
give him some time and resend.
//Eelco
On 23 Mar 2022, at 12:56, Adrian Moreno wrote:
When
On 3/23/22 17:11, Adrian Moreno wrote:
>
>
> On 3/23/22 14:25, Eelco Chaudron wrote:
>> One small nit in patch 4, the rest of the changes from v4 to v5 look good.
>>
>
> Sorry about that. Dumitru said he might take a look at the latest version.
> I'll give him some time and resend.
If there wi
On Wed, Mar 23, 2022 at 9:42 AM Numan Siddique wrote:
>
> On Tue, Mar 22, 2022 at 2:54 PM Han Zhou wrote:
> >
> > Some NICs support HW offloading for datapath flows, but masked access to
> > the 128-bit ct_label field may prevent a flow being offloaded due to HW
> > limitations. OVN's use of ct_l
On Wed, Mar 23, 2022 at 2:13 PM Han Zhou wrote:
>
> On Wed, Mar 23, 2022 at 9:42 AM Numan Siddique wrote:
> >
> > On Tue, Mar 22, 2022 at 2:54 PM Han Zhou wrote:
> > >
> > > Some NICs support HW offloading for datapath flows, but masked access to
> > > the 128-bit ct_label field may prevent a fl
On Wed, Mar 23, 2022 at 11:26 AM Numan Siddique wrote:
>
> On Wed, Mar 23, 2022 at 2:13 PM Han Zhou wrote:
> >
> > On Wed, Mar 23, 2022 at 9:42 AM Numan Siddique wrote:
> > >
> > > On Tue, Mar 22, 2022 at 2:54 PM Han Zhou wrote:
> > > >
> > > > Some NICs support HW offloading for datapath flows
On Wed, Mar 23, 2022 at 10:09 AM Kevin Traynor wrote:
>
> Ensure that if there are no local numa PMD thread
> cores available that pmd cores from all other non-local
> numas will be used.
>
> Signed-off-by: Kevin Traynor
Acked-by: Mike Pattrick
> ---
> tests/pmd.at | 40 +
On Wed, Mar 23, 2022 at 2:39 PM Han Zhou wrote:
>
> On Wed, Mar 23, 2022 at 11:26 AM Numan Siddique wrote:
> >
> > On Wed, Mar 23, 2022 at 2:13 PM Han Zhou wrote:
> > >
> > > On Wed, Mar 23, 2022 at 9:42 AM Numan Siddique wrote:
> > > >
> > > > On Tue, Mar 22, 2022 at 2:54 PM Han Zhou wrote:
>
On Thu, Mar 17, 2022 at 11:54 AM Christophe Fontaine
wrote:
>
> This config param allows the delivery of broadcast and multicast packets
> to the secondary interface of non-lacp bonds, identical to the same option
> for kernel bonds.
>
> Tested with an ovs-dpdk balance-slb bond with 2 virtual func
Introduce the capability to run a recompute just on updated nodes in case
of an incremental processing abort (e.g. if the controller is not able to
write on the sb db and the change can't be processed incrementally).
This will avoid wasting CPU time on nodes that are not changed during
last run.
S
> From: Karthik Chandrashekar
>
> Add a new NB and SB table for managing Static MAC_Binding entries.
> This table is currently supported for logical routers. OVN northd
> is responsible for propagating the values from NB to SB. OVN controller
> is responsible for installation MAC lookup flows. Th
on destroy flow table instance, referenced flow mask may be released
too. fuction ovs_flow_tbl_destroy(), release flow mask first and then
destroy flow table instance. this will trigger kernel panic on detroy
datapath
[ 377.647756] kernel BUG at .../datapath/linux/flow_table.c:272!
[ 377.653
Bleep bloop. Greetings Wentao Jia, 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.
git-am:
error: patch failed: datapath/flow_table.c:415
error: datapath/flow_table.c: patch does not apply
err
on destroy flow table instance, referenced flow mask may be released
too. fuction ovs_flow_tbl_destroy(), release flow mask first and then
destroy flow table instance. this will trigger kernel panic on detroy
datapath
[ 377.647756] kernel BUG at .../datapath/linux/flow_table.c:272!
[ 377.653
Bleep bloop. Greetings Wentao Jia, 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.
git-am:
error: corrupt patch at line 19
error: could not build fake ancestor
hint: Use 'git am --show-current
71 matches
Mail list logo