You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
NX-API support for custom show commands generated by NX-SDK applications.
Refer to "showCliOutFormat" & "printConsole" API in nx_cli.h for more details.
This is to print the custom show command in the specified output format text (default), json, xml. ex) show <appname> blah | json
NxRibMgr
Extended NxRibMgr to add/delete/modify routes in NXOS RIB.
For more details on the NxRibMgr add/delete/modify APIs and its usage, refer to nx_rib_mgr.h
Remote NX-SDK
Now with Remote NX-SDK support, NX-SDK applications can not only run inside NX-OS but can run "anywhere (inside a container, in cloud, inside the switch etc)".
Ability for custom applications to register with Nexus L3 RIB for route updates & lookups.
For more details on the NxRibMgr APIs and its usage, refer to nx_rib_mgr.h
For sample application using NxRibMgr, refer to routeTracker NX-SDK application.
Known Bug: nx_rib_mgr.h APIs works only in VSH not in BASH.
Streaming telemetry
Ability to stream custom information from custom NX-SDK application through NXOS telemetry.
To stream custom data, define custom "show" command in your NX-SDK application to directly ouput JSON data to be streamed out of the switch.
Set “query-condition show-output-format=json” in the telemetry path config as follows to stream custom JSON data from custom NX-SDK Show cli.
For sample application using streaming telemetry, refer to routeTracker NX-SDK application.
CPU Limit
CGROUP support for NX-SDK Applications ensure NX-SDK user applications, do not overconsume system resources(CPU cycles, system memory) from other native system processes.
NX-SDK supports three cgroup modes:
Low: All NX-SDK apps started in this mode combined can use upto 25% of CPU and 768M of Memory in contention.
Med: All NX-SDK apps started in this mode combined can use upto 50% of CPU and 1GB of Memory in contention.
High: All NX-SDK apps started in this mode combined can use upto 75% of CPU and 1.5GB of Memory in contention.
By default, all NX-SDK Apps will be started as Low priority app.
App priority can be changed using the API, setAppPriority(nxos::prio_e prio) defined in nx_sdk.h.
Memory footprint
Memory footprint for all NX-SDK objects created and its sizes for an NX-SDK Application.
To get the memory footprint use, "show $appname nxsdk mem-stats".
Advanced Exception
On failure, APIs throw exceptions. Refer to the API documentation for more details on the failures cases for each & every API.
In v1.0.0, failures are thrown as simple exceptions as Strings.
From v1.5.0, applications can either catch simple or advanced exceptions. Advanced exceptions are of common type "NxException" across all languages with more detailed information on the failure.
Refer to nx_exception.h for more details on the supported APIs & its usage.
APIs to gain access to NXOS functionalities. Refer to nx_sdk.h
APIs to generate custom CLIs (config and show commands) and get callbacks. Refer to nx_cli.h
APIs to generate custom Syslogs, Events & Error history. Refer to nx_trace.h
To start/stop custom Applications from VSH just like any other native Nexus applications (like feature bgp) thereby providing HA capability for custom applications.
Example Apps
tmCfgBot, pbwMonitor. Refer to NX-SDK Apps for more details.