Files
qemu/net/meson.build
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

75 lines
1.7 KiB
Meson

system_ss.add(files(
'announce.c',
'checksum.c',
'dgram.c',
'dump.c',
'eth.c',
'filter-buffer.c',
'filter-mirror.c',
'filter.c',
'hub.c',
'net-hmp-cmds.c',
'net.c',
'queue.c',
'socket.c',
'stream.c',
'stream_data.c',
'util.c',
))
if get_option('replication').allowed() or \
get_option('colo_proxy').allowed()
system_ss.add(files('colo-compare.c'))
system_ss.add(files('colo.c'))
else
system_ss.add(files('colo-stubs.c'))
endif
if get_option('colo_proxy').allowed()
system_ss.add(files('filter-rewriter.c'))
endif
system_ss.add(when: 'CONFIG_TCG', if_true: files('filter-replay.c'))
if have_l2tpv3
system_ss.add(files('l2tpv3.c'))
endif
if enable_passt
system_ss.add(files('passt.c'))
endif
system_ss.add(when: slirp, if_true: files('slirp.c'))
system_ss.add(when: vde, if_true: files('vde.c'))
if have_netmap
system_ss.add(files('netmap.c'))
endif
system_ss.add(when: [libxdp, libbpf], if_true: files('af-xdp.c'))
if have_vhost_net_user
system_ss.add(when: 'CONFIG_VIRTIO_NET', if_true: files('vhost-user.c'), if_false: files('vhost-user-stub.c'))
endif
if host_os == 'windows'
system_ss.add(files('tap-win32.c'))
elif host_os == 'linux'
system_ss.add(files('tap.c', 'tap-linux.c'))
elif host_os in bsd_oses
system_ss.add(files('tap.c', 'tap-bsd.c'))
elif host_os == 'sunos'
system_ss.add(files('tap.c', 'tap-solaris.c'))
else
system_ss.add(files('tap.c', 'tap-stub.c'))
endif
if have_vhost_net_vdpa
system_ss.add(when: 'CONFIG_VIRTIO_NET', if_true: files('vhost-vdpa.c'), if_false: files('vhost-vdpa-stub.c'))
endif
vmnet_files = files(
'vmnet-common.m',
'vmnet-bridged.m',
'vmnet-host.c',
'vmnet-shared.c'
)
system_ss.add(when: vmnet, if_true: vmnet_files)
subdir('can')