qemu-cr16/net
Laurent Vivier 854ee02b22 net: Add passt network backend
This commit introduces support for passt as a new network backend.
passt is an unprivileged, user-mode networking solution that provides
connectivity for virtual machines by launching an external helper process.

The implementation reuses the generic stream data handling logic. It
launches the passt binary using GSubprocess, passing it a file
descriptor from a socketpair() for communication. QEMU connects to
the other end of the socket pair to establish the network data stream.

The PID of the passt daemon is tracked via a temporary file to
ensure it is terminated when QEMU exits.

Signed-off-by: Laurent Vivier <lvivier@redhat.com>
Signed-off-by: Jason Wang <jasowang@redhat.com>
2025-07-14 13:27:09 +08:00
..
can qom: Make InterfaceInfo[] uses const 2025-04-25 17:00:41 +02:00
af-xdp.c net: fix buffer overflow in af_xdp_umem_create() 2025-07-14 10:13:37 +08:00
announce.c qapi net: Elide redundant has_FOO in generated C 2022-12-14 20:04:47 +01:00
checksum.c net: checksum: Convert data to void * 2024-11-25 13:59:50 +08:00
clients.h net: Add passt network backend 2025-07-14 13:27:09 +08:00
colo-compare.c qom: Make InterfaceInfo[] uses const 2025-04-25 17:00:41 +02:00
colo-compare.h Add the function of colo_compare_cleanup 2021-06-11 10:30:13 +08:00
colo-stubs.c colo: move stubs out of stubs/ 2024-04-18 11:17:27 +02:00
colo.c net/colo.c: Fix the pointer issue reported by Coverity. 2022-09-02 10:22:39 +08:00
colo.h net/colo.c: Fix the pointer issue reported by Coverity. 2022-09-02 10:22:39 +08:00
dgram.c win32: replace closesocket() with close() wrapper 2023-03-13 15:39:31 +04:00
dump.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
eth.c net/eth: Clean up local variable shadowing 2023-09-29 10:07:16 +02:00
filter-buffer.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
filter-mirror.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
filter-replay.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
filter-rewriter.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
filter.c qom: Make InterfaceInfo[] uses const 2025-04-25 17:00:41 +02:00
hub.c net: Add passt network backend 2025-07-14 13:27:09 +08:00
hub.h net: Remove deprecated [hub_id name] tuple of 'hostfwd_add' / 'hostfwd_remove' 2020-03-09 18:44:04 +00:00
l2tpv3.c net: Increase L2TPv3 buffer to fit jumboframes 2023-02-17 13:31:33 +08:00
meson.build net: Add passt network backend 2025-07-14 13:27:09 +08:00
net-hmp-cmds.c qapi: Move include/qapi/qmp/ to include/qobject/ 2025-02-10 15:33:16 +01:00
net.c net: Add passt network backend 2025-07-14 13:27:09 +08:00
netmap.c tap: Remove qemu_using_vnet_hdr() 2024-06-04 15:14:25 +08:00
passt.c net: Add passt network backend 2025-07-14 13:27:09 +08:00
queue.c net: Remove deadcode 2024-10-03 17:26:05 +03:00
slirp.c qapi: Move include/qapi/qmp/ to include/qobject/ 2025-02-10 15:33:16 +01:00
socket.c net/socket: skip automatic zero-init of large array 2025-06-12 13:40:16 -04:00
stream.c net: Refactor stream logic for reuse in '-net passt' 2025-07-14 13:27:09 +08:00
stream_data.c net: Refactor stream logic for reuse in '-net passt' 2025-07-14 13:27:09 +08:00
stream_data.h net: Refactor stream logic for reuse in '-net passt' 2025-07-14 13:27:09 +08:00
tap-bsd.c tap: Remove tap_probe_vnet_hdr_len() 2024-06-04 15:14:25 +08:00
tap-linux.c tap-linux: Open ipvtap and macvtap 2025-03-10 17:07:16 +08:00
tap-linux.h tap: Add USO support to tap device. 2023-09-18 14:36:13 +08:00
tap-solaris.c tap: Remove tap_probe_vnet_hdr_len() 2024-06-04 15:14:25 +08:00
tap-stub.c tap: Remove tap_probe_vnet_hdr_len() 2024-06-04 15:14:25 +08:00
tap-win32.c net: Add get_vhost_net callback to NetClientInfo 2025-07-14 13:27:09 +08:00
tap.c net: Add is_vhost_user flag to vhost_net struct 2025-07-14 13:27:09 +08:00
tap_int.h tap: Remove tap_probe_vnet_hdr_len() 2024-06-04 15:14:25 +08:00
trace-events vdpa: add trace event for vhost_vdpa_net_load_mq 2024-03-12 17:56:55 -04:00
trace.h trace: switch position of headers to what Meson requires 2020-08-21 06:18:24 -04:00
util.c net: Clean up includes 2016-02-04 17:41:30 +00:00
util.h Replace config-time define HOST_WORDS_BIGENDIAN 2022-04-06 10:50:37 +02:00
vde.c net: introduce qemu_set_info_str() function 2022-10-28 13:28:52 +08:00
vhost-user-stub.c net: Add save_acked_features callback to vhost_net 2025-07-14 13:27:09 +08:00
vhost-user.c net: Add is_vhost_user flag to vhost_net struct 2025-07-14 13:27:09 +08:00
vhost-vdpa-stub.c vhost-net-vdpa: add stubs for when no virtio-net device is present 2022-07-20 16:58:08 +08:00
vhost-vdpa.c net: Add is_vhost_user flag to vhost_net struct 2025-07-14 13:27:09 +08:00
vmnet-bridged.m net/vmnet: Drop ifdef for macOS versions older than 12.0 2024-07-02 06:58:48 +02:00
vmnet-common.m error: Strip trailing '\n' from an error string argument 2025-03-19 07:53:26 +01:00
vmnet-host.c net/vmnet: Drop ifdef for macOS versions older than 12.0 2024-07-02 06:58:48 +02:00
vmnet-shared.c net/vmnet: Drop ifdef for macOS versions older than 12.0 2024-07-02 06:58:48 +02:00
vmnet_int.h vmnet: stop recieving events when VM is stopped 2023-02-17 13:31:33 +08:00