Hi Stefano,

On 2026-01-27 19:21, Stefano Brivio wrote:
> [Cc'ing Laurent and David]
> 
> On Tue, 27 Jan 2026 15:03:06 +0100
> Juraj Marcin <[email protected]> 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.
> 
> Did you perhaps have some thoughts about that already?

I'm aware of passt migrating its state and passt-repair, but I also
haven't tested it as I couldn't get passt-repair to work. Does it also
handle other protocols, or just preserves TCP connections?

The main focus of this feature are protocols that cannot handle packet
loss on their own in environments where IP address is preserved (and
thus also TCP connections). So, mainly tap/bridge, with the idea that
other network backends could also benefit from it. However, if it causes
problems with other backends, I could limit it just to tap.

> 
> For context, we didn't really write comprehensive documentation about
> it yet, but:
> 
> - KubeVirt's enhancement repository has a detailed description at:
>   
> https://github.com/kubevirt/enhancements/blob/main/veps/sig-network/passt/passt-migration-proposal.md#live-migration-with-passt
> 
> - the QEMU-facing details are outlined in:
>   
> https://archives.passt.top/passt-dev/[email protected]/
> 
> - usage of TCP_REPAIR is briefly described in passt-repair(1)
> 
> -- 
> Stefano
> 


Reply via email to