CLI extension allows for custom CLIs commands/modes to be defined in EOS. It also integrates with EOS SDK to be able to control a daemon’s configuration and read a daemon’s status from the CLI command handlers. This feature is intended to have more customization compared to the “daemon cli” feature, which only allows for key/value pairs as cli commands, and doesn’t allow for custom CLI commands. It does this by using a statically defined YAML file that contains the daemon definition (EOS SDK or not), CLI mode, and CLI commands, very much akin to what is provided by the via configuration in the daemon cli mode.

This document describes the EOS SDK next hop group version number feature. The feature exposes a version number for each next hop group to clients interacting with EOS SDK. The version number is incremented when the next hop group is modified. The client can choose to receive the current version number when they modify a next hop group. Additionally, they can optionally receive it when the next hop group is programmed in hardware. 

EOS SDK and its RPC counterpart traditionally offer two separate calls for configuring static routes. These calls are ip_route_set/ip_route_via_set and mpls_route_set/mpls_route_via_set. When calling the SDK API directly the calling latency is negligible, since it is a simple function call. However, the time of each of those calls can become a considerable factor with the adoption of RPC. To reduce the overall latency associated with creating and updating numerous routes, EOS SDK RPC now supports bulk calls.

EosSdkRpc is an agent built on top of the Arista EOS SDK. It uses gRPC as a mechanism to provide remote access to the EOS SDK. The gRPC interface that EosSdkRpc supports closely matches the interface provided by EOS SDK, and the intent is that the .proto interface can be publicly supported. EosSdkRpc allows for remote access and using protobuf to specify the interface isolates user code from the Linux ABI issues that come with building C++ applications on different compiler, libc, and kernel versions.

This feature adds support for redistributing EOS SDK routes into IS-IS in the multi-agent routing protocol model. This feature existed in the single agent model by the configuration of redistribute static since EosSdk routes are treated as static routes in the single agent model.