Re: [ovs-dev] [PATCH v2] Userspace: Software fallback for UDP encapsulated TCP segmentation.

2024-06-24 Thread David Marchand
dp_packet_l4_size(seg)); > -ip_hdr->ip_id = htons(ip_id); > +tnl_hdr = dp_packet_l4(seg); > +ip_tot_len = sizeof *ip_hdr + dp_packet_l4_size(seg); ip_hdr->ip_tot_len = htons(dp_packet_l3_size(seg)); > +

Re: [ovs-dev] [PATCH ovn] ci: Save some compilation for DPDK and skip error on ARM.

2024-06-27 Thread David Marchand
mails.dpdk.org/archives/dev/2024-June/296764.html > > Suggested-by: David Marchand > Signed-off-by: Ales Musil I would split this in two patches (compilation changes in one patch, error log in another) but overall the changes lgtm. One nit below. > --- > tests/system-dp

Re: [ovs-dev] [PATCH v2] Userspace: Software fallback for UDP encapsulated TCP segmentation.

2024-06-27 Thread David Marchand
On Fri, Jun 21, 2024 at 5:07 PM David Marchand wrote: > net/mlx5 is claiming (geneve|vxlan)_tso_offload while not supporting > outer udp checksum. This may be a set of capabilities we can use if, for example, no udp checksum is requested. How about adding: # git diff diff --git a/lib/netd

Re: [ovs-dev] [PATCH v2] Userspace: Software fallback for UDP encapsulated TCP segmentation.

2024-06-28 Thread David Marchand
On Thu, Jun 27, 2024 at 4:04 PM David Marchand wrote: > @@ -926,6 +926,17 @@ netdev_send(struct netdev *netdev, int qid, > struct dp_packet_batch *batch, > return netdev_send_tso(netdev, qid, batch, > concurrent_txq); > } > }

Re: [ovs-dev] [PATCH ovn v2 1/2] ci: Save some DPDK compilation time.

2024-06-28 Thread David Marchand
On Thu, Jun 27, 2024 at 10:38 AM Ales Musil wrote: > > Add more options that will shave some compilation time off DPDK by > skipping unused parts of the code. > > Suggested-by: David Marchand > Signed-off-by: Ales Musil Reviewed-by: David Marchand

Re: [ovs-dev] [PATCH ovn v2 2/2] tests: Skip memory error in DPDK tests.

2024-06-28 Thread David Marchand
On Thu, Jun 27, 2024 at 10:38 AM Ales Musil wrote: > > Add skip for memory error produced by DPDK on ARM with 2MB hugepages > which isn't harmful [0]. > > [0] http://mails.dpdk.org/archives/dev/2024-June/296764.html > > Suggested-by: David Marchand > Signed-off-by:

Re: [ovs-dev] [PATCH v3] Userspace: Software fallback for UDP encapsulated TCP segmentation.

2024-07-04 Thread David Marchand
p_id); > +tnl = false; > + > +if (outer_ipv4) { > +outer_ip_id = ntohs(ip_hdr->ip_id); > +} > } > [snip] Once this patch is in, we can re-enable RTE_ETH_TX_OFFLOAD_VXLAN_TNL_TSO / RTE_ETH_TX_OFFLOAD_GENEVE_TNL_TSO for Intel d

Re: [ovs-dev] [ovs-dev, v4, 3/3] netdev-dpdk: Re-enable VXLAN/Geneve offload for Intel cards.

2024-07-08 Thread David Marchand
ing it? OVS main branch uses DPDK 23.11 LTS. Re-enabling this offload for Intel drivers will have to wait until the fixes are part of a released 23.11 LTS (which is expected in August, after OVS 3.4 is released). -- David Marchand ___ dev mailing li

Re: [ovs-dev] [PATCH v4 1/3] userspace: Adjust segment size on encapsulation.

2024-07-08 Thread David Marchand
87292c ("userspace: Support VXLAN and GENEVE TSO.") > Signed-off-by: Mike Pattrick Reviewed-by: David Marchand -- David Marchand ___ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Re: [ovs-dev] [PATCH v4 2/3] Userspace: Software fallback for UDP encapsulated TCP segmentation.

2024-07-08 Thread David Marchand
t_txq); > } > -return netdev_send_tso(netdev, qid, batch, concurrent_txq); > } > } > } A final note, I suspect all those checks negatively impact non tso packets processing when OVS tso is

Re: [ovs-dev] [PATCH v4 3/3] netdev-dpdk: Re-enable VXLAN/Geneve offload for Intel cards.

2024-07-08 Thread David Marchand
t; we no longer need to disable the VXLAN/Geneve TSO flags from intel > hardware support flags. > > The modification to outer UDP offload is still required pending a future > DPDK release. > > Suggested-by: David Marchand > Signed-off-by: Mike Pattrick Reviewed-by: David Marc

Re: [ovs-dev] [PATCH v4 2/3] Userspace: Software fallback for UDP encapsulated TCP segmentation.

2024-07-08 Thread David Marchand
On Mon, Jul 8, 2024 at 4:22 PM Mike Pattrick wrote: > On Mon, Jul 8, 2024 at 8:23 AM David Marchand > wrote: > > A final note, I suspect all those checks negatively impact non tso > > packets processing when OVS tso is enabled. > > > > Would it be feasible to mark

Re: [ovs-dev] [PATCH] dpctl: Netdev leak causes stale VHU & reaching limit.

2024-07-12 Thread David Marchand
i The issue seems generic as any netdev for which a call to netdev_get_stats failed would trigger the same leak. So I would update the commit title with something more generic like: dpctl: Fix netdev reference leak in "show" command. This can probably be changed when applying. In an

[ovs-dev] [PATCH] dpif-netlink-rtnl: Fix netdev leak in out-of-tree tunnels probe.

2024-07-12 Thread David Marchand
Caught by code review, calling netdev_open works in pair of netdev_close when no reference to a netdev must be kept. Fixes: 921c370a9df5 ("dpif-netlink: Probe for out-of-tree tunnels, decides used interface") Signed-off-by: David Marchand --- lib/dpif-netlink-rtnl.c | 1 + 1 file

Re: [ovs-dev] [PATCH] dpif-netlink-rtnl: Fix netdev leak in out-of-tree tunnels probe.

2024-07-12 Thread David Marchand
gt; At any rate, giving my ACK for this patch. > > Acked-by: Eric Garver Thanks. -- David Marchand ___ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Re: [ovs-dev] [PATCH v5 1/3] userspace: Adjust segment size on encapsulation.

2024-07-13 Thread David Marchand
ixes: 084c8087292c ("userspace: Support VXLAN and GENEVE TSO.") > Signed-off-by: Mike Pattrick I see no difference with v4, so just repeating: Reviewed-by: David Marchand -- David Marchand ___ dev mailing list d...@openvswitch.org https://mail.o

Re: [ovs-dev] [PATCH v5 2/3] Userspace: Software fallback for UDP encapsulated TCP segmentation.

2024-07-13 Thread David Marchand
is skipped in the CI) but I was ok with the previous version. Reviewed-by: David Marchand -- David Marchand ___ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Re: [ovs-dev] [PATCH v5 3/3] netdev-dpdk: Re-enable VXLAN/Geneve offload for Intel cards.

2024-07-13 Thread David Marchand
ation to outer UDP offload is still required pending a future > DPDK release. Indeed, when the dpdk fixes are in, we can re-enable those capabilities (well, to be more precise, we can stop filtering broken capabilities) on those nics. > > Suggested-by: David Marchand > Signed-off-by: Mi

[ovs-dev] [PATCH] netdev-linux: Do not offload IP checksum.

2024-08-09 Thread David Marchand
ng by default.") Signed-off-by: David Marchand --- Note: this issue was first noticed while natting IP packets received from a DPDK port (reporting that the packet IP checksum was correct) and sending those packets to a tap netdev. --- lib/netdev-linux.c | 16 +++- 1 file changed, 3

[ovs-dev] [PATCH] netdev: Fix full duplex capability for 25G ports.

2024-08-09 Thread David Marchand
As OVS does not know of the 25G speed, matching on a list of known speed for deducing full duplex capability is broken. Invert the test and assume full duplex is the default. Suggested-by: Adrian Moreno Signed-off-by: David Marchand --- lib/netdev.c | 10 +- 1 file changed, 5

Re: [ovs-dev] [PATCH] netdev-offload-dpdk: Change log level on flow offload failure.

2024-09-11 Thread David Marchand
, > + netdev_dpdk_get_port_id(netdev), ds_cstr(&s)); I wonder why we had two log messages so far. In any case, wrt ratelimit, with this change above, I would say we should log only one message. -- David Marchand ___ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Re: [ovs-dev] [PATCH v1] netdev-dpdk: Added xstat statistics interface.

2024-09-16 Thread David Marchand
if (is_queue_stat(name) || string_ends_with(name, "_errors") || strstr(name, "_management_") || string_ends_with(name, "_dropped")) { dev->rte_xstats_ids[dev->rte_xstats_ids_size] = id; dev->rte_xstats_ids_size++;

Re: [ovs-dev] [PATCH v2] netdev-offload-dpdk: Change flow offload failure log level.

2024-09-16 Thread David Marchand
netdev_get_name(netdev), extra_str, > -netdev_dpdk_get_port_id(netdev), ds_cstr(&s)); > +VLOG_DBG("%s: rte_flow creation failed [%d (%s)]: " > + "%s flow create %d %s", netdev_get_name(netdev), >

Re: [ovs-dev] [PATCH v1] netdev-dpdk: Disable outer udp checksum offload for txgbe driver.

2024-09-16 Thread David Marchand
topic :-). > > Fixes: 084c8087292c ("userspace: Support VXLAN and GENEVE TSO.") > Reported-by: Jun Wang > Nit: no need for an extra line here. > Signed-off-by: Jun Wang Acked-by: David Marchand -- David Marchand

Re: [ovs-dev] [PATCH 1/5] dpif-netdev: Rework rxq scheduling code.

2021-06-23 Thread David Marchand
"on numa node %d. Port \'%s\' rx queue %d will " > + "be assigned to a pmd on numa node %d. " > +"This may lead to reduced performance.", > +numa_id, netdev_rxq_get_name(rxq->rx), > +netdev_rxq_get_queue_id(rxq->rx), numa->numa_id); > +} > + > +sched_pmd = NULL; > +if (numa) { > +/* Select the PMD that should be used for this rxq. */ > +sched_pmd = get_next_pmd(numa, algo); > +if (sched_pmd) { > +VLOG(level, "Core %2u on numa node %d assigned port \'%s\' " > +"rx queue %d.%s", %d%s. > +sched_pmd->pmd->core_id, sched_pmd->pmd->numa_id, > +netdev_rxq_get_name(rxq->rx), > +netdev_rxq_get_queue_id(rxq->rx), > +get_rxq_cyc_log(rxq_cyc_log, algo, proc_cycles) > +? rxq_cyc_log : ""); > +sched_add_rxq_to_sched_pmd(sched_pmd, rxq, proc_cycles); > } > } > +if (!sched_pmd) { > +VLOG(level == VLL_DBG ? level : VLL_WARN, > +"No non-isolated pmd on any numa available for " > +"port \'%s\' rx queue %d.%s " %d%s. > +"This rx queue will not be polled.", > +netdev_rxq_get_name(rxq->rx), > +netdev_rxq_get_queue_id(rxq->rx), > +get_rxq_cyc_log(rxq_cyc_log, algo, proc_cycles) > +? rxq_cyc_log : ""); > +} > } > - > -rr_numa_list_destroy(&rr); > free(rxqs); > } > > +static void > +rxq_scheduling(struct dp_netdev *dp) OVS_REQUIRES(dp->port_mutex) > +{ > +struct sched_numa_list *numa_list; > +bool algo = dp->pmd_rxq_assign_cyc; > + > +numa_list = xzalloc(sizeof *numa_list); > + > +sched_numa_list_populate(numa_list, dp); > +sched_numa_list_schedule(numa_list, dp, algo, VLL_INFO); > +sched_numa_list_put_in_place(numa_list); > + > +sched_numa_list_free_entries(numa_list); > +free(numa_list); > +} > + > static void > reload_affected_pmds(struct dp_netdev *dp) > @@ -5406,10 +5763,5 @@ reconfigure_datapath(struct dp_netdev *dp) > } > } > - > -/* Add pinned queues and mark pmd threads isolated. */ > -rxq_scheduling(dp, true); > - > -/* Add non-pinned queues. */ > -rxq_scheduling(dp, false); > +rxq_scheduling(dp); > > /* Step 5: Remove queues not compliant with new scheduling. */ > diff --git a/tests/pmd.at b/tests/pmd.at > index cc5371d5a..78105bf45 100644 > --- a/tests/pmd.at > +++ b/tests/pmd.at > @@ -580,5 +580,5 @@ p1 3 0 2 > ]) > > -OVS_VSWITCHD_STOP(["/dpif_netdev|WARN|There is no PMD thread on core/d"]) > +OVS_VSWITCHD_STOP(["/cannot be pinned with port/d"]) > AT_CLEANUP > > -- > 2.31.1 > -- David Marchand ___ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Re: [ovs-dev] [PATCH 2/5] dpif-netdev: Make PMD auto load balance use common rxq scheduling.

2021-06-24 Thread David Marchand
struct sched_numa { > }; > > +static uint64_t variance(uint64_t a[], int n); Nit: this fwd declaration can be moved right before sched_numa_list_variance() which is the only function that uses it. Or variance() itself could be moved. > + > static size_t > sched_numa_list_count(struct sched_numa_list *numa_list) > @@ -5181,4 +5049,36 @@ sched_add_rxq_to_sched_pmd(struct sched_pmd *sched_pmd, > } > > +static void > +sched_numa_list_assignments(struct sched_numa_list *numa_list, > + struct dp_netdev *dp) Indent of second line. + Don't we need a OVS_REQUIRES(dp->port_mutex) annotation? > +{ > +struct dp_netdev_port *port; > + > +/* For each port. */ > +HMAP_FOR_EACH (port, node, &dp->ports) { > +if (!netdev_is_pmd(port->netdev)) { > +continue; > +} [snip] -- David Marchand ___ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Re: [ovs-dev] [PATCH 3/5] dpif-netdev: Add group rxq scheduling assignment type.

2021-06-24 Thread David Marchand
ed_assignment_type algo, > + bool has_proc) > { > -return get_available_rr_pmd(numa, algo); > +if (algo == SCHED_GROUP) { > +struct sched_pmd *sched_pmd = NULL; > + > +/* Check if the rxq has associated cycles. This is handled &g

Re: [ovs-dev] [PATCH 4/5] dpif-netdev: Assign PMD for failed pinned rxqs.

2021-06-24 Thread David Marchand
+++ b/tests/pmd.at > @@ -552,7 +552,10 @@ AT_CHECK([ovs-vsctl set Open_vSwitch . > other_config:pmd-cpu-mask=6]) > > dnl We removed the cores requested by some queues from pmd-cpu-mask. > -dnl Those queues will not be polled. > +dnl Those queues will be polled by remaining non-isolated pmds. > AT_CHECK([ovs-appctl dpif-netdev/pmd-rxq-show | parse_pmd_rxq_show], [0], > [dnl > +p1 0 0 1 > +p1 1 0 1 > p1 2 0 2 > +p1 3 0 1 > ]) > > -- > 2.31.1 > -- David Marchand ___ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Re: [ovs-dev] [PATCH 3/5] dpif-netdev: Add group rxq scheduling assignment type.

2021-06-24 Thread David Marchand
On Thu, Jun 24, 2021 at 4:52 PM David Marchand wrote: > > @@ -5229,16 +5300,40 @@ get_available_rr_pmd(struct sched_numa *numa, bool > > updown) > > > > static struct sched_pmd * > > -get_next_pmd(struct sched_numa *numa, bool algo) > > +get_ne

Re: [ovs-dev] [PATCH 5/5] dpif-netdev: Allow pin rxq and non-isolate PMD.

2021-06-24 Thread David Marchand
ed* by > +default. This means that this thread will only poll the *pinned* Rx queues. > + > +If using ``pmd-rxq-assign=group`` PMD threads with *pinned* Rxqs can be > +*non-isolated* by setting:: > + > + $ ovs-vsctl set Open_vSwitch . other_config:pmd-isolate=false pmd-rxq-isolat

Re: [ovs-dev] [PATCH 0/5] Rxq scheduling updates.

2021-06-24 Thread David Marchand
l, this series lgtm with the comments I sent. It is worth adding some point in the NEWS file to advertise the new feature. -- David Marchand ___ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Re: [ovs-dev] [PATCH] ovs-rcu: Remove unneeded mutex from struct ovsrcu_perthread.

2021-06-29 Thread David Marchand
y: Ben Pfaff > Reported-by: 贺鹏 -- David Marchand ___ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev

[ovs-dev] [PATCH v2] dpif-netdev: Report overhead busy cycles per pmd.

2021-07-01 Thread David Marchand
eue-id: 0 (enabled) pmd usage: 0 % port: vhost4queue-id: 0 (enabled) pmd usage: 0 % port: vhost5queue-id: 0 (enabled) pmd usage: 92 % port: vhost7queue-id: 0 (enabled) pmd usage: 0 % overhead: 7 % Signed-off-by: David Marchand --- Change

Re: [ovs-dev] [PATCH] dpif-netdev: Report overhead busy cycles per pmd.

2021-07-01 Thread David Marchand
On Fri, Jun 11, 2021 at 2:02 PM Kevin Traynor wrote: > > Hi David, > > A few comments below, Thanks for the review and comments, all seemed fine to me. Retested with my setup and I just posted v2 on the ml. -- David Marchand ___ dev ma

Re: [ovs-dev] [PATCH 0/2] Stop configuring '--socket-mem'/'--socket-limit' by default for DPDK if not requested.

2021-07-02 Thread David Marchand
Explicitely setting the memory configuration gives determinism. Hugepages allocations are done once at EAL init, and then OVS picks into them for building mempools and for rte_malloc's. As long as those operations are done in control path, this is not really a concern. But iirc, we have rte_malloc calls in the datapath for TSO support (external buffer) and here, it means syscalls in the datapath when growing "DPDK heap". I agree, this might not happen often with 1G hugepages and once reaching a steady state. -- David Marchand ___ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Re: [ovs-dev] [PATCH v3 3/3] dpif-netlink: Introduce per-cpu upcall dispatch

2021-07-06 Thread David Marchand
gt; + The new debug appctl command `dpif-netlink/dispatch-mode` > + will return the current dispatch mode for each datapath. > > v2.15.0 - 15 Feb 2021 > - -- David Marchand ___ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev

[ovs-dev] [PATCH dpdk-latest] github: Switch to dpdk main branch.

2021-07-08 Thread David Marchand
Same as for Travis, let's have dpdk-latest build against the dpdk current main branch. Note: this should not be merged to master, intended for dpdk-latest branch only. Signed-off-by: David Marchand --- .github/workflows/build-and-test.yml | 1 + 1 file changed, 1 insertion(+) diff --

Re: [ovs-dev] [PATCH v4 1/7] dpif-netdev: Rework rxq scheduling code.

2021-07-12 Thread David Marchand
ng assignments so they are used > > Signed-off-by: Kevin Traynor Acked-by: David Marchand -- David Marchand ___ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Re: [ovs-dev] [PATCH v4 2/7] dpif-netdev: Make PMD auto load balance use common rxq scheduling.

2021-07-12 Thread David Marchand
ments, new functions are added to populate the current > assignments and use the rxq scheduling data structs for variance > calculations. > > Now that the new rxq scheduling data structures are being used in > PMD auto load balance, the older rr_* data structs and associated > functions can

Re: [ovs-dev] [PATCH v4 3/7] dpif-netdev: Sort PMD list by core id for rxq scheduling.

2021-07-12 Thread David Marchand
xqs > on different runs for no reason other than how the PMDs are stored > in the hash map. > > This can be easily changed by sorting the PMDs by core id after > they are extracted, so the PMDs will be used in a consistent order. > > Signed-off-by: Kevin Traynor Acked-b

Re: [ovs-dev] [PATCH v4 4/7] dpif-netdev: Assign PMD for failed pinned rxqs.

2021-07-12 Thread David Marchand
used. > > Signed-off-by: Kevin Traynor Acked-by: David Marchand -- David Marchand ___ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Re: [ovs-dev] [PATCH v4 5/7] dpif-netdev: Add group rxq scheduling assignment type.

2021-07-12 Thread David Marchand
t one PMD may have a group of low load rxqs assigned to it > while another PMD has one high load rxq assigned to it, as that is the > best balance of their measured loads across the PMDs. > > Signed-off-by: Kevin Traynor Acked-by: David Marchand -- David Marchand ___ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Re: [ovs-dev] [PATCH v4 6/7] dpif-netdev: Allow pin rxq and non-isolate PMD.

2021-07-12 Thread David Marchand
of the other rxq assignment algorithms. > > Signed-off-by: Kevin Traynor Acked-by: David Marchand -- David Marchand ___ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Re: [ovs-dev] [PATCH v4 7/7] tests: Add new test for cross-numa pmd rxq assignments.

2021-07-12 Thread David Marchand
> > Signed-off-by: Kevin Traynor Acked-by: David Marchand -- David Marchand ___ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Re: [ovs-dev] [PATCH v4 0/7] Rxq scheduling updates.

2021-07-12 Thread David Marchand
64932 > > v4: > - Fixed NEWS file conflict from (almost) mid-air collision of other patch > merging There is again one conflict now, but it does not deserve a v5. Series lgtm, thanks. -- David Marchand ___ dev mailing list d...@openvswitch.org

Re: [ovs-dev] [v9 01/12] dpif-netdev: Add command line and function pointer for miniflow extract

2021-07-12 Thread David Marchand
option. GHA ui jumps at the last line of a failing step, but the problem is that, in OVS, we dump all logs which adds a lot of noise. We could stop dumping them, since those logs are attached to the job as an archive. Like what is done in DPDK. http://git.dpdk.org/dpdk/tree/.ci/linux-build.sh#n3 W

Re: [ovs-dev] [PATCH v3 1/2] add port-based ingress policing based packet-per-second rate-limiting

2021-07-13 Thread David Marchand
.lo] Error 1 make[2]: *** Waiting for unfinished jobs The rest of the file uses memset() for this kind of init to 0. Probably worth aligning null_police too. -- David Marchand ___ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Re: [ovs-dev] [PATCH] netdev-linux: fix compile error in nl_msg_put_act_police

2021-07-13 Thread David Marchand
t; ^ > 1 error generated. > make[2]: *** [lib/netdev-linux.lo] Error 1 > make[2]: *** Waiting for unfinished jobs > > Fixes: c2567e533 ("add port-based ingress policing based packet-per-second > rate-limiting") > Reported-by: Davi

[ovs-dev] [PATCH] ci: Do not dump logs on error for GitHub Actions.

2021-07-13 Thread David Marchand
GHA webui directly focus on the last lines for a failing step. config and testsuite logs are attached as artifacts in GHA in case of failures, so dumping them just adds noise. Skip dumping those files. Travis is left untouched though Signed-off-by: David Marchand --- Note: I could do only little

Re: [ovs-dev] [PATCH V2 2/3] dpif-netdev: Fix offloads of modified flows

2021-07-13 Thread David Marchand
he race was probably not a problem before actually doing full offload. Reported-at: https://mail.openvswitch.org/pipermail/ovs-dev/2021-March/381296.html > Signed-off-by: Eli Britstein > Reviewed-by: Gaetan Rivet Copying Maxime. Patch lgtm and it fixes the issue I had seen. Reviewed-by:

Re: [ovs-dev] [PATCH V2 1/3] dpif-netdev: Do not flush PMD offloads on reload

2021-07-13 Thread David Marchand
") > > Signed-off-by: Eli Britstein > Reviewed-by: Gaetan Rivet Reviewed-by: David Marchand -- David Marchand ___ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev

[ovs-dev] [PATCH v3] dpif-netdev: Report overhead busy cycles per pmd.

2021-07-16 Thread David Marchand
eue-id: 0 (enabled) pmd usage: 0 % port: vhost4queue-id: 0 (enabled) pmd usage: 0 % port: vhost5queue-id: 0 (enabled) pmd usage: 92 % port: vhost7queue-id: 0 (enabled) pmd usage: 0 % overhead: 7 % Signed-off-by: David Marchand --- Change

Re: [ovs-dev] [PATCH v3] dpif-netdev: Report overhead busy cycles per pmd.

2021-07-16 Thread David Marchand
On Fri, Jul 16, 2021 at 7:30 PM Stokes, Ian wrote: > > > On 16/07/2021 17:21, David Marchand wrote: > > > Users complained that per rxq pmd usage was confusing: summing those > > > values per pmd would never reach 100% even if increasing traffic load > > > beyo

[ovs-dev] [PATCH] Documentation: Remove duplicate words.

2021-07-19 Thread David Marchand
This is a simple cleanup with a script of mine. Signed-off-by: David Marchand --- This script is a bit too silly/simplistic and requires manual review (too many false positives), but I don't think it is worth investing too much time into integrating this kind of check in utilities/checkpat

[ovs-dev] [PATCH] dpdk: Update to use v23.11.

2023-12-13 Thread David Marchand
59&state=* Signed-off-by: David Marchand --- .ci/dpdk-build.sh| 28 +++- .ci/linux-build.sh | 9 .github/workflows/build-and-test.yml | 4 ++-- Documentation/faq/releases.rst | 2 +- Documentation/i

Re: [ovs-dev] [PATCH v3 09/11] ci: Fix dpdk build cache key generation.

2023-12-15 Thread David Marchand
t; Signed-off-by: Eelco Chaudron Thanks for the fix. Reviewed-by: David Marchand -- David Marchand ___ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev

[ovs-dev] [PATCH v5 1/2] system-dpdk: Use dummy-pmd port for packet injection.

2023-12-21 Thread David Marchand
e cpu spent calling ovs-appctl). Suggested-by: Ilya Maximets Reviewed-by: Maxime Coquelin Acked-by: Eelco Chaudron Signed-off-by: David Marchand --- Changes since v4: - rebased, - updated genpkts.py so it outputs 8 packets per line and have netdev-dummy/receive called for 8 packets at a time

[ovs-dev] [PATCH v5 2/2] tests: Move MFEX tests to dpif-netdev.

2023-12-21 Thread David Marchand
The MFEX code and tests do not depend on DPDK anymore. We can move the unit tests to dpif-netdev. Reviewed-by: Maxime Coquelin Acked-by: Eelco Chaudron Acked-by: Kumar Amber Signed-off-by: David Marchand --- Changes since v4: - rebased, - added dummy numa configuration, Changes since v3

[ovs-dev] [PATCH v6] system-dpdk: Test with mlx5 devices.

2024-01-10 Thread David Marchand
ed-by: Eelco Chaudron Signed-off-by: David Marchand --- Changes since v5: - rebased, - moved the script to the python scripts list in automake.mk, - bumped copyright date, Changes since v4: - separated from the original series, - rebased, - dropped mlx5 devices from the discovery script, - docum

[ovs-dev] [PATCH v2] dpdk: Update to use v23.11.

2024-01-15 Thread David Marchand
59&state=* There is a known issue with i40e VF devices where OVS main thread may block when adding such devices as dpif-netdev dpdk ports. Signed-off-by: David Marchand --- .ci/dpdk-build.sh| 28 +++- .ci/linux-build.sh

Re: [ovs-dev] [PATCH] dpdk: Update to use v23.11.

2024-01-15 Thread David Marchand
ing further. > > David, could you, please, add a note in the NEWS file and send a new version > of the patch? I just sent a v2. I'll continue investigating the iavf issue. -- David Marchand ___ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev

[ovs-dev] [PATCH] system-common-macros: Fix conntrack matching.

2024-01-18 Thread David Marchand
10,sport=,... Fixes: 07659514c3c1 ("Add support for connection tracking.") Signed-off-by: David Marchand --- tests/system-common-macros.at | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/system-common-macros.at b/tests/system-common-macros.at index 01ebe

[ovs-dev] [PATCH] netdev-dpdk: Trigger port reconfiguration in main thread for resets.

2024-01-18 Thread David Marchand
hread later handles the port reset request. Link: https://bugs.dpdk.org/show_bug.cgi?id=1337 Signed-off-by: David Marchand --- lib/netdev-dpdk.c | 73 +-- 1 file changed, 58 insertions(+), 15 deletions(-) diff --git a/lib/netdev-dpdk.c b/lib/netdev-d

Re: [ovs-dev] [PATCH] netdev-dpdk: Trigger port reconfiguration in main thread for resets.

2024-01-18 Thread David Marchand
On Thu, Jan 18, 2024 at 2:23 PM Ilya Maximets wrote: > > On 1/18/24 14:16, David Marchand wrote: > > When OVS (main thread) configures a DPDK netdev, it holds a netdev_dpdk > > mutex lock. > > As part of this configure operation, the net/iavf driver (used with i40e &g

[ovs-dev] [PATCH v2] netdev-dpdk: Trigger port reconfiguration in main thread for resets.

2024-01-18 Thread David Marchand
hread later handles the port reset request. More details in the DPDK upstream bz as this issue appeared following a change in DPDK. Link: https://bugs.dpdk.org/show_bug.cgi?id=1337 Signed-off-by: David Marchand --- Changes since v1: - converted to atomic accesses on netdev_dpdk_pending_

Re: [ovs-dev] [PATCH v2] netdev-dpdk: Trigger port reconfiguration in main thread for resets.

2024-01-18 Thread David Marchand
On Thu, Jan 18, 2024 at 3:41 PM David Marchand wrote: > Changes since v1: > - converted to atomic accesses on netdev_dpdk_pending_reset[], I did not wait for the clang results during my tests... cooking v3. -- David Marchand ___ dev mailing

Re: [ovs-dev] [PATCH v2] netdev-dpdk: Trigger port reconfiguration in main thread for resets.

2024-01-18 Thread David Marchand
On Thu, Jan 18, 2024 at 4:43 PM Ilya Maximets wrote: > > On 1/18/24 15:41, David Marchand wrote: > > When OVS (main thread) configures a DPDK netdev, it holds a netdev_dpdk > > mutex lock. > > As part of this configure operation, the net/iavf driver (used with i40e &g

[ovs-dev] [PATCH v3] netdev-dpdk: Trigger port reconfiguration in main thread for resets.

2024-01-18 Thread David Marchand
hread later handles the port reset request. More details in the DPDK upstream bz as this issue appeared following a change in DPDK. Link: https://bugs.dpdk.org/show_bug.cgi?id=1337 Signed-off-by: David Marchand --- Changes since v2: - fixed build with clang, - fixed indentation, - updated

Re: [ovs-dev] [PATCH] system-common-macros: Fix conntrack matching.

2024-01-19 Thread David Marchand
On Fri, Jan 19, 2024 at 1:20 PM Simon Horman wrote: > > On Thu, Jan 18, 2024 at 02:00:18PM +0100, David Marchand wrote: > > Seen in GHA recently. > > Unit tests are checking conntracks relating to a destination ip address > > but the FORMAT_CT macro is not strict enough a

Re: [ovs-dev] [PATCH] system-common-macros: Fix conntrack matching.

2024-01-19 Thread David Marchand
On Fri, Jan 19, 2024 at 1:49 PM Ilya Maximets wrote: > > On 1/18/24 14:00, David Marchand wrote: > > Seen in GHA recently. > > Unit tests are checking conntracks relating to a destination ip address > > but the FORMAT_CT macro is not strict enough and would match unre

Re: [ovs-dev] [PATCH v2 1/4] dp-packet: Validate correct offset for L4 inner size.

2024-01-31 Thread David Marchand
packet is already flagged > for tunneling, so an incorrect determination isn't possible as long as > the flags of the packet are correct. > > Fixes: 85bcbbed839a ("userspace: Enable tunnel tests with TSO.") > Signed-off-by: Mike Pattrick R

Re: [ovs-dev] [PATCH v2 2/4] bfd: Set proper offsets and flags in BFD packets.

2024-01-31 Thread David Marchand
m offloading, this patch also fixes the packet_type used by other dp_packet helpers. I see nothing fixed on that later topic though. > > Fixes: ccc096898c46 ("bfd: Implement Bidirectional Forwarding Detection.") > Signed-off-by: Mike Pattrick Reviewed-by: David

Re: [ovs-dev] [PATCH v2 3/4] dp-packet: Include inner offsets in adjustments and checks.

2024-01-31 Thread David Marchand
t; @@ -125,7 +134,7 @@ avx512_dp_packet_resize_l2(struct dp_packet *b, int > resize_by_bytes) > /* Each lane represents 16 bits in a 12-bit register. In this case the > * first three 16-bit values, which will map to the l2_5_ofs, l3_ofs and > * l4_ofs fields. */ > -const uint8_t k_lanes = 0b1110; > +const uint8_t k_lanes = 0b10; > > /* Set all 16-bit words in the 128-bits v_offset register to the value we > * need to add/substract from the l2_5_ofs, l3_ofs, and l4_ofs fields. */ Touching this part scares me. I think some comments are wrong, and otherwise I hope Intel CI will be enough to check nothing gets broken here :-). -- David Marchand ___ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Re: [ovs-dev] [PATCH v2 4/4] ofproto-dpif-monitor: Remove unneeded calls to clear packets.

2024-01-31 Thread David Marchand
igned-off-by: Mike Pattrick Reviewed-by: David Marchand -- David Marchand ___ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Re: [ovs-dev] [PATCH 1/2] dpif-netdev: Do not create handler threads.

2024-02-06 Thread David Marchand
ere is no handler to start at all. -- David Marchand ___ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Re: [ovs-dev] [PATCH 1/2] dpif-netdev: Do not create handler threads.

2024-02-06 Thread David Marchand
On Tue, Feb 6, 2024 at 3:47 PM Eelco Chaudron wrote: > On 6 Feb 2024, at 15:17, David Marchand wrote: > > > On Tue, Feb 6, 2024 at 2:31 PM Eelco Chaudron wrote: > >> > >> Avoid unnecessary thread creation as no upcalls are generated, > >> resulting in idle

Re: [ovs-dev] [PATCH v4 2/4] bfd: Set proper offsets and flags in BFD packets.

2024-02-12 Thread David Marchand
e other > metadata like packet_type are set appropriately. > > Fixes: ccc096898c46 ("bfd: Implement Bidirectional Forwarding Detection.") > Signed-off-by: Mike Pattrick Reviewed-by: David Marchand -- David Marchand ___ dev

Re: [ovs-dev] [PATCH v4 3/4] dp-packet: Include inner offsets in adjustments and checks.

2024-02-12 Thread David Marchand
On Mon, Feb 12, 2024 at 7:54 AM Mike Pattrick wrote: > > Include inner offsets in functions where l3 and l4 offsets are either > modified or checked. > > Fixes: 084c8087292c ("userspace: Support VXLAN and GENEVE TSO.") > Signed-off-by: Mike Pattrick Reviewed-by:

Re: [ovs-dev] [PATCH v2 2/4] netdev-linux: Favour inner packet for multi-encapsulated TSO.

2024-02-14 Thread David Marchand
> UDP tunnel layer instead of the intermediary tunnel layer. > > This resulted in the middle UDP tunnel not checksum offloading properly. > > Fixes: 3337e6d91c5b ("userspace: Enable L4 checksum offloading by default.") > Reported-by: David Marchand > Signed-off-by: Mike P

Re: [ovs-dev] [PATCH v2 2/4] netdev-linux: Favour inner packet for multi-encapsulated TSO.

2024-02-15 Thread David Marchand
en in 3.3. If we strip the 3rd layer of tunnel from my unit test, it would be enough to reproduce without hitting af_xdp headroom limit. Or do you think we can extend an existing test? At least, fixes should be isolated from the new features like one introduced in patch 1 of this series. -- Da

Re: [ovs-dev] [PATCH v2] dpdk: Allow retaining CAP_SYS_RAWIO privileges

2023-03-07 Thread David Marchand
n > index 9569265fcb..a6a4a24606 100644 > --- a/vswitchd/ovs-vswitchd.8.in > +++ b/vswitchd/ovs-vswitchd.8.in > @@ -81,6 +81,14 @@ unavailable or unsuccessful. > .SS "DPDK Options" > For details on initializing \fBovs\-vswitchd\fR to use DPDK ports, > refer to the documentation or \fBovs\-vswitchd.conf.db\fR(5). > +.SS "DPDK HW Access Options" > +.IP "\fB\-\-hw\-rawio\-access\fR" > +Tells \fBovs\-vswitchd\fR to retain the \fBCAP_SYS_RAWIO\fR capability, > +to allow userspace drivers access to raw hardware memory. This will > +also allow the \fBovs\-vswitchd\fR daemon to call \fBiopl()\fR and > +\fBioperm()\fR functions to set port access. This is a \fBvery\fR The main usecase for this OVS option would be mlx5 + full hwoffload in DPDK, so if giving an example in the manual, I'd rather mention it. On the other hand, iopl() is (was?) used in DPDK for x86 + virtio pmd with virtio pre v1. And here, I don't expect many people plugging OVS on top of this. Do you have another case in mind for iopl()/ioperm()? The rest lgtm. Thanks for working on this Aaron. > +powerful capability, so generally only enable as needed for specific > +hardware. > .SS "Daemon Options" > .ds DD \ > \fBovs\-vswitchd\fR detaches only after it has connected to the \ -- David Marchand ___ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev

[ovs-dev] [PATCH] ci: Separate DPDK from OVS build.

2023-03-30 Thread David Marchand
lding DPDK does not depend on how we will link OVS against it, so we can use a single cache entry regardless of DPDK_SHARED option, Signed-off-by: David Marchand --- .ci/dpdk-build.sh| 68 .ci/dpdk-prepare.sh | 11 + .ci/

Re: [ovs-dev] [PATCH] ci: Separate DPDK from OVS build.

2023-03-31 Thread David Marchand
On Thu, Mar 30, 2023 at 11:24 AM David Marchand wrote: > > Let's separate DPDK compilation from the rest of OVS build: > - this avoids multiple jobs building DPDK in parallel, which especially > affects builds in the dpdk-latest branch, Err, this patch actually breaks dpdk

Re: [ovs-dev] [PATCH] github: Test building Fedora RPMs.

2023-04-05 Thread David Marchand
et a working container. I would go with ubuntu-latest. > +container: fedora:37 > +timeout-minutes: 30 > + > +strategy: > + fail-fast: false -- David Marchand ___ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Re: [ovs-dev] [PATCH v2] github: Test building Fedora RPMs.

2023-04-05 Thread David Marchand
> We may switch to quay.io if that will ever become a problem > in the future. > > Signed-off-by: Ilya Maximets Reviewed-by: David Marchand -- David Marchand ___ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Re: [ovs-dev] [PATCH] ci: Separate DPDK from OVS build.

2023-04-12 Thread David Marchand
Hello Ilya, On Tue, Apr 4, 2023 at 8:01 PM Ilya Maximets wrote: > > On 3/30/23 11:24, David Marchand wrote: > > Let's separate DPDK compilation from the rest of OVS build: > > - this avoids multiple jobs building DPDK in parallel, which especially > > affects bui

[ovs-dev] [PATCH v2] ci: Separate DPDK from OVS build.

2023-04-13 Thread David Marchand
lding DPDK does not depend on how we will link OVS against it, so we can use a single cache entry regardless of DPDK_SHARED option, Signed-off-by: David Marchand --- Changes since v1: - filtered dpdk build job dependencies: it only needs gcc, ninja and libnuma-dev, - removed matrix configuratio

[ovs-dev] [PATCH] system-offloads-traffic: Remove tc ingress pps check on meter offload.

2023-04-17 Thread David Marchand
60b89a309d ("dpif-netlink: Offloading meter to tc police action") Signed-off-by: David Marchand --- tests/system-offloads-traffic.at | 1 - 1 file changed, 1 deletion(-) diff --git a/tests/system-offloads-traffic.at b/tests/system-offloads-traffic.at index da18597cd8..df43caa9e5 10064

Re: [ovs-dev] [PATCH] system-offloads-traffic: Remove tc ingress pps check on meter offload.

2023-04-18 Thread David Marchand
On Tue, Apr 18, 2023 at 10:20 AM Simon Horman wrote: > > On Mon, Apr 17, 2023 at 06:28:13PM +0200, David Marchand wrote: > > Caught during some code review. > > The incriminated commit had put an unneeded check on tc ingress support > > for the meter offlo

Re: [ovs-dev] [PATCH] dpif-netlink: Fix memory leak dpif_netlink_open().

2023-04-18 Thread David Marchand
request.user_features |= OVS_DP_F_VPORT_PIDS; dp_request.user_features |= OVS_DP_F_UNSUPPORTED; -error = dpif_netlink_dp_transact(&dp_request, &dp, &buf); +error = dpif_netlink_dp_transact(&dp_request, NULL, NULL); if (error) { /* The Open vSwitch kernel modul

[ovs-dev] [PATCH] system-offloads-traffic: Fix tc ingress pps check for meter offload.

2023-04-18 Thread David Marchand
Caught during some code review. SUPPORT_TC_INGRESS_PPS has been replaced with CHECK_TC_INGRESS_PPS(). Fixes: 5f0fdf5e2c2e ("test: Move check for tc ingress pps support to test script.") Signed-off-by: David Marchand --- tests/system-offloads-traffic.at | 2 +- 1 file changed, 1 inser

Re: [ovs-dev] [PATCH] system-offloads-traffic: Remove tc ingress pps check on meter offload.

2023-04-18 Thread David Marchand
ag for your patch. I just sent a new patch, and marked this current one as Rejected. Thanks Simon and sorry for the confusion. -- David Marchand ___ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Re: [ovs-dev] [PATCH] dpif-netlink: Fix memory leak dpif_netlink_open().

2023-04-18 Thread David Marchand
transact() makes it possible for a caller to simply ignore the reply from the kernel by passing both 'reply' and 'bufp' as NULL. - In the specific call to dpif_netlink_dp_transact() (line 398) in dpif_netlink_open(), the 'dp&#

Re: [ovs-dev] [PATCH] python-stream: handle SSL error in do_handshake

2023-04-20 Thread David Marchand
onned it initially when enabling ASan: https://mail.openvswitch.org/pipermail/ovs-dev/2021-February/380467.html More recently, Eelco mentionned it: https://mail.openvswitch.org/pipermail/ovs-dev/2022-September/397476.html I also see it every once in a while in GHA. -- David Marchand

Re: [ovs-dev] [PATCH v2] netdev-dpdk: Check rx/tx descriptor sizes for device.

2023-04-21 Thread David Marchand
e > value and log. > > Reported-at: https://bugzilla.redhat.com/2119876 > Signed-off-by: Kevin Traynor Thanks for the added log. Overall, this looks good to me. I have a comment on how the limits are taken into account (see below). But in any case this patch is ok as is for me: Reviewed-

Re: [ovs-dev] [PATCH v3] dpif-netlink: Fix memory leak dpif_netlink_open().

2023-04-24 Thread David Marchand
#15 0x40ba5a in bridge_reconfigure vswitchd/bridge.c:885 > #16 0x41f1a9 in bridge_run vswitchd/bridge.c:3313 > #17 0x42d4fb in main vswitchd/ovs-vswitchd.c:132 > #18 0x7fe09cc03c86 in __libc_start_main (/usr/lib64/libc.so.6+0x25c86) > > Fixes: b841e3cd4a28 ("dpif-ne

Re: [ovs-dev] [PATCH v2] ci: Separate DPDK from OVS build.

2023-04-28 Thread David Marchand
ding DPDK including > > DPDK_VER. > > + # This also allows us to use cache from any branch as long as version > > + # and a way we're building DPDK stays the same. > > + run: | > > + grep -irE 'RTE_|DPDK|meson|ninja' .ci/dpdk-* > dp

Re: [ovs-dev] [PATCH v2] ci: Separate DPDK from OVS build.

2023-04-28 Thread David Marchand
On Fri, Apr 28, 2023 at 11:36 AM David Marchand wrote: > > > +- name: create ci signature file for the dpdk cache key > > > + # This will collect most of DPDK related lines, so hash will be > > > different > > > + # if something changed in

[ovs-dev] [PATCH v3] ci: Separate DPDK from OVS build.

2023-04-28 Thread David Marchand
lding DPDK does not depend on how we will link OVS against it, so we can use a single cache entry regardless of DPDK_SHARED option, Reviewed-by: Simon Horman Signed-off-by: David Marchand --- Changes since v2: - removed unneeded checks when the cache is hit, - exposed the cache key computed i

Re: [ovs-dev] [PATCH v2] ci: Separate DPDK from OVS build.

2023-04-28 Thread David Marchand
On Fri, Apr 28, 2023 at 2:26 PM David Marchand wrote: > > On Fri, Apr 28, 2023 at 11:36 AM David Marchand > wrote: > > > > +- name: create ci signature file for the dpdk cache key > > > > + # This will collect most of DPDK related lines, s

  1   2   3   4   5   6   7   8   9   10   >