Releases: aristanetworks/EosSdk
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.
EOS SDK v2.22.1.4 (EOS 4.28.1F)
Resources
- Online API Documentation
- EosSdk RPMs
Bug fixes and Improvements
- policy_map
This change is not binary compatible: if you call any of the policy_mapwatch_*()
apis, you need to rebuild with the new headers.- callback
- newwatch_all_policy_maps(bool interest)
- callback
- nexthop_group
- config
- new
nexthop_group_set(nexthop_group_t const & group, uint16_t * version_id)
to create or update a nexthop group and provide its version ID.
- new
- callback
- newnexthop_group_handler_v2::on_nexthop_group_programmed(std::string const & nexthop_group_name, uint16_t version_id)
- config
Notes
v2.22.1.4 should really have been v2.22.5, but unfortunately we shipped duplicated 2.22.1 (in 4.27.0 and 4.27.1 and 4.27.2 and 4.28.0 and 4.28.1), so on a switch you might see 2.22.1, but it could also be 2.22.1.x (the 2.22.1.x tags only exists in github), so check the EOS version as well.
If you move to EOS 4.28.1 and use the policy_map module's watch_*
apis, you will need to recompile the application. If you upgrade from pre 4.28.0 and use eapi module's run_config_cmds
api or xcvr module's *frequency
apis, you need to recompile your app as well.