[ovs-dev] [PATCH v5 0/5] dpif-netdev: Hash-based Tx packet steering

2022-01-05 Thread Maxime Coquelin
This series introduces a new hash-based Tx packets steering mode alognside existing XPS and static modes. The goal is to provide a mode where all the transmit queues are used, whatever the number of PMD threads. This may be used with Vhost-user ports, where the guest application driving the Virtio

[ovs-dev] [PATCH v5 2/5] netdev-dummy: Introduce per rxq/txq statistics.

2022-01-05 Thread Maxime Coquelin
This patch adds Rx and Tx per-queue statistics. It will be used to test hash-based Tx packet steering. Only "bytes", and "packets" per-queue custom statistics are added, as there are no global "errors" counters in netdev-dummy. Signed-off-by: Maxime Coquelin Reviewed-by: David Marchand --- lib/

[ovs-dev] [PATCH v5 3/5] dpif-netdev: Introduce Tx queue mode.

2022-01-05 Thread Maxime Coquelin
A boolean is currently used to differenciate between the static and XPS Tx queue modes. Since we are going to introduce a new steering mode, replace this boolean with an enum. This patch does not introduce functionnal changes. Signed-off-by: Maxime Coquelin Reviewed-by: David Marchand --- lib

[ovs-dev] [PATCH v5 1/5] netdev-dpdk: Introduce per rxq/txq Vhost-user statistics.

2022-01-05 Thread Maxime Coquelin
Hash-based Tx steering feature will enable steering Tx packets on transmit queues based on their hashes. In order to test the feature, it is needed to be able to get the per-queue statistics for Vhost-user ports. This patch introduces "bytes", "packets" and "error" per-queue custom statistics for

[ovs-dev] [PATCH v5 5/5] dpif-netdev.at: Add test for Tx packets steering.

2022-01-05 Thread Maxime Coquelin
This patch introduces a new test for Tx packets steering modes. First test validates the static mode, by checking that all packets are transmitted on a single queue (single PMD thread), then it tests the same with enabling hash based packet steering, ensuring packets are transmitted on both queues.

[ovs-dev] [PATCH v5 4/5] dpif-netdev: Introduce hash-based Tx packet steering mode.

2022-01-05 Thread Maxime Coquelin
This patch adds a new hash Tx steering mode that distributes the traffic on all the Tx queues, whatever the number of PMD threads. It would be useful for guests expecting traffic to be distributed on all the vCPUs. The idea here is to re-use the 5-tuple hash of the packets, already computed to bui

Re: [ovs-dev] [PATCH net 1/1] net: openvswitch: Fix ct_state nat flags for conns arriving from tc

2022-01-05 Thread Paul Blakey via dev
On Tue, 4 Jan 2022, Jakub Kicinski wrote: > On Tue, 4 Jan 2022 10:28:21 +0200 Paul Blakey wrote: > > Netfilter conntrack maintains NAT flags per connection indicating > > whether NAT was configured for the connection. Openvswitch maintains > > NAT flags on the per packet flow key ct_state fiel

Re: [ovs-dev] [PATCH v19 0/8] Add offload support for sFlow

2022-01-05 Thread Eelco Chaudron
On 5 Jan 2022, at 3:12, Chris Mi wrote: > Hi Eelco, > > Version 19 mainly  fixes a bug that psample_sock is destroyed when last > bridge is deleted. > And it also addresses some of the minor comments in v18. I think there is no > use > to address all of them because if we need to change the dp

Re: [ovs-dev] [PATCH] ofp-flow: skip flow reply if it exceeds the maximum message size

2022-01-05 Thread Eelco Chaudron
On 4 Jan 2022, at 17:52, Ilya Maximets wrote: > On 12/6/21 17:57, Eelco Chaudron wrote: >> Currently, if a flow reply results in a message which exceeds >> the maximum reply size, it will assert OVS. This would happen >> when OVN uses OpenFlow15 to add large flows, and they get read >> using Op

[ovs-dev] [PATCH v2] ofp-flow: skip flow reply if it exceeds the maximum message size

2022-01-05 Thread Eelco Chaudron
Currently, if a flow reply results in a message which exceeds the maximum reply size, it will assert OVS. This would happen when OVN uses OpenFlow15 to add large flows, and they get read using OpenFlow10 with ovs-ofctl. This patch prevents this and adds a test case to make sure the code behaves as

[ovs-dev] [PATCH ovn v2] northd: Add support for NAT with multiple DGP

2022-01-05 Thread Abhiram Sangana
Currently, if multiple distributed gateway ports (DGP) are configured on a logical router, NAT is disabled as part of commit 15348b7b (northd: Multiple distributed gateway port support.) This patch updates the behavior by selectively applying NAT rules at DGPs. A NAT rule is applied on matching pa

Re: [ovs-dev] [PATCH ovn v2] northd: Add support for NAT with multiple DGP

2022-01-05 Thread 0-day Robot
References: <20220105100833.152201-1-sangana.abhi...@nutanix.com> Bleep bloop. Greetings Abhiram Sangana, 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: Line is 84 ch

[ovs-dev] [PATCH ovn] ovs-sandbox: Allow specifying a custom system id.

2022-01-05 Thread Dumitru Ceara
In conjunction with --nbdb-source and --sbdb-source this makes sandbox troubleshooting of pre-existing deployments easier. Signed-off-by: Dumitru Ceara --- tutorial/ovs-sandbox | 10 +- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/tutorial/ovs-sandbox b/tutorial/ovs-sandb

[ovs-dev] [OVN-PATCH] ovndb-ctl:probe interval of ovndb-ctl daemon

2022-01-05 Thread 贾文涛
ovndb-ctl deamon mode, the connection cannot be reconnected when connection is broken, set inactivity probe interval to make it reconnected Signed-off-by: Wentao Jia --- utilities/ovn-dbctl.c | 4 1 file changed, 4 insertions(+) diff --git a/utilities/ovn-dbctl.c b/utilities/ovn-dbctl.

[ovs-dev] [PATCH ovn] physical: Add remote parent ports to OFTABLE_REMOTE_OUTPUT flows.

2022-01-05 Thread Dumitru Ceara
Even if it has no associated local OVS interface, for every port binding of type 'LP_VIF' that is a parent lport of container lports, a 'struct local_binding' object is created. When building flows to forward BUM traffic keep this in mind when adding flows to table OFTABLE_REMOTE_OUTPUT. Reported

Re: [ovs-dev] [PATCH] ofp-flow: skip flow reply if it exceeds the maximum message size

2022-01-05 Thread Eelco Chaudron
On 5 Jan 2022, at 10:43, Eelco Chaudron wrote: > On 4 Jan 2022, at 17:52, Ilya Maximets wrote: > >> On 12/6/21 17:57, Eelco Chaudron wrote: >>> Currently, if a flow reply results in a message which exceeds >>> the maximum reply size, it will assert OVS. This would happen >>> when OVN uses OpenFl

[ovs-dev] [PATCH v3] ofp-flow: skip flow reply if it exceeds the maximum message size

2022-01-05 Thread Eelco Chaudron
Currently, if a flow reply results in a message which exceeds the maximum reply size, it will assert OVS. This would happen when OVN uses OpenFlow15 to add large flows, and they get read using OpenFlow10 with ovs-ofctl. This patch prevents this and adds a test case to make sure the code behaves as

Re: [ovs-dev] [PATCH v2] ofproto-dpif: fix issue with non-reversible actions on a patch ports

2022-01-05 Thread Ilya Maximets
On 1/3/22 11:19, Eelco Chaudron wrote: > Hi Ilya, > > As you reviewed the v1, I’m wondering if this can get into the next release? Hi. Sorry, this one fell through the cracks. It seems to be a bug fix, so we'll need to backport it anyway. I'll try to get to this patch in a near future. Best reg

Re: [ovs-dev] [PATCH v2] ofproto-dpif: fix issue with non-reversible actions on a patch ports

2022-01-05 Thread Eelco Chaudron
On 5 Jan 2022, at 15:35, Ilya Maximets wrote: > On 1/3/22 11:19, Eelco Chaudron wrote: >> Hi Ilya, >> >> As you reviewed the v1, I’m wondering if this can get into the next release? > > Hi. Sorry, this one fell through the cracks. No problem, same here, I noticed it when picking up some relate

[ovs-dev] [PATCH] system-tso: Skip encap tests when userspace TSO is enabled.

2022-01-05 Thread Flavio Leitner
It seems Linux native tunnel configuration changed to enable checksum by default and that causes the check-system-tso unit test below to fail: 10: datapath - ping over vxlan tunnelFAILED (system-traffic.at:248) That happens because userspace TSO doesn't support encapsulation as mentioned in t

Re: [ovs-dev] [PATCH net 1/1] net: openvswitch: Fix ct_state nat flags for conns arriving from tc

2022-01-05 Thread Paul Blakey via dev
On Wed, 5 Jan 2022, Daniel Borkmann wrote: > On 1/5/22 3:57 PM, Jamal Hadi Salim wrote: > > On 2022-01-04 03:28, Paul Blakey wrote: > > [..] > >> --- a/include/linux/skbuff.h > >> +++ b/include/linux/skbuff.h > >> @@ -287,7 +287,9 @@ struct tc_skb_ext { > >>   __u32 chain; > >>   __u16 m

Re: [ovs-dev] [PATCH net 1/1] net: openvswitch: Fix ct_state nat flags for conns arriving from tc

2022-01-05 Thread Jamal Hadi Salim
On 2022-01-04 03:28, Paul Blakey wrote: [..] --- a/include/linux/skbuff.h +++ b/include/linux/skbuff.h @@ -287,7 +287,9 @@ struct tc_skb_ext { __u32 chain; __u16 mru; __u16 zone; - bool post_ct; + bool post_ct:1; + bool post_ct_snat:1; + bool post_c

Re: [ovs-dev] [PATCH net 1/1] net: openvswitch: Fix ct_state nat flags for conns arriving from tc

2022-01-05 Thread Daniel Borkmann
On 1/5/22 3:57 PM, Jamal Hadi Salim wrote: On 2022-01-04 03:28, Paul Blakey wrote: [..] --- a/include/linux/skbuff.h +++ b/include/linux/skbuff.h @@ -287,7 +287,9 @@ struct tc_skb_ext {   __u32 chain;   __u16 mru;   __u16 zone; -    bool post_ct; +    bool post_ct:1; +    bool post_c

[ovs-dev] [PATCH v4 0/9] Actions Infrastructure + Optimizations

2022-01-05 Thread Emma Finn
--- v4: - Rebase to master - Add ISA implementation of push_vlan action --- v3: - Refactored to fix unit test failures - Removed some sign-off on commits --- v2: - Fix the CI build issues --- This patchset introduces actions infrastructure changes which allows the user to choose between different

[ovs-dev] [PATCH v4 1/9] odp-execute: Add function pointers to odp-execute for different action implementations.

2022-01-05 Thread Emma Finn
This commit introduces the initial infrastructure required to allow different implementations for OvS actions. The patch introduces action function pointers which allows user to switch between different action implementations available. This will allow for more performance and flexibility so the us

[ovs-dev] [PATCH v4 2/9] odp-execute: Add function pointer for pop_vlan action.

2022-01-05 Thread Emma Finn
This commit removes the pop_vlan action from the large switch and creates a separate function for batched processing. A function pointer is also added to call the new batched function for the pop_vlan action. Signed-off-by: Emma Finn --- lib/odp-execute-private.c | 19 +- lib/odp

[ovs-dev] [PATCH v4 4/9] odp-execute: Add command to switch action implementation.

2022-01-05 Thread Emma Finn
This commit adds a new command to allow the user to switch the active action implementation at runtime. A probe function is executed before switching the implementation, to ensure the CPU is capable of running the ISA required. Usage: $ ovs-appctl dpif-netdev/action-impl-set scalar This commit

[ovs-dev] [PATCH v4 3/9] odp-execute: Add auto validation function for actions.

2022-01-05 Thread Emma Finn
This commit introduced the auto-validation function which allows users to compare the batch of packets obtained from different action implementations against the linear action implementation. The autovalidator function can be triggered at runtime using the following command: $ ovs-appctl dpif-net

[ovs-dev] [PATCH v4 5/9] pmd.at: Add test-cases for ovs-actions commands.

2022-01-05 Thread Emma Finn
From: Kumar Amber Added separate test-case for ovs-actions get/set commands: 1023: PMD - ovs-actions configuration The above added tests are to test the commands which are used to either get or set the ovs-actions function pointers to various different implementations like AVX512 or auto-validat

[ovs-dev] [PATCH v4 6/9] dpif-netdev: Add configure option to enable actions autovalidator at build time.

2022-01-05 Thread Emma Finn
From: Kumar Amber This commit adds a new command to allow the user to enable the actions autovalidator by default at build time thus allowing for running unit test by default. $ ./configure --enable-actions-default-autovalidator Signed-off-by: Kumar Amber --- NEWS | 2 ++ acinc

[ovs-dev] [PATCH v4 8/9] odp-execute: Add ISA implementation of pop_vlan action.

2022-01-05 Thread Emma Finn
This commit adds the AVX512 implementation of the pop_vlan action. The implementation here is auto-validated by the miniflow extract autovalidator, hence its correctness can be easily tested and verified. Signed-off-by: Emma Finn --- NEWS | 1 + lib/odp-execute-avx512.c |

[ovs-dev] [PATCH v4 7/9] odp-execute: Add ISA implementation of actions.

2022-01-05 Thread Emma Finn
This commit adds the AVX512 implementation of the action functionality. Usage: $ ovs-appctl dpif-netdev/action-impl-set avx512 Signed-off-by: Emma Finn --- Documentation/topics/dpdk/bridge.rst | 25 ++ Documentation/topics/testing.rst | 20 +--- NEWS

[ovs-dev] [PATCH v4 9/9] odp-execute: Add ISA implementation of push_vlan action.

2022-01-05 Thread Emma Finn
This commit adds the AVX512 implementation of the push_vlan action. The implementation here is auto-validated by the miniflow extract autovalidator, hence its correctness can be easily tested and verified. Signed-off-by: Emma Finn --- NEWS | 1 + lib/odp-execute-avx512.c |

Re: [ovs-dev] [PATCH ovn] ovs-sandbox: Allow specifying a custom system id.

2022-01-05 Thread Mark Michelson
Acked-by: Mark Michelson This is a new feature, but it's good for debugging, so should this be backported to previous releases? On 1/5/22 05:40, Dumitru Ceara wrote: In conjunction with --nbdb-source and --sbdb-source this makes sandbox troubleshooting of pre-existing deployments easier. Si

Re: [ovs-dev] [PATCH ovn] physical: Add remote parent ports to OFTABLE_REMOTE_OUTPUT flows.

2022-01-05 Thread Mark Michelson
Hi Dumitru, Looks good to me. Acked-by: Mark Michelson On 1/5/22 08:05, Dumitru Ceara wrote: Even if it has no associated local OVS interface, for every port binding of type 'LP_VIF' that is a parent lport of container lports, a 'struct local_binding' object is created. When building flows to

Re: [ovs-dev] [PATCH v2] netdev-dpdk: Refactor the DPDK transmit path.

2022-01-05 Thread Mike Pattrick
Hello Flavio, Great patch, I think you really did a lot to improve the code here and I think that's borne out by the consistent performance improvements across multiple tests. Regarding the 4% regression that Intel detected, I found the following white paper to describe the "scatter" test: https

[ovs-dev] [PATCH ovn v2] ovs-sandbox: Allow specifying a custom system id and hostname.

2022-01-05 Thread Dumitru Ceara
In conjunction with --nbdb-source and --sbdb-source this makes sandbox troubleshooting of pre-existing deployments easier. Signed-off-by: Dumitru Ceara --- v2: - Add support for specifying a custom hostname. --- tutorial/ovs-sandbox | 20 ++-- 1 file changed, 18 insertions(+), 2

Re: [ovs-dev] [PATCH ovn] ovs-sandbox: Allow specifying a custom system id.

2022-01-05 Thread Dumitru Ceara
On 1/5/22 20:34, Mark Michelson wrote: > Acked-by: Mark Michelson > Thanks for the review, Mark! However, while using this patch I realized it's even better if we can also specify a custom hostname. I posted a v2 with that added (sorry for the noise): http://patchwork.ozlabs.org/project/ovn/p

[ovs-dev] [PATCH] odp-util: Stop action list parsing if already oversized.

2022-01-05 Thread Ilya Maximets
The fuzzing target times out if the action list is too big. And we don't really need to fully parse all the actions just to say that they are too big in the end. So, check early and exit. This is a pure performance optimization, so not adding a unit test. All other code paths during the parsing

Re: [ovs-dev] [PATCH ovn v2] northd: Add support for NAT with multiple DGP

2022-01-05 Thread Mark Michelson
Hi, I haven't done a full review of this patch, but I have noticed a problem pretty early on when I started looking. The new ip_in_lrp_networks() function that is added here is intended to determine which l3dgw port to use for a particular NAT external address. The problem is that there are

[ovs-dev] [PATCH] ignore l4_hash

2022-01-05 Thread grimlock.lw via dev
From: "grimlock.lw" When Recving tcp stream form LOCAL port, and flows have a dp_hash group, linux call skb_set_hash_from_sk to set skb->hash and skb->l4_hash, ovs use skb->hash to select group bucket. When tcp retransmission occurs,linux call sk_rethink_txhash to rehash skb->hash of retransmi

Re: [ovs-dev] [PATCH] ignore l4_hash

2022-01-05 Thread 0-day Robot
Bleep bloop. Greetings grimlock.lw, 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: Author grimlock.lw needs to sign off. Lines checked: 29, Warnings: 0, Errors: 1 Please

[ovs-dev] [PATCH] ignore l4_hash

2022-01-05 Thread grimlock.lw via dev
From: "grimlock.lw" When Recving tcp stream form LOCAL port, and flows have a dp_hash group, linux call skb_set_hash_from_sk to set skb->hash and skb->l4_hash, ovs use skb->hash to select group bucket. When tcp retransmission occurs,linux call sk_rethink_txhash to rehash skb->hash of retransmi

Re: [ovs-dev] [PATCH] ignore l4_hash

2022-01-05 Thread 0-day Robot
Bleep bloop. Greetings grimlock.lw, 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: Author grimlock.lw needs to sign off. WARNING: Unexpected sign-offs from developers who

[ovs-dev] [PATCH] ignore l4_hash

2022-01-05 Thread grimlock.lw via dev
When Recving tcp stream form LOCAL port, and flows have a dp_hash group, linux call skb_set_hash_from_sk to set skb->hash and skb->l4_hash, ovs use skb->hash to select group bucket. When tcp retransmission occurs,linux call sk_rethink_txhash to rehash skb->hash of retransmission packet, so the r

Re: [ovs-dev] [PATCH v3] acinclude: Provide better error info when linking fails with DPDK.

2022-01-05 Thread Pai G, Sunil
Hi Eelco, > > - Could not find DPDK library in default search path, update > > + Failed to link with DPDK, check config.log for more details. > > + Could not find working DPDK library in default search path, > > + update > >PKG_CONFIG_PATH for pkg-config to