Open Ethernet Networking (OpEN) API Guide and Reference Manual
3.6.0.3
|
The Application Development Kit contains the files needed for development of OpEN Applications: C header files, libraries, documentation, and example applications.
The ADK contains many example applications in C, Ruby and Python that can be used as the starting point for an application.
Each example C application comes with a Makefile that can be copied and adjusted to suit your custom application. You can also use the main function as a template for setting up and tearing down the OpEN API. Once your application is compiled, see Downloading and Executing OpEN Applications for information on how to download and execute them on the switch.
The ADK directory structure is as follows:
Note that it is possible for OpEN applications to cause the switch to fail. This could be due to excessive memory/CPU usage or errors invoking the APIs. Care should be taken, and testing should be performed to ensure that applications are well behaved in this respect.
Once the APIs are published in the ADK, there will be no changes in the name, definition or operation of the released APIs. This is to ensure that applications built using the APIs continue to work across releases without the need for recompilation. New APIs will be added if there is a need to change the operation or definition of existing functionality. The versioning scheme is release.version[.maint_level[.build_num]] where release and version are incremented as they correspond to new developments. A release increment indicates significant improvements or functionality, whereas version increments generally show new feature APIs.
The current OpEN API version as of this release is 1.20.
The current version can also be retrieved programmatically via the openapiApiVersionGet() API.
Please review the following revision history table for more information.
release.version | History Summary |
---|---|
1.1 | Initial release. |
1.2 | New APIs introduced. Access Control Lists (ACL) Border Gateway Protocol (BGP) Fibre Channel over Ethernet (FCoE) Initialization Protocol (FIP) snooping Open Shortest Path First (OSPF) Overlay API (L2 over L3 tunnels) Simple Network Management Protocol (SNMP) Ternary CAMs (TCAM) |
1.3 | New APIs introduced. Global OSPF APIs in support of Virtual Routing and Forwarding (VRF) Routing Protocol Process Interface (RPPI) in support of VRF Multiprotocol Label Switching (MPLS) L2ol3 Overlay API (DCVPN) |
1.4 | New APIs introduced. Hash Prediction CLI Text Based Configuration |
1.5 | New APIs introduced. CLI Text Based Configuration for Non-Disruptive Configuration Management Instrumentation - Buffer Statistics Tracking |
1.6 | New APIs introduced. Monitor BGP status and statistics |
1.7 | New APIs introduced. Various common utility type APIs Additional support for Interfaces DOT1S Filters DOT3AD Active Members DOT1D Bridging DOT1AD (QinQ) Protocol Multicast/Forwarding DataBase (MFDB/FDB) IP Address Table Port Mirroring L2 Multicast Snooping RFC1213 |
1.8 | New APIs introduced. Added additional System APIs Stacking Configuration and Status DNS Hostname Resolution Logging APIs Password Decryption and Encryption DHCP Client Information System MAC Address API Code Image Management POE Application control APIs Cloud Managed Search the next valid ID of SSH session Closes the session by ID Get the DHCP Options returned by the DHCP Server |
1.9 | New APIs introduced. Service Client registration __APIs deprecated.__ Internal Client registration and teardown |
1.10 | New APIs introduced. Synchronization Database Additional Stacking Configuration and Status File Transfer |
1.11 | New APIs introduced. Get next userAppConfigDb entry |
1.12 | New APIs introduced. Switchport Configuration Protocol-Based VLAN Configuration Enhanced OpEN API Client Registration IP Route Table Enhanced OpEN API ACL External Agent Modified APIs (see API headers for functions introduced at 1.12) openapi_acl.h openapi_common.h |
1.13 | New APIs introduced. Report TCAM Utilization |
1.14 | New APIs introduced. COSQ configuation and status DOT1x support RADIUS support Time functions (TZ, clock) Voice VLAN COSQ Statistics Data Center Bridging (DCBX) Dynamic ARP Inspection Enhanced Transmission Selection (ETS) Priority-based Flow Control (PFC) IP Routing Statistics ARP Table Routing Statistics General Routing Statistics SDM Templates Sflow Modified APIs (see API headers for functions introduced at 1.14) openapi_acl.h openapi_boxs.h openapi_cable_status.h openapi_config.h openapi_image.h openapi_instru_bst.h openapi_instru_nos.h openapi_instru_packet_trace.h (deprecations only) openapi_lldp.h openapi_logging.h openapi_poe.h openapi_tcam.h openapi_vlan.h |
1.15 | New APIs introduced. Sflow ACL Sampling VRF Address and Status for BGP In Service Software Upgrades (ISSU) Fiber Ports, Fan and Power Supply Status and Temperature Expandable and Disable Reason Codes for Interfaces Additional BST Instrumentation Support Several new Routing APIs |
1.17 | New APIs introduced. Modified APIs (see API headers for functions introduced at 1.17) openapi_dot1s.h openapi_dynamic_arp_inspection.h openapi_if.h openapi_routing.h openapi_stats.h openapi_system.h |
1.18 | New APIs introduced. CPU utilization Port MAC Locking Private VLANs APIs in support of Ping APIs in support of TraceRoute Modified APIs (see API headers for functions introduced and deprecated at 1.18) openapi_dhcp_server.h openapi_dot1s.h openapi_dynamic_arp_inspection.h openapi_if.h |
1.19 | New APIs introduced. Copy Configurations Common image name size API Debian Rootfs Management APIs File transfer API in a stackPort and System LED APIs Hardware version API Cloud configuration APIs DNS mode APIs APIs in support of STP APIs in support of DOT1X API to get interface operational status API to get boot code information APIs in support of LAG APIs in support of PoE API to get the switch software version APIs in support of SNMP APIs in support of Auto-Video APIs to get SNTP statistics API to get ARP information APIs in support of Time Ranges APIs in support of Private VLAN APIs in support of Auto-VoIP openapi_image.h openapi_common.h openapi_stacking.h openapi_boxs.h openapi_cloud_managed.h openapi_dns.h openapi_dot1s.h openapi_dot1x.h openapi_if.h openapi_image.h openapi_lag.h openapi_poe.h openapi_registry.h openapi_snmp.h openapi_snooping.h openapi_sntp.h openapi_system.h openapi_timeranges.h openapi_vlan.h openapi_voip.h IP Device Tracking APIs openapi_ipv4_device_tracking.h Modified APIs (see API headers for functions introduced and deprecated at 1.19) openapi_poe.h openapi_tcam.h openapi_instru_nos.h |
1.20 | New APIs introduced. IEEE DOT1CB Standard MAC Static Filter APIs in support of DOT1CB Modified APIs (see API headers for functions introduced at 1.20) openapi_ssh.h |