Re: [PATCH v3] net/9p: add vsock transport
From: Dominique Martinet
Date: Tue Sep 22 2026 - 04:33:51 EST
skvarlamatus@xxxxxxxxx wrote on Wed, Sep 16, 2026 at 09:42:04PM +0200:
> On Mon, Sep 14, 2026 at 23:44 +0000, asmadeus@xxxxxxxxxxxxx wrote:
> > Right, diod has an open issue[1] for vsock but since there were no
> > obvious client available either it was never done.
> > I don't think it's difficult to do (probably more work to add the option
> > parsing than the actual vsock support)
>
> Definitely agree. I think with this in the client, it could encourage
> more servers to add vsock support too.
Just had a quick look at diod code and their handling of the listen
option is purely string based, passed to getaddrinfo() to figure out if
the user requested ipv4/ipv6 -- I'm pretty sure getaddrinfo() doesn't
want to have anything to do with vsock, but I don't suppose there's a
canonical string representation for vsock is there? (something like
`cid:<cid>:<port>` instead of the usual <cid>:<port> couple printed?)
I didn't want to add a new option such as --vsock-listen, but I'd hate
to disambiguate vsock from ipv4/v6 as a string even more... :)
FWIW commit message ended up like this (everything ellipsed is exactly
as you sent), so just extending the sentence a bit to mention Hyper-V
and podman machine:
```
net/9p: add vsock transport
Add vsock as a transport option for 9P client connections. This
allows mounting 9P filesystems over VM sockets without requiring TCP/IP
networking or additional userspace tools, which can be useful with
hypervisors other than Qemu/KVM, for example Hyper-V/WSL which is used
by podman machine on Windows[1][2].
[implementation details]
Usage:
mount -t 9p -o trans=vsock[,port=<port>] <CID> /mnt/point
Link: https://github.com/podman-container-tools/podman/blob/main/cmd/podman/machine/server9p.go [1]
Link: https://github.com/podman-container-tools/podman/blob/main/cmd/podman/machine/client9p.go [2]
[sign-offs/reviews]
```
Thanks,
--
Dominique Martinet | Asmadeus