All of lore.kernel.org
 help / color / mirror / Atom feed
* [PULL 0/3] Trivial patches for 2025-03-21
@ 2025-03-21  8:17 Michael Tokarev
  2025-03-21  8:17 ` [PULL 1/3] Makefile: "make dist" generates a .xz, not .bz2 Michael Tokarev
                   ` (3 more replies)
  0 siblings, 4 replies; 5+ messages in thread
From: Michael Tokarev @ 2025-03-21  8:17 UTC (permalink / raw)
  To: qemu-devel; +Cc: Michael Tokarev, qemu-trivial

The following changes since commit 1dae461a913f9da88df05de6e2020d3134356f2e:

  Update version for v10.0.0-rc0 release (2025-03-18 10:18:14 -0400)

are available in the Git repository at:

  https://gitlab.com/mjt0k/qemu.git tags/pull-trivial-patches

for you to fetch changes up to a028e04c89ea782f03c78db438239cfb7a47b4e9:

  mailmap: Update email address for Akihiko Odaki (2025-03-21 11:15:18 +0300)

----------------------------------------------------------------
trivial patches for 2025-03-21

There's nothing exciting here, -- there was almost no trivial stuff
lately.

----------------------------------------------------------------
Akihiko Odaki (1):
      mailmap: Update email address for Akihiko Odaki

Laurent Vivier (1):
      docs: Explain how to use passt

Michael Tokarev (1):
      Makefile: "make dist" generates a .xz, not .bz2

 .mailmap                    |   1 +
 Makefile                    |   6 +--
 docs/system/devices/net.rst | 100 ++++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 104 insertions(+), 3 deletions(-)


^ permalink raw reply	[flat|nested] 5+ messages in thread

* [PULL 1/3] Makefile: "make dist" generates a .xz, not .bz2
  2025-03-21  8:17 [PULL 0/3] Trivial patches for 2025-03-21 Michael Tokarev
@ 2025-03-21  8:17 ` Michael Tokarev
  2025-03-21  8:17 ` [PULL 2/3] docs: Explain how to use passt Michael Tokarev
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 5+ messages in thread
From: Michael Tokarev @ 2025-03-21  8:17 UTC (permalink / raw)
  To: qemu-devel; +Cc: Michael Tokarev, qemu-trivial

Fixes: 9bc9e9511944 (make-release: switch to .xz format by default)
Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
---
 Makefile | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/Makefile b/Makefile
index b65b0bd41a..c92a3cf785 100644
--- a/Makefile
+++ b/Makefile
@@ -207,10 +207,10 @@ clean: recurse-clean
 
 VERSION = $(shell cat $(SRC_PATH)/VERSION)
 
-dist: qemu-$(VERSION).tar.bz2
+dist: qemu-$(VERSION).tar.xz
 
-qemu-%.tar.bz2:
-	$(SRC_PATH)/scripts/make-release "$(SRC_PATH)" "$(patsubst qemu-%.tar.bz2,%,$@)"
+qemu-%.tar.xz:
+	$(SRC_PATH)/scripts/make-release "$(SRC_PATH)" "$(patsubst qemu-%.tar.xz,%,$@)"
 
 distclean: clean recurse-distclean
 	-$(quiet-@)test -f build.ninja && $(NINJA) $(NINJAFLAGS) -t clean -g || :
-- 
2.39.5



^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [PULL 2/3] docs: Explain how to use passt
  2025-03-21  8:17 [PULL 0/3] Trivial patches for 2025-03-21 Michael Tokarev
  2025-03-21  8:17 ` [PULL 1/3] Makefile: "make dist" generates a .xz, not .bz2 Michael Tokarev
@ 2025-03-21  8:17 ` Michael Tokarev
  2025-03-21  8:17 ` [PULL 3/3] mailmap: Update email address for Akihiko Odaki Michael Tokarev
  2025-03-23 22:29 ` [PULL 0/3] Trivial patches for 2025-03-21 Stefan Hajnoczi
  3 siblings, 0 replies; 5+ messages in thread
From: Michael Tokarev @ 2025-03-21  8:17 UTC (permalink / raw)
  To: qemu-devel; +Cc: Laurent Vivier, qemu-trivial, Michael Tokarev

From: Laurent Vivier <lvivier@redhat.com>

Add a chapter to explain how to use passt(1) instead of '-net user'.
passt(1) can be connected to QEMU using UNIX socket or vhost-user.
With vhost-user, migration of the VM is allowed and internal state of
passt(1) is transfered from one side to the other

Bug: https://gitlab.com/qemu-project/qemu/-/issues/2827
Signed-off-by: Laurent Vivier <lvivier@redhat.com>
Reviewed-by: David Gibson <david@gibson.dropbear.id.au>
Reviewed-by: Stefano Brivio <sbrivio@redhat.com>
Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
---
 docs/system/devices/net.rst | 100 ++++++++++++++++++++++++++++++++++++
 1 file changed, 100 insertions(+)

diff --git a/docs/system/devices/net.rst b/docs/system/devices/net.rst
index 2ab516d4b0..a3efbdcabd 100644
--- a/docs/system/devices/net.rst
+++ b/docs/system/devices/net.rst
@@ -77,6 +77,106 @@ When using the ``'-netdev user,hostfwd=...'`` option, TCP or UDP
 connections can be redirected from the host to the guest. It allows for
 example to redirect X11, telnet or SSH connections.
 
+Using passt as the user mode network stack
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+passt_ can be used as a simple replacement for SLIRP (``-net user``).
+passt doesn't require any capability or privilege. passt has
+better performance than ``-net user``, full IPv6 support and better security
+as it's a daemon that is not executed in QEMU context.
+
+passt can be connected to QEMU either by using a socket
+(``-netdev stream``) or using the vhost-user interface (``-netdev vhost-user``).
+See `passt(1)`_ for more details on passt.
+
+.. _passt: https://passt.top/
+.. _passt(1): https://passt.top/builds/latest/web/passt.1.html
+
+To use socket based passt interface:
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Start passt as a daemon::
+
+   passt --socket ~/passt.socket
+
+If ``--socket`` is not provided, passt will print the path of the UNIX domain socket QEMU can connect to (``/tmp/passt_1.socket``, ``/tmp/passt_2.socket``,
+...). Then you can connect your QEMU instance to passt:
+
+.. parsed-literal::
+   |qemu_system| [...OPTIONS...] -device virtio-net-pci,netdev=netdev0 -netdev stream,id=netdev0,server=off,addr.type=unix,addr.path=~/passt.socket
+
+Where ``~/passt.socket`` is the UNIX socket created by passt to
+communicate with QEMU.
+
+To use vhost-based interface:
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Start passt with ``--vhost-user``::
+
+   passt --vhost-user --socket ~/passt.socket
+
+Then to connect QEMU:
+
+.. parsed-literal::
+   |qemu_system| [...OPTIONS...] -m $RAMSIZE -chardev socket,id=chr0,path=~/passt.socket -netdev vhost-user,id=netdev0,chardev=chr0 -device virtio-net,netdev=netdev0 -object memory-backend-memfd,id=memfd0,share=on,size=$RAMSIZE -numa node,memdev=memfd0
+
+Where ``$RAMSIZE`` is the memory size of your VM ``-m`` and ``-object memory-backend-memfd,size=`` must match.
+
+Migration of passt:
+^^^^^^^^^^^^^^^^^^^
+
+When passt is connected to QEMU using the vhost-user interface it can
+be migrated with QEMU and the network connections are not interrupted.
+
+As passt runs with no privileges, it relies on passt-repair to save and
+load the TCP connections state, using the TCP_REPAIR socket option.
+The passt-repair helper needs to have the CAP_NET_ADMIN capability, or run as root. If passt-repair is not available, TCP connections will not be preserved.
+
+Example of migration of a guest on the same host
+________________________________________________
+
+Before being able to run passt-repair, the CAP_NET_ADMIN capability must be set
+on the file, run as root::
+
+   setcap cap_net_admin+eip ./passt-repair
+
+Start passt for the source side::
+
+   passt --vhost-user --socket ~/passt_src.socket --repair-path ~/passt-repair_src.socket
+
+Where ``~/passt-repair_src.socket`` is the UNIX socket created by passt to
+communicate with passt-repair. The default value is the ``--socket`` path
+appended with ``.repair``.
+
+Start passt-repair::
+
+   passt-repair ~/passt-repair_src.socket
+
+Start source side QEMU with a monitor to be able to send the migrate command:
+
+.. parsed-literal::
+   |qemu_system| [...OPTIONS...] [...VHOST USER OPTIONS...] -monitor stdio
+
+Start passt for the destination side::
+
+   passt --vhost-user --socket ~/passt_dst.socket --repair-path ~/passt-repair_dst.socket
+
+Start passt-repair::
+
+   passt-repair ~/passt-repair_dst.socket
+
+Start QEMU with the ``-incoming`` parameter:
+
+.. parsed-literal::
+   |qemu_system| [...OPTIONS...] [...VHOST USER OPTIONS...] -incoming tcp:localhost:4444
+
+Then in the source guest monitor the migration can be started::
+
+   (qemu) migrate tcp:localhost:4444
+
+A separate passt-repair instance must be started for every migration. In the case of a failed migration, passt-repair also needs to be restarted before trying
+again.
+
 Hubs
 ~~~~
 
-- 
2.39.5



^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [PULL 3/3] mailmap: Update email address for Akihiko Odaki
  2025-03-21  8:17 [PULL 0/3] Trivial patches for 2025-03-21 Michael Tokarev
  2025-03-21  8:17 ` [PULL 1/3] Makefile: "make dist" generates a .xz, not .bz2 Michael Tokarev
  2025-03-21  8:17 ` [PULL 2/3] docs: Explain how to use passt Michael Tokarev
@ 2025-03-21  8:17 ` Michael Tokarev
  2025-03-23 22:29 ` [PULL 0/3] Trivial patches for 2025-03-21 Stefan Hajnoczi
  3 siblings, 0 replies; 5+ messages in thread
From: Michael Tokarev @ 2025-03-21  8:17 UTC (permalink / raw)
  To: qemu-devel; +Cc: Akihiko Odaki, qemu-trivial, Michael Tokarev

From: Akihiko Odaki <akihiko.odaki@daynix.com>

It's too late but better than never.

Signed-off-by: Akihiko Odaki <akihiko.odaki@daynix.com>
Reviewed-by: Michael Tokarev <mjt@tls.msk.ru>
Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
---
 .mailmap | 1 +
 1 file changed, 1 insertion(+)

diff --git a/.mailmap b/.mailmap
index 5f6df414e1..33fe75400f 100644
--- a/.mailmap
+++ b/.mailmap
@@ -67,6 +67,7 @@ Andrey Drobyshev <andrey.drobyshev@virtuozzo.com> Andrey Drobyshev via <qemu-blo
 BALATON Zoltan <balaton@eik.bme.hu> BALATON Zoltan via <qemu-ppc@nongnu.org>
 
 # Next, replace old addresses by a more recent one.
+Akihiko Odaki <akihiko.odaki@daynix.com> <akihiko.odaki@gmail.com>
 Aleksandar Markovic <aleksandar.qemu.devel@gmail.com> <aleksandar.markovic@mips.com>
 Aleksandar Markovic <aleksandar.qemu.devel@gmail.com> <aleksandar.markovic@imgtec.com>
 Aleksandar Markovic <aleksandar.qemu.devel@gmail.com> <amarkovic@wavecomp.com>
-- 
2.39.5



^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [PULL 0/3] Trivial patches for 2025-03-21
  2025-03-21  8:17 [PULL 0/3] Trivial patches for 2025-03-21 Michael Tokarev
                   ` (2 preceding siblings ...)
  2025-03-21  8:17 ` [PULL 3/3] mailmap: Update email address for Akihiko Odaki Michael Tokarev
@ 2025-03-23 22:29 ` Stefan Hajnoczi
  3 siblings, 0 replies; 5+ messages in thread
From: Stefan Hajnoczi @ 2025-03-23 22:29 UTC (permalink / raw)
  To: Michael Tokarev; +Cc: qemu-devel, Michael Tokarev, qemu-trivial

[-- Attachment #1: Type: text/plain, Size: 116 bytes --]

Applied, thanks.

Please update the changelog at https://wiki.qemu.org/ChangeLog/10.0 for any user-visible changes.

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2025-03-24 13:22 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-03-21  8:17 [PULL 0/3] Trivial patches for 2025-03-21 Michael Tokarev
2025-03-21  8:17 ` [PULL 1/3] Makefile: "make dist" generates a .xz, not .bz2 Michael Tokarev
2025-03-21  8:17 ` [PULL 2/3] docs: Explain how to use passt Michael Tokarev
2025-03-21  8:17 ` [PULL 3/3] mailmap: Update email address for Akihiko Odaki Michael Tokarev
2025-03-23 22:29 ` [PULL 0/3] Trivial patches for 2025-03-21 Stefan Hajnoczi

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.