All of lore.kernel.org
 help / color / mirror / Atom feed
From: Stefano Brivio <sbrivio@redhat.com>
To: Laurent Vivier <lvivier@redhat.com>
Cc: Juraj Marcin <jmarcin@redhat.com>,
	qemu-devel@nongnu.org, Fabiano Rosas <farosas@suse.de>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Peter Xu <peterx@redhat.com>, Jason Wang <jasowang@redhat.com>,
	Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>,
	Laurent Vivier <laurent@vivier.eu>,
	David Gibson <david@gibson.dropbear.id.au>,
	Cindy Lu <lulu@redhat.com>
Subject: Re: [PATCH 0/4] migration: Pass network packets received during switchover to dest VM
Date: Tue, 03 Feb 2026 14:29:05 +0100 (CET)	[thread overview]
Message-ID: <20260203142854.07640396@elisabeth> (raw)
In-Reply-To: <3806403b-a937-4b10-8bfb-bc4386b7fd82@redhat.com>

On Tue, 3 Feb 2026 13:03:26 +0100
Laurent Vivier <lvivier@redhat.com> wrote:

> On 1/27/26 19:21, Stefano Brivio wrote:
> > [Cc'ing Laurent and David]
> > 
> > On Tue, 27 Jan 2026 15:03:06 +0100
> > Juraj Marcin <jmarcin@redhat.com> wrote:
> >   
> >> During switchover there is a period during which both source and
> >> destination side VMs are paused. During this period, all network packets
> >> are still routed to the source side, but it will never process them.
> >> Once the destination resumes, it is not aware of these packets and they
> >> are lost. This can cause packet loss in unreliable protocols and
> >> extended delays due to retransmission in reliable protocols.
> >>
> >> This series resolves this problem by caching packets received once the
> >> source VM pauses and then passing and injecting them on the destination
> >> side. This feature is implemented in the last patch. The caching and
> >> injecting is implemented using network filter interface and should work
> >> with any backend with vhost=off, but only TAP network backend was
> >> explicitly tested.  
> > 
> > I haven't had a chance to try this change with passt(1) yet (the
> > backend can be enabled using "-net passt" or by starting it
> > separately).
> > 
> > Given that passt implements migration on its own (in deeper detail in
> > some sense, as TCP connections are preserved if IP addresses match), I
> > wonder if it this might affect or break it somehow.
> 
> passt implements migration only with the vhost-user backend ("-netdev vhost-user") that is 
> not supported by netpass. All the vhost-* cannot be supported because netpass cannot catch 
> packets on the virtio queues.

Thanks for having a look! On this point... right, hence my question in:

  https://lore.kernel.org/qemu-devel/20260131032700.12f27487@elisabeth/

that is, is there a plan to add vhost support *for netpass*, eventually?
It looks like yes:

  https://lore.kernel.org/qemu-devel/CACLfguUZpT-3sj4C8G8e+LB5GHpBfE_HKLOhyZ9qYR8bgkTOCw@mail.gmail.com/

but I'm not sure I got it right (Cindy? Jason?).

> passt with "-netdev stream" doesn't implement migration, but QEMU can be migrated with it 
> and all the connections are lost. So netpass will forward packets for connections that 
> will be broken.

Realistically, I don't think anybody will ever try to migrate VMs using
-netdev stream with passt, so I guess we don't really have to care
about this (it might help with some protocols, probably make UDP usage
a bit worse, waste a bit of bandwidth with TCP... but that's it).

The only existing (known) user of passt's migration feature is
KubeVirt, which switched to passt's vhost-user interface entirely.

> "-netdev passt" is only some kind of wrapper on top of "-netdev stream" and "-netdev 
> vhost-user" that starts the passt backend by itself (rather than expecting it has been 
> started by the user).

-- 
Stefano



      reply	other threads:[~2026-02-03 13:29 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-01-27 14:03 [PATCH 0/4] migration: Pass network packets received during switchover to dest VM Juraj Marcin
2026-01-27 14:03 ` [PATCH 1/4] migration/qemu-file: Add ability to clear error Juraj Marcin
2026-01-27 14:03 ` [PATCH 2/4] migration: Introduce VM_STARTED return-path message Juraj Marcin
2026-01-27 22:29   ` Michael S. Tsirkin
2026-01-27 14:03 ` [PATCH 3/4] migration: Convert VMSD early_setup into VMStateSavePhase enum Juraj Marcin
2026-01-27 14:03 ` [PATCH 4/4] migration: Pass network packets received during switchover to dest VM Juraj Marcin
2026-01-27 14:25   ` Daniel P. Berrangé
2026-01-27 22:27     ` Michael S. Tsirkin
2026-01-28 12:23     ` Juraj Marcin
2026-01-28  2:55   ` Jason Wang
2026-01-28  2:56     ` Jason Wang
2026-01-28  9:07       ` Cindy Lu
2026-01-28 13:49     ` Juraj Marcin
2026-01-29  1:05       ` Jason Wang
2026-01-29 16:07         ` Zhang Chen
2026-01-27 18:21 ` [PATCH 0/4] " Stefano Brivio
2026-01-28 13:06   ` Juraj Marcin
2026-01-28 17:27     ` Stefano Brivio
2026-01-30 14:40       ` Juraj Marcin
2026-01-31  2:27         ` Stefano Brivio
2026-02-04 11:23           ` Juraj Marcin
2026-02-03 12:03   ` Laurent Vivier
2026-02-03 13:29     ` 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=20260203142854.07640396@elisabeth \
    --to=sbrivio@redhat.com \
    --cc=david@gibson.dropbear.id.au \
    --cc=farosas@suse.de \
    --cc=jasowang@redhat.com \
    --cc=jmarcin@redhat.com \
    --cc=laurent@vivier.eu \
    --cc=lulu@redhat.com \
    --cc=lvivier@redhat.com \
    --cc=mst@redhat.com \
    --cc=peterx@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=vsementsov@yandex-team.ru \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.