This document describes the on_nexthop_group_programmed event within the context of both the EOS SDK and the EOS SDK RPC agent. This event is triggered when there is an update to the state of a watched nexthop group.   These state updates include both the hardware programming of the group itself, as well as the hardware status of any counters associated with the group.

This feature introduces a new configurable attribute, weight, for vias through EosSdk and EosSdkRpc. The attribute is supported in both forward and nexthop_group type vias. A value of 0 indicates a via does not have a weight value and this is the default value for the attribute. Despite the attribute being type uint32, the maximum value it can support is 2^24 - 1 

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. EosSdkRpc is built using C++ but supports clients written in any of the languages currently supported by the gRPC framework.

This feature provides a continuous, live, stream of ingress counters for Policy-Based Routing (PBR) rules in terms of bytes and packets. It is implemented as a special call in EosSdkRpc and follows this definition: