About the NX-SDK
The Cisco NX-OS SDK (NX-SDK) is a C++ abstraction and plugin-library layer that streamlines access to infrastructure for automation and custom application creation, such as generating custom:
-
CLIs
-
Syslogs
-
Event and Error managers
-
Inter-application communication
-
High availability (HA)
-
Route manager
You can use C++, Python, or Go (with some exceptions) for application development with NX-SDK.
Requirements
The NX-SDK has the following requirements:
-
Docker
-
A Linux environment (either Ubuntu 14.04, or Centos 6.7). Cisco recommends using the provided NX-SDK Docker containers. For more information, see Cisco DevNet NX-SDK.
Support for Local (On Switch) and Remote (Off Switch) Applications
Applications that are developed with NX-SDK are created or developed off of the switch in the Docker containers that the NX-SDK provides. After the application is created, you have flexibility of where the applications can be deployed:
-
Local (on-box) applications run on the switch. For information, see About On-Box (Local) Applications
-
Remote (off-box) applications run off switch. This option, supported with NX-SDK 2.0 and later, enables you to deploy the application to run anywhere other than on the switch. For information, see About Remote Applications.
Related Information
For more information about Cisco NX-SDK, go to:
-
Cisco DevNet NX-SDK. Click the versions.md link (Cisco DevNet NX-SDK Versions) to get information about features and details on each supported release.
As needed, Cisco will add information for NX-SDK to github.
Considerations for Go Bindings
Go bindings are supported at various levels depending on the release of NX-SDK and whether apps are running locally or remotely.
-
Go bindings for any version of NX-SDK remote application are pre-EFT quality.
-
Go bindings for a local NX-SDK 2.0 application is pre-EFT.
-
Go bindings for a local NX-SDK 1.7.5 application or earlier is supported.
For more information, see GO Bindings for NX-SDK Applications.