If you are a consumer of the vSphere Web Client, you might have seen something called the VMware Client Integration Plugin (CIP) and you may have even downloaded it from bottom of the vSphere Web Client page and installed it on your desktop.



However, have you ever wondered what CIP is actually used for? I know I personally have even though I have a general idea of what CIP provides, I have always been curious myself about the technical details. Recently there have been a few inquiries internally, so I figure I might as well do some research to see what I can find out.

The VMware CIP is actually a collection of different tools that are bundled together into a single installer that is available for either Microsoft Windows or Apple Mac OS X (Linux is being worked on). These tools provide a set of capabilities that are enabled when using the vSphere Web Client and below is a diagram of the different components included in CIP.

ovftool - Standalone CLI utility used to manage import/export of OVF and OVA images

Standalone CLI utility used to manage import/export of OVF and OVA images Windows Authentication - Allows the use of SSPI when logging in from the vSphere Web Client

Allows the use of SSPI when logging in from the vSphere Web Client Remote Devices - Connecting client side devices such as a CD-ROM, Floppy, USB, etc. to VM

Connecting client side devices such as a CD-ROM, Floppy, USB, etc. to VM File Upload/Download - Datastore file transfer

Datastore file transfer Content Library - Operations related to the Content Library feature such as import and export

Operations related to the Content Library feature such as import and export Client Side Logging/Config - Allows for writing non-flash logs + vSphere Web Client flash and logging settings

In addition to capabilities shown above, CIP is also used to assist with basic input validation when deploying the vCenter Server Appliance deployment using the new guided UI installer.

Internally, CIP is referred to as the Client Support Daemon or CSD for short. Prior to vSphere 6.0 Update 1, CIP ran as a browser plugin relying on the Netscape Plugin Application Programming Interface (NPAPI). In case you had not heard, Google Chrome and other popular browsers have all recently removed support for NPAPI based plugins in favor of better security and increased speed improvements. Due to this change, CIP had to be re-written to no longer rely on this interface and starting with vSphere 5.5 Update 3a and vSphere 6.0 Update 1, the version of CIP that is installed uses this new implementation. CIP is launched today via a protocol handler which is a fancy term for a capability web browsers that allows you to run a specific program when a link is open.

One observation that some customers have made including myself when installing the CIP is that an SSL Certificate is generated during the installation process. To provide the CIP services to the vSphere Web Client, a secure connection must be made to vSphere Web Client pages. To satisfy this requirement, a self-signed SSL Certificate is used and instead of pre-packaging an already generated certificate, one is dynamically created to ensure that no 3rd Party would have access to the private key and be able to access it from the outside.

The longer term plan is to try to move as much of the CIP functionality onto the server side as possible, although not everything will be able to move to the server side. For things like remote devices, it has already been moved to the Standalone VMRC which already provides access to the VM Console and being able to connect to client side devices makes the most sense. Hopefully this gives you a better understanding of what CIP provides and hint of where it is going in the future.

Here are some additional info that you might find useful when installing and troubleshooting CIP:

CIP Installer Logs:

Windows - %ALLUSERSPROFILE%\VMware\CIP\csd\logs

Mac OS X - /Applications/VMware Client Integration Plug-in.app/Contents/Library/data/logs

CIP Application Logs:

Windows - %USERPROFILE%\AppData\Local\VMware\CIP\csd\logs

Mac OS X - $HOME/VMware/CIP/csd/logs

vSphere Web Client / CSD Session Logs:

Windows - %USERSPROFILE%\VMware\CIP\ui\sessions

Mac OS X - $HOME/VMware/CIP/ui/sessions

CIP SSL Certificate Location:

Windows - %ALLUSERSPROFILE%\VMware\CIP\csd\ssl

Mac OS X - /Applications/VMware Client Integration Plug-in.app/Contents/Library/data/ssl