]> git.ipfire.org Git - thirdparty/open-vm-tools.git/commit
Send GUESTRPCPKT_FIELD_FAST_CLOSE when doing one-off RPC via vsock
authorOliver Kurth <okurth@vmware.com>
Wed, 4 Mar 2020 20:07:13 +0000 (12:07 -0800)
committerOliver Kurth <okurth@vmware.com>
Wed, 4 Mar 2020 20:07:13 +0000 (12:07 -0800)
commitbf9de87b3cd4d25e6ca23db63c01f353acf40419
treead987ce622896bbc46131062a2d3dabd690f7df5
parent7221cc5b2498b57d9d7f2284aec913a2561e8a8b
Send GUESTRPCPKT_FIELD_FAST_CLOSE when doing one-off RPC via vsock

To work around a vsock/vmci/VMX issue with vsock cleanup, send a special
command that tells the VXM to immediately close a vsock after completing
an RPC.  This minimizes delays/timeouts when sending one-off RPCs rapdily.

Can still run out of vsockets, but they clean up pretty quickly,
so add logic to sleep a bit and retry if ENOBUFS is returned
by connect().
open-vm-tools/lib/include/vmware/tools/guestrpc.h
open-vm-tools/lib/rpcChannel/rpcChannel.c
open-vm-tools/lib/rpcChannel/rpcChannelInt.h
open-vm-tools/lib/rpcChannel/simpleSocket.c
open-vm-tools/lib/rpcChannel/simpleSocket.h
open-vm-tools/lib/rpcChannel/vsockChannel.c