mbox series

[ovs-dev,v5,00/12] OVS checksum offloads revamp.

Message ID 20250603094637.1250238-1-david.marchand@redhat.com
Headers show
Series OVS checksum offloads revamp. | expand

Message

David Marchand June 3, 2025, 9:46 a.m. UTC
Following a bug report about vhost-user port traffic with a vxlan tunnel
being dropped, I relooked at the offloading code to see how we could
switch to the non legacy offload flags mode in the vhost-user libary.

As I dug into this, and with Ilya recent comment (on switching to an
inner offload API) in mind, I wrote this series.

The result seems promising in terms of code.
I did no extensive performance testing yet, but I would expect either
similar performance (or maybe better performance for non offloaded
traffic, as a number of branches are removed in the flow extraction
code).


Mike recently posted a patch for removing the csum_start/csum_offset
netdev-linux for which I also had a patch, but since it had some
implications on the handling of inner checksums, I ended up including my
version for now.


There is still one extra step that is left for a future revision:
eliminate last if (tunnel) in miniflow_extract().


Comments?

Comments

David Marchand June 5, 2025, 1:07 p.m. UTC | #1
On Tue, Jun 3, 2025 at 11:47 AM David Marchand via dev
<ovs-dev@openvswitch.org> wrote:
>
> Following a bug report about vhost-user port traffic with a vxlan tunnel
> being dropped, I relooked at the offloading code to see how we could
> switch to the non legacy offload flags mode in the vhost-user libary.
>
> As I dug into this, and with Ilya recent comment (on switching to an
> inner offload API) in mind, I wrote this series.
>
> The result seems promising in terms of code.
> I did no extensive performance testing yet, but I would expect either
> similar performance (or maybe better performance for non offloaded
> traffic, as a number of branches are removed in the flow extraction
> code).
>
>
> Mike recently posted a patch for removing the csum_start/csum_offset
> netdev-linux for which I also had a patch, but since it had some
> implications on the handling of inner checksums, I ended up including my
> version for now.
>
>
> There is still one extra step that is left for a future revision:
> eliminate last if (tunnel) in miniflow_extract().
>
>
> Comments?
>
>
> --
> David Marchand
>
> Changes since v4:
> - rebased,
> - added one optimisation for basic v2v performance,

Sorry I forgot about the ask for using parse_tcp_flags() in netdev-linux.c.
I have the change ready, but I'll wait a bit if there are comments on
this current revision.
David Marchand June 16, 2025, 8:10 a.m. UTC | #2
On Thu, Jun 5, 2025 at 3:07 PM David Marchand <david.marchand@redhat.com> wrote:
> Sorry I forgot about the ask for using parse_tcp_flags() in netdev-linux.c.
> I have the change ready, but I'll wait a bit if there are comments on
> this current revision.

Should I still wait or can I send a v6 for this topic?
Ilya Maximets June 16, 2025, 5:07 p.m. UTC | #3
On 6/16/25 10:10 AM, David Marchand wrote:
> On Thu, Jun 5, 2025 at 3:07 PM David Marchand <david.marchand@redhat.com> wrote:
>> Sorry I forgot about the ask for using parse_tcp_flags() in netdev-linux.c.
>> I have the change ready, but I'll wait a bit if there are comments on
>> this current revision.
> 
> Should I still wait or can I send a v6 for this topic?

I didn't have a lot of time to look at the set due to traveling last week,
but on a quick read the rest of the set seems fine.  Feel free to send v6,
so we can do a final review and, hopefully, merge.

Best regards, Ilya Maximets.
David Marchand June 17, 2025, 7:25 a.m. UTC | #4
Hello,

On Mon, Jun 16, 2025 at 7:07 PM Ilya Maximets <i.maximets@ovn.org> wrote:
>
> On 6/16/25 10:10 AM, David Marchand wrote:
> > On Thu, Jun 5, 2025 at 3:07 PM David Marchand <david.marchand@redhat.com> wrote:
> >> Sorry I forgot about the ask for using parse_tcp_flags() in netdev-linux.c.
> >> I have the change ready, but I'll wait a bit if there are comments on
> >> this current revision.
> >
> > Should I still wait or can I send a v6 for this topic?
>
> I didn't have a lot of time to look at the set due to traveling last week,
> but on a quick read the rest of the set seems fine.  Feel free to send v6,
> so we can do a final review and, hopefully, merge.

v6 available at
https://mail.openvswitch.org/pipermail/ovs-dev/2025-June/424109.html