qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Stefano Brivio <sbrivio@redhat.com>
To: Jason Wang <jasowang@redhat.com>, qemu-devel@nongnu.org
Cc: "Laurent Vivier" <lvivier@redhat.com>,
	"Marc-André Lureau" <marcandre.lureau@redhat.com>,
	"Philippe Mathieu-Daudé" <philmd@linaro.org>,
	"Daniel P. Berrangé" <berrange@redhat.com>,
	"Markus Armbruster" <armbru@redhat.com>,
	"Stefan Weil" <sw@weilnetz.de>,
	"Stefano Garzarella" <sgarzare@redhat.com>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	"Dr. David Alan Gilbert" <dave@treblig.org>,
	"Eric Blake" <eblake@redhat.com>,
	"Paolo Bonzini" <pbonzini@redhat.com>
Subject: Re: [PATCH v2 09/10] net: Add passt network backend
Date: Thu, 3 Jul 2025 12:27:19 +0200	[thread overview]
Message-ID: <20250703122719.766a55e3@elisabeth> (raw)
In-Reply-To: <48ce7ba4-882e-4e6b-801a-135d489ae7f0@redhat.com>

On Tue, 1 Jul 2025 15:00:42 +0200
Laurent Vivier <lvivier@redhat.com> wrote:

> On 01/07/2025 03:46, Jason Wang wrote:
>
> > I would like to know the plan to support migration and its
> > compatibility for passt.  
> 
> As I said, the goal of this series is to be able to use '-nic passt' as we can use '-nic 
> user'. '-nic user' supports migration but TCP connections are lost.
> 
> With this series '-nic passt' supports migration but TCP connections are lost.
> 
> But we can improve '-nic passt' because we can migrate TCP connections too, for that we 
> need to launch passt-repair and to use vhost-user, if we really want to do this it can be 
> added (with a 'migration=on' parameter?)... but it's also already managed by '-netdev 
> vhost-user' and passt started manually or by libvirt.

For context, as I suppose it's not obvious: passt needs a helper on
both source and target to migrate TCP connections, because it needs the
TCP_REPAIR socket option (same as CRIU) to dump and load connection
parameters, to connect() TCP sockets without a new handshake, and to
close() them without a RST.

That helper is passt-repair(1), and its only purpose is to set and
clear TCP_REPAIR on sockets passed via SCM_RIGHTS.

By the way, at the moment, the only user of passt with a full
integration of the TCP migration capabilities is KubeVirt:

  https://github.com/kubevirt/enhancements/blob/main/veps/sig-network/passt-migration-proposal.md
  https://github.com/kubevirt/kubevirt/pull/14875

With libvirt, right now, one would need to run passt-repair manually.
Ideally, at some point, libvirt should gain the ability of doing all
that for the user, but I haven't even thought of a reasonable proposal
for how exactly libvirt could do this, yet.

Migration of everything else doesn't need any helper, but "everything
else" is just observed addresses at the moment, that is, passt needs to
know what link-local and global unicast addresses the guest used to
properly NAT traffic in some cases, and these are bits of back-end
state we also transfer.

-- 
Stefano



  reply	other threads:[~2025-07-03 10:27 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-06-18 15:57 [PATCH v2 00/10] net: Add passt netdev backend Laurent Vivier
2025-06-18 15:57 ` [PATCH v2 01/10] net: Refactor stream logic for reuse in '-net passt' Laurent Vivier
2025-06-18 15:57 ` [PATCH v2 02/10] net: Define net_client_set_link() Laurent Vivier
2025-06-18 15:57 ` [PATCH v2 03/10] net: Introduce helper to identify vhost-user clients Laurent Vivier
2025-07-01  1:36   ` Jason Wang
2025-06-18 15:57 ` [PATCH v2 04/10] net: Add get_vhost_net callback to NetClientInfo Laurent Vivier
2025-06-18 15:57 ` [PATCH v2 05/10] net: Consolidate vhost feature bits into NetClientInfo Laurent Vivier
2025-07-01  1:39   ` Jason Wang
2025-06-18 15:57 ` [PATCH v2 06/10] net: Add get_acked_features callback to NetClientInfo Laurent Vivier
2025-06-18 15:57 ` [PATCH v2 07/10] net: Add save_acked_features " Laurent Vivier
2025-06-18 15:57 ` [PATCH v2 08/10] net: Allow network backends to advertise max TX queue size Laurent Vivier
2025-06-18 15:57 ` [PATCH v2 09/10] net: Add passt network backend Laurent Vivier
2025-06-24  8:16   ` Markus Armbruster
2025-06-24  8:37     ` Laurent Vivier
2025-06-24 11:55       ` Markus Armbruster
2025-06-24 12:03         ` Daniel P. Berrangé
2025-06-24 12:47           ` Laurent Vivier
2025-06-25  6:57             ` Markus Armbruster
2025-06-30 14:22               ` Stefano Brivio
2025-07-01  1:46   ` Jason Wang
2025-07-01 13:00     ` Laurent Vivier
2025-07-03 10:27       ` Stefano Brivio [this message]
2025-06-18 15:57 ` [PATCH v2 10/10] net/passt: Implement vhost-user backend support Laurent Vivier

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=20250703122719.766a55e3@elisabeth \
    --to=sbrivio@redhat.com \
    --cc=armbru@redhat.com \
    --cc=berrange@redhat.com \
    --cc=dave@treblig.org \
    --cc=eblake@redhat.com \
    --cc=jasowang@redhat.com \
    --cc=lvivier@redhat.com \
    --cc=marcandre.lureau@redhat.com \
    --cc=mst@redhat.com \
    --cc=pbonzini@redhat.com \
    --cc=philmd@linaro.org \
    --cc=qemu-devel@nongnu.org \
    --cc=sgarzare@redhat.com \
    --cc=sw@weilnetz.de \
    /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.
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 NNTP newsgroup(s).