Open Ethernet Networking (OpEN) API Guide and Reference Manual
3.6.0.3
|
A Cloud Managed solution involves an Agent running on the switch as an external application to switchdrvr, similar to a downloaded user application. An Agent utilizes a network connection from the switch to a server located in the cloud, which typically resides in a public network somewhere, exchanging information to determine whether the switch is licensed for cloud management and has an up-to-date code image. Various techniques may be used by an Agent to "phone home" to its server, and the degree to which it controls the switch configuration settings from the cloud varies by provider. All this is negotiated between the cloud management provider and the end customer.
For its part, ICOS is not directly involved in Agent/server communication. However, several configuration controls are available to the end-user of the switch to help facilitate this communication depending on whether a proxy server is used within the local network to access the Internet. Proxy information consists of its IP address, TCP/UDP port number, and login credentials (username and password). A password may be specified as either unencrypted or AES-encrypted. In addition, a URL string may be specified to identify a specific cloud server to which an Agent can direct its initial "phone home" requests. Lastly, a mode parameter controls whether an Agent is permitted to perform any actions on the switch and initiate any network communication.
Note that ICOS does not act on these Cloud Managed configuration parameters, but provides them for the benefit of an Agent, who can access their values through the OpEN APIs described below. Like other ICOS configuration parameters, these may be saved by the end-user so that they persist across a switch reset.
Provide a set of specific get/set OpEN APIs to support the cloud managed "bootstrap" configuration parameters needed for accessing the public network from the switch so that an Agent can contact its cloud server.
This document provides a brief description of the Cloud Managed OpEN APIs. It provides the following services:
All 'Set' operations may affect the Switch behavior and configuration.
In the main function, the sample application initializes the OpEN API RPC service by calling openapiClientRegister() and waits for the RPC service in switchdrvr to start. A Client Handle is returned by openapiClientRegister() which is used while invoking the OpEN APIs. The application then exercises the associated OpEN APIs and logs informational and/or error messages on the console. The example application runs to its completion and exits.
cloud_managed_example.c is a sample application that demonstrates the use of the Cloud Managed OpEN APIs. cloud_managed_example is started from the command line and has the following usage syntax:
Usage: cloud_managed_example <test#> <arg1> <arg2> ...
It exercises all the cloud_managed OpEN APIs with appropriate arguments to manage the cloud_managed feature in the ICOS main process (switchdrvr).
CLI Command | OpEN API Reference |
---|---|
(User EXEC Mode)> show cloud-managed | openapiCloudManagedModeGet() openapiCloudManagedProxyIpGet() openapiCloudManagedProxyUserGet() openapiCloudManagedServerUrlGet() |
(Privileged EXEC Mode)# show cloud-managed | (same as above) |
(Config-cloud-managed)# enable | openapiCloudManagedModeSet() |
(Config-cloud-managed)# proxy-ip-address | openapiCloudManagedProxyIpSet() openapiCloudManagedProxyUserSet() |
(Config-cloud-managed)# url | openapiCloudManagedServerUrlSet() |