aristanetworks / EosSdk

EOS SDK - write native apps for your Arista switch
https://github.com/aristanetworks/EosSdk/wiki
BSD 3-Clause "New" or "Revised" License
156 stars 40 forks source link

Arista's EOS SDK

EOS SDK logo

The EOS Software Development Kit (EOS SDK) lets you program native, high-performance apps that run on your Arista switch. These apps, or "agents," harness the full power of EOS, including event-driven, asynchronous behavior, high availability, and complete access to both Linux and EOS's APIs.

This package provides a self-contained implementation of stubs for the EOS SDK. The stubs mock how the real EOS SDK behaves on a real switch, to a certain extent. They are useful to build and test software in your favorite Linux environment, with your preferred build tools.

Documentation

Documentation is hosted on this project's wiki. It includes a quickstart guide, build and install instructions, along with an EOS overview and high-level SDK usage information.

Detailed, per-release API Documentation is also available via the release page.

Releases

Releases are available via the GitHub release page. From that page you can download specific tarballs for a given release so you can build your agent. The corresponding EosSdk RPMs (that provide the functionality for interacting with Arista devices) for a given EOS SDK release is available via the Arista download page on a per-EOS-release basis.

Exploring the code

The directory structure is as follows: eos/ contains the headers that define the APIs you'll be using. In this directory, each .h file is a module that provides access to a specific subset of EOS's functionality. Most modules also have a companion file in eos/types/<module_name>.h. This file defines the various value types used by the module.

For a variety of C++ and Python examples, see the examples/ directory. The stub .cpp files at the top level directory can be ignored or extended to provide mock functionality, as you'd like.