"-netdev socket" only supports inet sockets. It's not a complex task to add support for unix sockets, but the socket netdev parameters are not defined to manage well unix socket parameters.
As discussed in: "socket.c added support for unix domain socket datagram transport" https://lore.kernel.org/qemu-devel/1c0e1bc5-904f-46b0-8044-68e43e67b...@gmail.com/ This series adds support of unix socket type using SocketAddress QAPI structure. Two new netdev backends, "stream" and "dgram" are added, that are barely a copy of "socket" backend but they use the SocketAddress QAPI to provide socket parameters. And then they also implement unix sockets (TCP and UDP). Some examples of CLI syntax: for TCP: -netdev stream,id=socket0,addr.type=inet,addr.host=localhost,addr.port=1234 -netdev stream,id=socket0,server=off,addr.type=inet,addr.host=localhost,addr.port=1234 -netdev dgram,id=socket0,\ local.type=inet,local.host=localhost,local.port=1234,\ remote.type=inet,remote.host=localhost,remote.port=1235 for UNIX: -netdev stream,id=socket0,addr.type=unix,addr.path=/tmp/qemu0 -netdev stream,id=socket0,server=off,addr.type=unix,addr.path=/tmp/qemu0 -netdev dgram,id=socket0,\ local.type=unix,local.path=/tmp/qemu0,\ remote.type=unix,remote.path=/tmp/qemu1 for FD: -netdev stream,id=socket0,addr.type=fd,addr.str=4 -netdev stream,id=socket0,server=off,addr.type=fd,addr.str=5 -netdev dgram,id=socket0,local.type=fd,addr.str=4 v2: - use "stream" and "dgram" rather than "socket-ng,mode=stream" and ""socket-ng,mode=dgram" - extract code to bypass qemu_opts_parse_noisily() to a new patch - do not ignore EINVAL (Stefano) - fix "-net" option CC: Ralph Schmieder <ralph.schmie...@gmail.com> CC: Stefano Brivio <sbri...@redhat.com> CC: Daniel P. Berrangé <berra...@redhat.com> CC: Markus Armbruster <arm...@redhat.com> Laurent Vivier (7): net: introduce convert_host_port() qapi: net: introduce a way to bypass qemu_opts_parse_noisily() qapi: net: add stream and dgram netdevs net: stream: add unix socket net: dgram: make dgram_dst generic net: dgram: move mcast specific code from net_socket_fd_init_dgram() net: dgram: add unix socket Stefano Brivio (1): net: stream: Don't ignore EINVAL on netdev socket connection hmp-commands.hx | 2 +- include/qemu/sockets.h | 2 + net/clients.h | 6 + net/dgram.c | 706 +++++++++++++++++++++++++++++++++++++++++ net/hub.c | 2 + net/meson.build | 2 + net/net.c | 138 ++++++-- net/stream.c | 516 ++++++++++++++++++++++++++++++ qapi/net.json | 38 ++- 9 files changed, 1379 insertions(+), 33 deletions(-) create mode 100644 net/dgram.c create mode 100644 net/stream.c -- 2.35.3