Stefan Hajnoczi
2019-Nov-21 09:46 UTC
[PATCH net-next 5/6] vsock: use local transport when it is loaded
On Tue, Nov 19, 2019 at 12:01:20PM +0100, Stefano Garzarella wrote:> @@ -420,9 +436,10 @@ int vsock_assign_transport(struct vsock_sock *vsk, struct vsock_sock *psk) > new_transport = transport_dgram; > break; > case SOCK_STREAM: > - if (remote_cid <= VMADDR_CID_HOST || > - (transport_g2h && > - remote_cid == transport_g2h->get_local_cid())) > + if (vsock_use_local_transport(remote_cid)) > + new_transport = transport_local; > + else if (remote_cid == VMADDR_CID_HOST || > + remote_cid == VMADDR_CID_HYPERVISOR) > new_transport = transport_g2h; > else > new_transport = transport_h2g;We used to send VMADDR_CID_RESERVED to the host. Now we send VMADDR_CID_RESERVED (LOCAL) to the guest when there is no transport_local loaded? If this is correct, is there a justification for this change? It seems safest to retain existing behavior. -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 488 bytes Desc: not available URL: <http://lists.linuxfoundation.org/pipermail/virtualization/attachments/20191121/233aa21b/attachment.sig>
Stefano Garzarella
2019-Nov-21 10:01 UTC
[PATCH net-next 5/6] vsock: use local transport when it is loaded
On Thu, Nov 21, 2019 at 09:46:14AM +0000, Stefan Hajnoczi wrote:> On Tue, Nov 19, 2019 at 12:01:20PM +0100, Stefano Garzarella wrote: > > @@ -420,9 +436,10 @@ int vsock_assign_transport(struct vsock_sock *vsk, struct vsock_sock *psk) > > new_transport = transport_dgram; > > break; > > case SOCK_STREAM: > > - if (remote_cid <= VMADDR_CID_HOST || > > - (transport_g2h && > > - remote_cid == transport_g2h->get_local_cid())) > > + if (vsock_use_local_transport(remote_cid)) > > + new_transport = transport_local; > > + else if (remote_cid == VMADDR_CID_HOST || > > + remote_cid == VMADDR_CID_HYPERVISOR) > > new_transport = transport_g2h; > > else > > new_transport = transport_h2g; > > We used to send VMADDR_CID_RESERVED to the host. Now we send > VMADDR_CID_RESERVED (LOCAL) to the guest when there is no > transport_local loaded? > > If this is correct, is there a justification for this change? It seems > safest to retain existing behavior.You're right, I'll revert this change in v2. Thanks, Stefano
Reasonably Related Threads
- [PATCH net-next v2 0/6] vsock: add local transport support
- [PATCH net-next 11/14] vsock: add multi-transports support
- [PATCH net-next 11/14] vsock: add multi-transports support
- [PATCH net-next 3/6] vsock: add local transport support in the vsock core
- [PATCH net-next 3/6] vsock: add local transport support in the vsock core