Skip to content
rmadsen edited this page Sep 9, 2014 · 15 revisions

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.

Programs that use the SDK are extremely powerful and flexible; you can use the functionality the SDK exposes to produce a diverse set of applications. An agent, for example, can extend the data plane by implementing custom routing or tunneling protocols. A different agent could provide fault tolerance and advanced network monitoring by dynamically responding to events occurring in your network. The SDK also empowers you to do much, much more, whether it is implementing a custom traffic engineering solution to reactively prioritize traffic using quality of service controls, protect against DDOS attacks through selective flow-based filtering, or even connect to another server for persistent, centralized management.

All of these options are possible because EOS SDK uses the same fundamental building blocks as built-in Arista agents, meaning your custom code inherits all of EOS's reliability and flexibility features for free. Thanks to EOS's modular architecture and unfettered access to the Linux kernel, SDK agents integrate seamlessly with custom CLIs, configure replace, stateful supervisor failover, compatibility across all Arista platforms, system logging, resource management, and more.

Agents are written using C++ or Python, and have access to a swath of stable APIs.