public inbox for passt-dev@passt.top
 help / color / mirror / code / Atom feed
From: Stefano Brivio <sbrivio@redhat.com>
To: Laurent Vivier <lvivier@redhat.com>
Cc: passt-dev@passt.top, David Gibson <david@gibson.dropbear.id.au>
Subject: Re: [PATCH v6 0/8] Add vhost-user support to passt (part 2)
Date: Wed, 12 Jun 2024 23:23:39 +0200	[thread overview]
Message-ID: <20240612232339.7c936921@elisabeth> (raw)
In-Reply-To: <20240612193744.4897d940@elisabeth>

On Wed, 12 Jun 2024 19:37:44 +0200
Stefano Brivio <sbrivio@redhat.com> wrote:

> On Wed, 12 Jun 2024 19:16:17 +0200
> Stefano Brivio <sbrivio@redhat.com> wrote:
> 
> > On Wed, 12 Jun 2024 17:47:26 +0200
> > Laurent Vivier <lvivier@redhat.com> wrote:
> >   
> > > Extract buffers management code from tcp.c and move
> > > it to tcp_buf.c
> > > tcp.c keeps all the generic code and will be also used by
> > > the vhost-user functions.
> > > 
> > > Also compare mode to MODE_PASTA, as we will manage vhost-user
> > > mode (MODE_VU) like MODE_PASST.    
> > 
> > Something in this series breaks the pasta_podman/bats test, number 19
> > in that script (Single TCP port forwarding, IPv4, tap). I'm bisecting
> > now...  
> 
> $ git bisect good
> 3c6a20486425ed00ba5b631bea11135045794dc2 is the first bad commit
> commit 3c6a20486425ed00ba5b631bea11135045794dc2
> Author: Laurent Vivier <lvivier@redhat.com>
> Date:   Wed Jun 12 17:47:34 2024 +0200
> 
>     tap: use in->buf_size rather than sizeof(pkt_buf)
>     
>     buf_size is set to sizeof(pkt_buf) by default. And it seems more correct
>     to provide the actual size of the buffer.
>     
>     Later a buf_size of 0 will allow vhost-user mode to detect
>     guest memory buffers.
>     
>     Signed-off-by: Laurent Vivier <lvivier@redhat.com>
>     Reviewed-by: David Gibson <david@gibson.dropbear.id.au>
>     Signed-off-by: Stefano Brivio <sbrivio@redhat.com>
> 
>  tap.c | 10 +++++-----
>  1 file changed, 5 insertions(+), 5 deletions(-)
> 
> ...checking that patch now.

Ouch, sorry, bad bisect, I forgot to rebuild at every step. The actual
issue seems to be in 1/8 (details as a reply to that one):

$ git bisect bad
fa462103eb219dfb8e6fe7bb25d1707d8a82b2a2 is the first bad commit
commit fa462103eb219dfb8e6fe7bb25d1707d8a82b2a2
Author: Laurent Vivier <lvivier@redhat.com>
Date:   Wed Jun 12 17:47:27 2024 +0200

    tcp: extract buffer management from tcp_send_flag()
    
    This commit isolates the internal data structure management used for storing
    data (e.g., tcp4_l2_flags_iov[], tcp6_l2_flags_iov[], tcp4_flags_ip[],
    tcp4_flags[], ...) from the tcp_send_flag() function. The extracted
    functionality is relocated to a new function named tcp_fill_flag_header().
    
    tcp_fill_flag_header() is now a generic function that accepts parameters such
    as struct tcphdr and a data pointer. tcp_send_flag() utilizes this parameter to
    pass memory pointers from tcp4_l2_flags_iov[] and tcp6_l2_flags_iov[].
    
    This separation sets the stage for utilizing tcp_fill_flag_header() to
    set the memory provided by the guest via vhost-user in future developments.
    
    Signed-off-by: Laurent Vivier <lvivier@redhat.com>
    Signed-off-by: Stefano Brivio <sbrivio@redhat.com>

 tcp.c | 72 ++++++++++++++++++++++++++++++++++++++++++++-----------------------
 1 file changed, 48 insertions(+), 24 deletions(-)

-- 
Stefano


      reply	other threads:[~2024-06-12 21:24 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-06-12 15:47 [PATCH v6 0/8] Add vhost-user support to passt (part 2) Laurent Vivier
2024-06-12 15:47 ` [PATCH v6 1/8] tcp: extract buffer management from tcp_send_flag() Laurent Vivier
2024-06-12 21:22   ` Stefano Brivio
2024-06-13  6:07     ` Stefano Brivio
2024-06-13  8:24       ` Laurent Vivier
2024-06-13 10:14         ` Stefano Brivio
2024-06-13 10:22           ` Laurent Vivier
2024-06-13 10:49             ` Stefano Brivio
2024-06-13 10:58               ` Laurent Vivier
2024-06-13  7:31     ` Laurent Vivier
2024-06-13  9:35       ` Stefano Brivio
2024-06-13 14:36         ` David Gibson
2024-06-12 15:47 ` [PATCH v6 2/8] tcp: move buffers management functions to their own file Laurent Vivier
2024-06-12 15:54   ` Stefano Brivio
2024-06-12 15:47 ` [PATCH v6 3/8] tap: refactor packets handling functions Laurent Vivier
2024-06-12 15:52   ` Stefano Brivio
2024-06-12 16:00     ` Laurent Vivier
2024-06-12 15:47 ` [PATCH v6 4/8] udp: refactor UDP header update functions Laurent Vivier
2024-06-12 15:47 ` [PATCH v6 5/8] udp: rename udp_sock_handler() to udp_buf_sock_handler() Laurent Vivier
2024-06-12 15:47 ` [PATCH v6 6/8] vhost-user: compare mode MODE_PASTA and not MODE_PASST Laurent Vivier
2024-06-12 15:47 ` [PATCH v6 7/8] iov: remove iov_copy() Laurent Vivier
2024-06-12 15:47 ` [PATCH v6 8/8] tap: use in->buf_size rather than sizeof(pkt_buf) Laurent Vivier
2024-06-12 17:16 ` [PATCH v6 0/8] Add vhost-user support to passt (part 2) Stefano Brivio
2024-06-12 17:37   ` Stefano Brivio
2024-06-12 21:23     ` Stefano Brivio [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20240612232339.7c936921@elisabeth \
    --to=sbrivio@redhat.com \
    --cc=david@gibson.dropbear.id.au \
    --cc=lvivier@redhat.com \
    --cc=passt-dev@passt.top \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://passt.top/passt

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for IMAP folder(s).