9.0

Table Of Contents
VMCI Sockets Programming Guide
24 VMware, Inc.
Isolation Options in VMX
ESX/ESXi4.0toESXi5.0provide.vmxoptionsforVMCIisolation.AsofESXi5.1,theseoptionshavenoeffect.
[vmci0.unrestricted = FALSE|TRUE]
Whenitsvmci.unrestrictedoptionwassetTRUE,avirtualmachinecouldcommunicatewithallhost
endpointsandothervirtualmachinesthathadvmci0.unrestrictedsetTRUE.
[vmci0.domain = <domainName>]
(ESX/ESXionly)Allvirtualmachinesandhostapplicationsweremembersofthedefaultdomain("")null
string,bydefault.Ifthevmci0.domainoptionspecifiedanondefaultdomain,thenthevirtualmachine
couldcommunicateonlywiththehypervisorandothervirtualmachinesinthesamedomain.Thiswasto
organizevi
rtualmachinesintogroupsthatcouldcommunicatewitheachother.
AsofESXi5.1,orearlierwhenconfiguredforrestrictedcommunication,theVMCIdevicehasasecurityprofile
similartoanyotherdevicesuchaskeyboard,videomonitor,mouse,ormotherboard.Guestcommunications
dependontheVMCIapplicationsrunningonthehost.VMCIinits
elfdoesnotexposeanyguestinformation.
Isolation of Virtual Machines
ThissectiondescribesVMCIisolationmechanismsastheyapplytoVMwareWorkstationandESXihosts.
Isolation in Workstation
AfterWorkstation8.x,orearlierwithitamarkedisolated,virtualmachineisallowedtointeractonlywith
hypervisorservices(contextID=0).Thisallows useofVMwareToolswithoutanyproblemsevenforan
isolatedvirtualmachine.Anisolatedvirtualmachineisnotallowedtointeractwithothervirtualmach
ines.
Avirtualmachineisisolatedbydefault,butWorkstation8.xandearlierhadacheckboxtoremoveitsisolation.
Isolation in ESX/ESXi
ESX/ESXi4.0untilESXi5.0supportedtheabilitytohaveseveralgroupsofvirtualmachinesperphysicalhost,
whereavirtualmachinecouldseeonlythevirtualmachinesthatwereamemberofthesamegroup.Groups
werenothierarchicalandcouldnotoverlap.Eachhostcouldbelongtooneormo
reVMCIdomains,andguest
virtualmachinescouldseeothervirtualmachinesinthesamedomain,andthehypervisorcontext.Context
IDshadtobeuniqueacrossdomainsonthehost.VMCIdomainswerespecifiedinavirtualmachine’s.vmx
filenouserinterfacewasprovidedtomanageVMCIdomains.
AsofESXi5.
1,andearlierifmarkedisolated,avirtualmachinehasthesamerestrictionsasforWorkstation.
Trusted VMCI Sockets
VMCIdeviceinterfacesarenotavailabletouserlevelprocesses,whichmustaccessitusingVMCISockets.
TheVMCISocketsAPIpermitssomehostapplicationstocreatetrustedVMCISockets,whichmaybeusedfor
communication withisolatedguestvirtualmachines.Themechanismfordecidingwhetherahostapplication
createsatrustedVM
CIsocketdependsonthehostoperatingsystem:
LinuxAprocesswiththecapabilityCAP_NET_ADMINcancreatetrustedendpoints.
ESXiAsystemprocesswithaccessprivilegesdgram_vsocket_trustedorstream_vsocket_trusted
cancreatetrusteddatagramorstreamsockets,respectively.
Creationoftrustedendpointsisnotallowedonotherhostoperatingsystems.
OnWorkstation8andFusion4,ahostapplicationrunningwiththesameuserIDasthevirtualmachineis
consideredtrusted.
TheVMCISocketsAPIalsosupportsthenotionofreservedports(portsnumbersunder1024),whereaprocess
mus
thavecapabilityCAP_NET_BIND_SERVICEsoitcanbindtoaportwithinthereserved<1024portrange.
OnWindows,onlymembersoftheAdministratorgroupareallowedtobindtoportsunder1024.