[ovs-dev] [PATCH] build: check libibverbs deps before linking with dpdk

2021-11-09 Thread Harold Huang
When I build ovs-dpdk without mlx4/mlx5 driver, the configure log is as follows: checking for DPDK... yes checking for faulty pkg-config version... no checking for rte_config.h... yes checking whether RTE_LIBRTE_VHOST_NUMA is declared... yes checking for library containing get_mempolicy... -lnuma

[ovs-dev] [PATCH 4/4] Tunnel: Snoop ingress packets and update neigh cache if needed.

2021-11-09 Thread Paolo Valerio
In case of native tunnel with bfd enabled, if the MAC address of the remote end's interface changes (e.g. because it got rebooted, and the MAC address is allocated dynamically), the BFD session will never be re-established. This happens because the local tunnel neigh entry doesn't get updated,

[ovs-dev] [PATCH 2/4] Native tunnel: Add tnl/neigh/aging command.

2021-11-09 Thread Paolo Valerio
with the command is now possible to change the aging time of the cache entries. For the existing entries the aging time is updated only if the current expiration is greater than the new one. In any case, the next refresh will set it to the new value. This is intended mostly for debugging

[ovs-dev] [PATCH 3/4] Native tunnel: Do not refresh the entry while revalidating.

2021-11-09 Thread Paolo Valerio
This is a minor issue but visible e.g. when you try to flush the neigh cache while the ARP flow is still present in the datapath, triggering the revalidation of the datapath flows which subsequently refreshes/adds the entry in the cache. Signed-off-by: Paolo Valerio --- v2: - renamed update ->

[ovs-dev] [PATCH 1/4] Native tunnel: Read/write expires atomically.

2021-11-09 Thread Paolo Valerio
Expires is modified in different threads (revalidator, pmd-rx, bfd-tx). It's better to use atomics for such potentially parallel write. Signed-off-by: Paolo Valerio --- v2: - modified commit description - added _MS suffix to NEIGH_ENTRY_DEFAULT_IDLE_TIME - renamed local variable expired ->

[ovs-dev] [PATCH 0/4] Native tunnel: Update neigh entries in tnl termination.

2021-11-09 Thread Paolo Valerio
v2: - rebased against master - turned 'ageing' -> 'aging' - further details of v1 -> v2 respin has been added to each patch The series is composed of the following patches: #1: Expires is modified in different contexts (revalidator, pmd-rx, bfd-tx). It's probably not very racy for many

Re: [ovs-dev] [PATCH 1/4] Native tunnel: Read/write expires atomically.

2021-11-09 Thread Paolo Valerio
Gaëtan Rivet writes: > On Mon, Nov 8, 2021, at 20:30, Paolo Valerio wrote: > [...] + +atomic_read_relaxed(>expires, ); >>> >>> I'm having doubts about unfenced read / writes on expires. >>> Technically on lookup there would be reads then writes without barriers. >>> I'm not

Re: [ovs-dev] [PATCH ovn v2] Add a northbound interface to program MAC_Binding table

2021-11-09 Thread Numan Siddique
On Wed, Nov 3, 2021 at 3:17 PM svc.eng.git-mail wrote: > > Hi Lorenzo, > > > what will it happen if pinctrl learns a different MAC for the given IP > > after the CMS has > configured the static binding? Will it be overwritten? If so I guess we need a > flag to avoid it. > > 1. Static binding

Re: [ovs-dev] [PATCH ovn v1 1/5] manpages.mk: fix dependencies path

2021-11-09 Thread Numan Siddique
On Mon, Nov 8, 2021 at 6:55 AM Dumitru Ceara wrote: > > On 11/8/21 12:45 PM, Adrian Moreno wrote: > > > > > > On 11/5/21 17:12, Dumitru Ceara wrote: > >> On 10/21/21 11:10 AM, Adrian Moreno wrote: > >>> Currently, if "make" is run after the project is built, the root > >>> manpage (ovn-detrace.1)

Re: [ovs-dev] [PATCH ovn v10 0/4] Introduce infrastructure for VIF plug providers.

2021-11-09 Thread Han Zhou
On Tue, Nov 9, 2021 at 11:12 AM Numan Siddique wrote: > > On Tue, Nov 9, 2021 at 1:38 AM Frode Nordahl > wrote: > > > > On Mon, Nov 8, 2021 at 11:08 PM Numan Siddique wrote: > > > > > > On Fri, Nov 5, 2021 at 5:32 PM Frode Nordahl > > > wrote: > > > > > > > > fre. 5. nov. 2021, 20:43 skrev Han

Re: [ovs-dev] [PATCH ovn v5 3/6] northd: Introduce struct northd_data

2021-11-09 Thread 0-day Robot
Bleep bloop. Greetings Mark Gray, 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: Comment with 'xxx' marker #1500 FILE: northd/northd.c:14516: /* XXX Having to

[ovs-dev] [PATCH ovn v5 5/6] northd: Add lflow node

2021-11-09 Thread Mark Gray
From: Mark Gray Add an additional node that initially does nothing. This serves as a template for how to add a new node. This node is inserted after the northd_node. This node will be updated in a later commit to generate logical flows for the SBDB. Signed-off-by: Mark Gray ---

[ovs-dev] [PATCH ovn v5 3/6] northd: Introduce struct northd_data

2021-11-09 Thread Mark Gray
From: Mark Gray 'struct northd_data' is used to hold the global state data for the incremental processing node 'en_northd'. This structure will also hold 'struct northd_input' which will hold references to output data from its input nodes. In particular, this will hold references to database

[ovs-dev] [PATCH ovn v5 6/6] northd: Do not calculate database sequence numbers incrementally

2021-11-09 Thread Mark Gray
From: Mark Gray In order to remove the IDL loop variable from the engine context, we do not calculate the database sequence numbers incrementally. Signed-off-by: Mark Gray --- lib/inc-proc-eng.h | 2 - northd/en-northd.c | 3 +- northd/inc-proc-northd.c | 2 -

[ovs-dev] [PATCH ovn v5 1/6] northd: Introduce incremental processing for northd

2021-11-09 Thread Mark Gray
From: Mark Gray Initial implementation adds a single node (northd). This single node executes the northd processing pipeline but does not do so incrementally. In order to develop incremental processing for northd, the code will be organised with a .c/.h file for each I-P node following the

[ovs-dev] [PATCH ovn v5 4/6] northd: Call build_mcast_groups() from build_lflows()

2021-11-09 Thread Mark Gray
From: Mark Gray As 'mcast_groups' and 'igmp_groups' need to be modified by build_lflows(), we move build_mcast_groups() to build_flows(). This is in preparation for a later commit which will create an lflow node. If these structures form part of the input of the new lflow we should not modify

[ovs-dev] [PATCH ovn v5 2/6] northd: Add n_nat_entries field to 'struct ovn_datapath'

2021-11-09 Thread Mark Gray
From: Mark Gray destroy_nat_entries() iterates over nat_entries using 'n_nat' as the number of NAT entries from the NB database. This behaviour can be incorrect as it assumes that there are 'n_nat' 'nat_entries'. 'struct ovn_datapath' should maintain a count of 'nat_entries' in 'struct

[ovs-dev] [PATCH ovn v5 0/6] northd: Introduce incremental processing framework

2021-11-09 Thread Mark Gray
Add the 'inc-proc-eng' framework to northd. This does *not* add any incremental processing at this stage but provides the framework to do so. Even in this base configuration, we see an advantage as northd no longer processes the databases if it has been woken only to handle, for example, a unixctl

Re: [ovs-dev] [PATCH ovn v2] nb: Add support for gateway_mtu_bypass.

2021-11-09 Thread Numan Siddique
On Fri, Nov 5, 2021 at 5:21 AM Dumitru Ceara wrote: > > There are various costs (e.g., not being able to perform hardware > offload in some cases) when using check_pkt_larger() so the CMS > can now limit the impact by bypassing the packet length checks for > specific types of traffic (e.g., TCP).

Re: [ovs-dev] [PATCH ovn v10 0/4] Introduce infrastructure for VIF plug providers.

2021-11-09 Thread Numan Siddique
On Tue, Nov 9, 2021 at 1:38 AM Frode Nordahl wrote: > > On Mon, Nov 8, 2021 at 11:08 PM Numan Siddique wrote: > > > > On Fri, Nov 5, 2021 at 5:32 PM Frode Nordahl > > wrote: > > > > > > fre. 5. nov. 2021, 20:43 skrev Han Zhou : > > > > > > > > > > > > > > > On Fri, Nov 5, 2021 at 7:00 AM Frode

Re: [ovs-dev] [PATCH ovn] ovn-trace: Set ct_state if not already set when tracing ct(nat).

2021-11-09 Thread Numan Siddique
On Mon, Nov 1, 2021 at 9:36 AM Dumitru Ceara wrote: > > Since 0038579d1928 ("northd: Optimize ct nat for load balancer > traffic.") calls to 'ct()' and 'ct(nat)' are merged because 'ct(nat)' > implies 'ct()'. However ovn-trace was not setting ct_state when > processing 'ct(nat)'. This was

Re: [ovs-dev] [ovn] chassis with VXLAN breaks setup which is using OVN-IC

2021-11-09 Thread Ihar Hrachyshka
It was not the intent to change the range of tunnel keys for vtep setups. If that happens, we should fix it. Perhaps the range is not touched but the range validation is activated in vtep case. If so, the validation should be disabled. Ihar On 11/8/21 4:57 PM, Vladislav Odintsov wrote: Hi,

Re: [ovs-dev] [PATCH ovn branch-21.09 0/3] Improve Load Balancer performance.

2021-11-09 Thread Numan Siddique
On Wed, Nov 3, 2021 at 4:11 PM Numan Siddique wrote: > > On Tue, Nov 2, 2021 at 3:35 PM Dumitru Ceara wrote: > > > > On 11/2/21 8:30 PM, Dumitru Ceara wrote: > > > This series backports the load balancer performance improvements to > > > stable branch-21.09. > > > > > > - patch 1/3 changes the

Re: [ovs-dev] [PATCH ovn 1/2] northd: Treat reachable and unreachable VIPs differently.

2021-11-09 Thread Numan Siddique
On Tue, Nov 9, 2021 at 7:42 AM Dumitru Ceara wrote: > > On 11/8/21 6:10 PM, num...@ovn.org wrote: > > From: Numan Siddique > > > > If a logical switch is used to join multiple gateway > > routers and if each of these gateway routers are > > configured with the same load balancer, then after the

Re: [ovs-dev] [ovn] chassis with VXLAN breaks setup which is using OVN-IC

2021-11-09 Thread Vladislav Odintsov
That sounds okay. But the problem is that if one have at least one chassis, which even doesn’t act in OVN IC, it will break ovn interconnected switches and LRs. Regards, Vladislav Odintsov > On 9 Nov 2021, at 18:46, Numan Siddique wrote: > > On Mon, Nov 8, 2021 at 5:05 PM Numan Siddique

Re: [ovs-dev] [PATCH ovn] ci: Remove generating ovn-k8s test report.

2021-11-09 Thread Numan Siddique
On Tue, Nov 9, 2021 at 7:43 AM Dumitru Ceara wrote: > > This change is backported from upstream ovn-kubernetes as we're seeing > the same issue in OVN runs too: > > https://github.com/ovn-org/ovn-kubernetes/commit/c2ef04188 > > Signed-off-by: Dumitru Ceara Thanks for fixing this. Applied to

[ovs-dev] [PATCH dpdk-latest v3 4/5] netdev-dpdk: Fix vhost namespace with 21.11-rc2.

2021-11-09 Thread David Marchand
vhost ops is now prefixed with rte_ [1]. 1: https://git.dpdk.org/dpdk/commit/?id=e7c727c307d7 Signed-off-by: David Marchand --- lib/netdev-dpdk.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/netdev-dpdk.c b/lib/netdev-dpdk.c index f45575e9a5..d1fd6c766e 100644 ---

[ovs-dev] [PATCH dpdk-latest v3 3/5] netdev-dpdk: Fix mbuf macros namespace with 21.11-rc1.

2021-11-09 Thread David Marchand
PKT_[RT]X_* and other mbuf macros have been prefixed with RTE_MBUF_ [1]. Update accordingly. 1: https://git.dpdk.org/dpdk/commit/?id=daa02b5cddbb Signed-off-by: David Marchand --- lib/dp-packet.h | 26 ++ lib/netdev-dpdk.c | 18 +- 2 files changed, 23

[ovs-dev] [PATCH dpdk-latest v3 2/5] netdev-dpdk: Remove unused attribute from rte_flow rule.

2021-11-09 Thread David Marchand
The shared attribute has been deprecated some time ago and is removed in 21.11 [1]. Since its value was 0, let's rely on implicit init by not mentionning it. 1: https://git.dpdk.org/dpdk/commit/?id=92ef4b8f1688 Signed-off-by: David Marchand --- lib/netdev-dpdk.c | 2 +- 1 file changed, 1

[ovs-dev] [PATCH dpdk-latest v3 0/5] Fixes for DPDK v21.11

2021-11-09 Thread David Marchand
Hello Ian, This series applies on a dpdk-latest branch rebased on current master [1]. It builds and passes checks in GHA, see [2]. Fyi, the lcore API is marked stable, I'll repost my patch for OVS as a followup of this series. v21.11-rc2 was tagged last night. There will be no other API change

[ovs-dev] [PATCH dpdk-latest v3 1/5] netdev-dpdk: Remove access to DPDK internals.

2021-11-09 Thread David Marchand
Instead of dereferencing DPDK ethdev internals, we can list "sibling" ports [1]: such ports share the underlying rte_device object. That API was experimental and went stable in 21.11 [2]. 1: https://git.dpdk.org/dpdk/commit/?id=7f98942886bc 2: https://git.dpdk.org/dpdk/commit/?id=b37ed6def367

[ovs-dev] [PATCH v2 1/1] datapath-windows: Reset flow key after Ipv4 fragments are reassembled

2021-11-09 Thread Wilson Peng
While testing OVS-windows flows for the Ip fragments, the traffic will be dropped As it may match incorrect OVS flow. From the code, after the Ipv4 fragments are Reassembled, it willl still use the flow key of the last Ipv4 fragments to match CT causing match error.

Re: [ovs-dev] [ovn] chassis with VXLAN breaks setup which is using OVN-IC

2021-11-09 Thread Numan Siddique
On Mon, Nov 8, 2021 at 5:05 PM Numan Siddique wrote: > > + Ihar if he has any comments. > > Thanks > Numan > Due to the limitations of VxLAN, I don't think OVN interconnect is supported with VxLAN. Please see the ovn-architecture man pages. -- When VXLAN tunneling is enabled in an OVN

Re: [ovs-dev] [PATCH v2] ofproto-dpif-xlate: Fix check_pkt_larger incomplete translation.

2021-11-09 Thread Aaron Conole
num...@ovn.org writes: > From: Numan Siddique > > xlate_check_pkt_larger() sets ctx->exit to 'true' at the end > causing the translation to stop. This results in incomplete > datapath rules. > > For example, for the below OF rules configured on a bridge, > > table=0,in_port=1 >

[ovs-dev] [PATCH v2] Revert "odp-util: Always report ODP_FIT_TOO_LITTLE for IGMP."

2021-11-09 Thread Aaron Conole
This reverts commit c645550bb249 ("odp-util: Always report ODP_FIT_TOO_LITTLE for IGMP.") Always forcing a slow path action can result in some over-broad flows which swallow all traffic and force them to userspace, as reported in the thread at

[ovs-dev] [PATCH ovn] ci: Remove generating ovn-k8s test report.

2021-11-09 Thread Dumitru Ceara
This change is backported from upstream ovn-kubernetes as we're seeing the same issue in OVN runs too: https://github.com/ovn-org/ovn-kubernetes/commit/c2ef04188 Signed-off-by: Dumitru Ceara --- .github/workflows/ovn-kubernetes.yml | 14 -- 1 file changed, 14 deletions(-) diff

Re: [ovs-dev] [PATCH ovn 2/2] northd: Don't add ARP responder flows for unreachable VIPs.

2021-11-09 Thread Dumitru Ceara
On 11/8/21 6:10 PM, num...@ovn.org wrote: > From: Numan Siddique > > If a logical router is associated with load balancer VIPs which > are unreachable from it, we don't need to add ARP responder flows > in the L2_LKUP stage of ingress pipeline of the logical switches > connected to the router.

Re: [ovs-dev] [PATCH ovn 1/2] northd: Treat reachable and unreachable VIPs differently.

2021-11-09 Thread Dumitru Ceara
On 11/8/21 6:10 PM, num...@ovn.org wrote: > From: Numan Siddique > > If a logical switch is used to join multiple gateway > routers and if each of these gateway routers are > configured with the same load balancer, then after the > commit [1] it's results in a flow explosion in > the

Re: [ovs-dev] [PATCH 2/4] Native tunnel: Add tnl/neigh/ageing command.

2021-11-09 Thread Gaëtan Rivet
On Mon, Nov 8, 2021, at 20:30, Paolo Valerio wrote: [...] >>> +new_exp = time_msec() + ageing; >>> + >>> +CMAP_FOR_EACH (neigh, cmap_node, ) { >>> +atomic_read_relaxed(>expires, _exp); >>> +if (new_exp < curr_exp) { >>> +atomic_store_relaxed(>expires, new_exp);

Re: [ovs-dev] [PATCH 1/4] Native tunnel: Read/write expires atomically.

2021-11-09 Thread Gaëtan Rivet
On Mon, Nov 8, 2021, at 20:30, Paolo Valerio wrote: [...] >>> + >>> +atomic_read_relaxed(>expires, ); >> >> I'm having doubts about unfenced read / writes on expires. >> Technically on lookup there would be reads then writes without barriers. >> I'm not convinced it makes a difference, WDYT?

Re: [ovs-dev] [PATCH ovn] ovn-nb: Document LRP gateway_mtu option

2021-11-09 Thread Frode Nordahl
On Tue, Nov 9, 2021 at 11:21 AM 0-day Robot wrote: > > Bleep bloop. Greetings Frode Nordahl, 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 113

Re: [ovs-dev] [PATCH ovn] ovn-nb: Document LRP gateway_mtu option

2021-11-09 Thread 0-day Robot
Bleep bloop. Greetings Frode Nordahl, 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 113 characters long (recommended limit is 79) #29 FILE: ovn-nb.xml:2824:

[ovs-dev] [PATCH ovn v2] ovn-nb: Document LRP gateway_mtu option

2021-11-09 Thread Frode Nordahl
The Logical Router Port gateway_mtu option is currently only documented together with implementation details in the ovn-northd documentation. As this is CMS API we ought to document this as part of the OVN Northbound Database as well. Reported-at: https://github.com/ovn-org/ovn/issues/78 Fixes:

[ovs-dev] [PATCH ovn] ovn-nb: Document LRP gateway_mtu option

2021-11-09 Thread Frode Nordahl
The Logical Router Port gateway_mtu option is currently only documented together with implementation details in the ovn-northd documentation. As this is CMS API we ought to document this as part of the OVN Northbound Database as well. Reported-at: https://github.com/ovn-org/ovn/issues/78 Fixes:

Re: [ovs-dev] [PATCH dpdk-latest v2 1/5] netdev-dpdk: Remove access to DPDK internals.

2021-11-09 Thread David Marchand
On Tue, Nov 9, 2021 at 10:40 AM 0-day Robot wrote: > > Bleep bloop. Greetings David Marchand, 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: Improper

Re: [ovs-dev] [PATCH dpdk-latest v2 1/5] netdev-dpdk: Remove access to DPDK internals.

2021-11-09 Thread 0-day Robot
Bleep bloop. Greetings David Marchand, 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: Improper whitespace around control block #74 FILE: lib/netdev-dpdk.c:1450:

[ovs-dev] [PATCH dpdk-latest v2 5/5] github: Fix experimental build check.

2021-11-09 Thread David Marchand
Fix a typo which made us build against stable API only in GHA. Note: this should not be merged to master, intended for dpdk-latest branch only. Fixes: e5cdd2651661 ("travis: Check compilation with DPDK experimental API.") Signed-off-by: David Marchand --- Ian, At the next dpdk-latest rebase,

[ovs-dev] [PATCH dpdk-latest v2 4/5] netdev-dpdk: Fix vhost namespace with 21.11-rc2.

2021-11-09 Thread David Marchand
vhost ops is now prefixed with rte_ [1]. 1: https://git.dpdk.org/dpdk/commit/?id=e7c727c307d7 Signed-off-by: David Marchand --- lib/netdev-dpdk.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/netdev-dpdk.c b/lib/netdev-dpdk.c index 2eb5e2e1bc..882b138cfa 100644 ---

[ovs-dev] [PATCH dpdk-latest v2 3/5] netdev-dpdk: Fix mbuf macros namespace with 21.11-rc1.

2021-11-09 Thread David Marchand
PKT_[RT]X_* and other mbuf macros have been prefixed with RTE_MBUF_ [1]. Update accordingly. 1: https://git.dpdk.org/dpdk/commit/?id=daa02b5cddbb Signed-off-by: David Marchand --- lib/dp-packet.h | 26 ++ lib/netdev-dpdk.c | 18 +- 2 files changed, 23

[ovs-dev] [PATCH dpdk-latest v2 2/5] netdev-dpdk: Remove unused attribute from rte_flow rule.

2021-11-09 Thread David Marchand
The shared attribute has been deprecated some time ago and is removed in 21.11 [1]. Since its value was 0, let's rely on implicit init by not mentionning it. 1: https://git.dpdk.org/dpdk/commit/?id=92ef4b8f1688 Signed-off-by: David Marchand --- lib/netdev-dpdk.c | 2 +- 1 file changed, 1

[ovs-dev] [PATCH dpdk-latest v2 1/5] netdev-dpdk: Remove access to DPDK internals.

2021-11-09 Thread David Marchand
Instead of dereferencing DPDK ethdev internals, we can list "sibling" ports [1]: such ports share the underlying rte_device object. That API was experimental and went stable in 21.11 [2]. 1: https://git.dpdk.org/dpdk/commit/?id=7f98942886bc 2: https://git.dpdk.org/dpdk/commit/?id=b37ed6def367

[ovs-dev] [PATCH dpdk-latest v2 0/5] Fixes for DPDK v21.11

2021-11-09 Thread David Marchand
Hello Ian, This series applies on a dpdk-latest branch rebased on current master [1]. It builds and passes checks in GHA, see [2]. Fyi, the lcore API is marked stable, I'll repost my patch for OVS as a followup of this series. v21.11-rc2 was tagged last night. There will be no other API change

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

2021-11-09 Thread David Marchand
On Tue, Sep 7, 2021 at 11:35 AM Maxime Coquelin wrote: > 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

[ovs-dev] [PATCH v1 1/1] datapath-windows: Reset flow key after Ipv4 fragments are reassembled

2021-11-09 Thread Wilson Peng
While testing OVS-windows flows for the Ip fragments, the traffic will be dropped As it may match incorrect OVS flow. From the code, after the Ipv4 fragments are Reassembled, it willl still use the flow key of the last Ipv4 fragments to match CT causing match error.