Releases: aristanetworks/EosSdk
EOS SDK v2.23.1 (EOS 4.32.2F)
Resources
- Online API Documentation
Bug fixes and Improvements
-
eth_lag_intf_t
:min_speed
getter/setter: returns the minimum speed in Mbps required before this LAG interface is consideredOPER_STATUS_UP
. If the LAG interface does not exist, 0 will be returned.
uint64_t min_speed(intf_id_t eth_lag_intf_id)
min_speed_is(intf_id_t eth_lag_intf_id, uint64_t min_speed)
-
mpls_route_t
:version_id
(the MPLS route version) getter/setter
uint32_t version_id()
version_id_is(uint32_t version_id)
-
nexthop_group_programmed_status_t
:hw_state
getter: the status of the hardware programmed entries for this nexthop group. Programmed HW State is a summary of the entire nexthop group and will not note which specific entry is in the provided state.
nexthop_group_programmed_hw_state_t hw_state()
NEXTHOP_GROUP_HW_DROP
: All nexthop group entries are not programmed in hardware.
NEXTHOP_GROUP_HW_PARTIALLY_PROGRAMMED
: At least one nexthop group entry is programmed in hardware.
NEXTHOP_GROUP_HW_ALL_PROGRAMMED
: All nexthop group entries are programmed in hardware.
The hw state enum values will be printed as numbers is debug logs (string is too long).
-
Support for move constructors: you can now pass rvalues (std::move) to apis, thus skipping the extra copy that would otherwise happen.
-
Dockerfile: reworked to pull the cross-compiler from github (was already part of 2.23.0, but overwritten in a re-publish, unfortunately).
-
build.sh: small fix for 32 bit build, change shell so things work in a docker container.
EOS SDK v2.23.0 (EOS 4.32.1F)
Resources
- Online API Documentation
Features
-
nexthop_group_t
: add support for backup nexthops- set:
backup_nexthops_is(std::map<uint16_t, nexthop_group_entry_t> const & backup_nexthops)
void backup_nexthop_set(uint16_t key, nexthop_group_entry_t const & value)
void backup_nexthop_del(uint16_t key)
- get:
std::map<uint16_t, nexthop_group_entry_t> const & backup_nexthops()
uint16_t backup_size()
- set:
-
- new structs (currently unused):
traffic_policy_counter_data_t (pktHits, byteHits, pktDrops, byteDrops -- all uint64_t)
traffic_policy_counter_t(key, named_counter_data, class_counter_data)
- named_counter_data:std::map<std::string, traffic_policy_counter_data_t>
- class_counter_data:std::map<std::string, traffic_policy_counter_data_t>
- new structs (currently unused):
EOS SDK v2.22.5.2 (EOS 4.32.0F)
This release requires the usage of a new cross-compiler, since we moved away from 4.0 binary compatibility mode. But this also means an off-the-shelf compiler might just work (if it supports -std=gnu++20).
That is, in spite of the EosSdk API not having changed, a rebuild of the application is required.
For the new cross-compiler, see: https://github.com/aristanetworks/EosSdk-cross-compiler/releases/tag/v4.32.0
Bug fixes and Improvements
-
ip_route Module
- added comments
-
Updated example:
FibTestAgent.py
-
Updated
build.sh
script to work on newer OSes (builds the stubbedlibeos.so
andHelloWorld
out ofEosSdk-stubs-2.22.5.tar.gz
) -
As of 6th June 2024: Makefile.am now includes -DTRAFFIC_POLICY_ENABLED
This resolves an ABI compatibility problem with the eos::policy_map_handler vtable between the user built stubbed libeos.so and the libeos.so shipped with EOS.
Resources
- Online API Documentation
EOS SDK v2.22.5.1 (EOS 4.31.2F)
Resources
- Online API Documentation
Features
-
-
New interface counter manager option, to allow clamping down on keyshadow mounts when not necessary.
intf_counter_mgr * get_intf_counter_mgr_with_mode(mgr_mode_type_t mode)
Mode is read-only/read-notifying/write; default is read-only (same as get_intf_counter_mgr(); once mode is set cannot be changed).
-
Contructors and copy assignment are no longer inlined -> new files xxx_gen.cpp. This was needed because the internal implementation now uses more efficient data structures and a special "ArSlab" allocator. This also means thatnthe memory allocations are tracked and visible via the "show memory allocation" Cli command.
-
-
- types/policy_map.h
-
traffic_policy_action_t
- getter & setter for counter_name
std::string counter_name()
void counter_name_is(std::string const & counter_name)
- getter & setter for counter_name
-
traffic_policy_t
- getter & setter for named_counters:
std::unordered_set<std::string> const & named_counters()
void named_counters_is(std::unordered_set<std::string> const & named_counters)
- insert/delete counters from list:
void named_counter_set(std::string const & value)
void named_counter_del(std::string const & value)
- getter & setter for named_counters:
-
- types/policy_map.h
-
types/ip_route.h
ip_route_key_t
- setter for address family of the route_key_t prefix:
af_t af()
- setter for address family of the route_key_t prefix:
ip_route_t
- setter for the address family of the route_key_t prefix:
af_t af()
- setter for the address family of the route_key_t prefix:
Bug fixes
- As of 6th June 2024: Makefile.am now includes -DTRAFFIC_POLICY_ENABLED
This resolves an ABI compatibility problem with the eos::policy_map_handler vtable between the user built stubbed libeos.so and the libeos.so shipped with EOS.
EOS SDK v2.22.5 (EOS 4.31.1F)
Resources
- Online API Documentation
Bug fixes and Improvements
- nexthop_group Module
nexthop_group_entry_t
, new API to set/get optional key to an sBFD session:
void sbfd_session_key_is(sbfd_echo_session_key_t const & sbfd_session_key)
sbfd_echo_session_key_t sbfd_session_key() const
EOS SDK v2.22.4 (EOS 4.30.1F)
Resources
- Online API Documentation
Features
-
- removed managers
- fpga
- ham
- l1_source
- some examples converted to py3 code
- removed managers
-
- new policy type: traffic_policy
- new type: traffic_policy_t
This is currently disabled (types exists, but apis are not compiled in).
-
structured_filter
This is part of traffic-policy feature (not active yet)
Bug fixes and Improvements
- nexthop_group
- new callback:
on_nexthop_group_programmed( std::string& nexthop_group_name, uint16_t version_id, nexthop_group_programmed_status_t & status);
includes the counter programming status: programming-complete/failed/inactive
- new callback:
EOS SDK v2.22.3 (EOS 4.29.2F)
Resources
- Online API Documentation
- Stubs also available via Arista Software Download Page
Features
- nexthop_group
nexthop_group_t
: getter/setter forversion_id
EOS SDK v2.22.2 (EOS 4.29.1F)
Resources
- Online API Documentation
- Stubs also available via Arista Software Download Page
Bug fixes and Improvements
-
- New API to iterate routes per vrf
ip_route_iter_t ip_route_iter( std::string vrf ) const
;
- Struct
ip_route_t
new fieldsrib_bypass
(get/set)
- Struct
ip_route_via_t
new fieldsvxlan_intf
(get/set)vtep_sip_validation
(get/set)
- New API to iterate routes per vrf
-
- Enum
acl_tcp_flag_t
new values:ACL_TCP_ECE
,ACL_TCP_CWR
- Enum
-
- Struct
nexthop_group_t
new fields:counters_persistent
(get/set)
- Struct
-
read_result_t
'sresult
is no longer astd::string
but aByteString
instead (to support py3)
EOS SDK v2.22.1.6 (EOS 4.29.0)
Resources
- Online API Documentation
- Stubs also available via Arista Software Download Page
Features
- xcvr
- new API:
int32_t tx_turnup_state( intf_id_t )
- new API:
int32_t rx_turnup_state( intf_id_t )
- new API:
int32_t register_read( intf_id_t, uint16_t addr, std::string location = "" )
- new API:
Bug fixes and Improvements
-
ham Module
write
andwriteBlock
takeByteString
instead ofstd::string
. This is not a source compatible change (ham is still prototype phase!). In python, ByteString means unicode will be converted to utf-8
-
xcvr Module
- API added in 2.22.1.3 (tx_output_power_is) moved to the end: no need to rebuild if upgrading from < 2.22.1.3. If upgrading from >= 2.22.1.3 and you use rx_fine_frequency/rx_frequency/tx_frequency/tx_disabled you need to rebuild.
-
eapi Module
- API added in 2.22.1.3 (run_show_cmd_text) moved to the end: no need to rebuild if upgrading from < 2.22.1.3. If upgrading from >= 2.22.1.3 and you use run_config_cmds you need to rebuild.
EOS SDK v2.22.1.5 (EOS 4.28.2)
Resources
- Online API Documentation
- Stubs also available via Arista Software Download Page
Features
Bug fixes and Improvements
Only changes are a few examples were made python3 capable.
Also, many examples were only published on the "Software Download Page", those have now been added to github as well.