Functionality Overview

The calling application initiates the library with a call to KVM_Init, which includes as optional parameters paths to a root certificate (for TLS validation) and a client certificate (for mutual authentication). This call also provides a callback function, getConnectionInfo, which is called with KVM_Start when KVM is used to connect to Intel AMT.

To provide information on sessions that fail to complete their initial connections, a developer can create a function to receive a report on such failures and display or log the received reason. Register the function by invoking KVM_RegisterStatusCallback.

When a viewer wishes to connect with an Intel AMT platform, it calls KVM_Start with a port number or with 0 as a port number. The 0 causes the library to randomly assign a port number. The library invokes the callback function, getConnectionInfo,  initialized previously with KVM_Init to get connection parameters for the Intel AMT platform. It then establishes a tunnel to the platform based on the connection parameters and starts listening to the designated port waiting for requests.

With each new connection opened, the specific callback function getConnectionInfo is called.

At this point, the library serves as a proxy, taking requests from the viewer application and forwarding them via the established connection and returning data from the target platform to the viewer. The viewer and the platform communicate using the RFB protocol, but this communication is transparent to the library.

There are two options for closing a KVM connection:

   Specific connection:  Close the specific viewer application that was used to open the connection, e.g. RealVNC.

   Connection port: Send KVM_Stop to close the connection port and, as a result, all KVM connections through the port.

Calling KVM_Deinit causes the library to free all resources.

The KVM Proxy Library maintains an internal list of managed clients. It can support at least eight clients. The library differentiates between clients based on the target IP.

Copyright © 2006-2022, Intel Corporation. All rights reserved.