Skip to content

Releases: aristanetworks/EosSdk

EOS SDK v2.23.0 (EOS 4.32.1F)

08 Jun 00:33
Compare
Choose a tag to compare

Resources

Features

  • nexthop_group

    • 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()
  • policy_map

    • 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>

EOS SDK v2.22.5.2 (EOS 4.32.0F)

19 Apr 07:01
Compare
Choose a tag to compare

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 stubbed libeos.so and HelloWorld out of EosSdk-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

EOS SDK v2.22.5.1 (EOS 4.31.2F)

17 Feb 07:04
Compare
Choose a tag to compare

Resources

Features

  • sdk

    • 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.

  • policy_map

    • 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)
      • 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)
  • ip_route

    • types/ip_route.h
      • ip_route_key_t
        • setter for address family of the route_key_t prefix:
          • af_t af()
      • ip_route_t
        • setter for the address family of the route_key_t prefix:
          • af_t af()

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)

26 Dec 07:30
Compare
Choose a tag to compare

Resources

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)

31 Jul 22:58
Compare
Choose a tag to compare

Resources

Features

  • sdk

    • removed managers
      • fpga
      • ham
      • l1_source
    • some examples converted to py3 code
  • policy_map

    • 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

EOS SDK v2.22.3 (EOS 4.29.2F)

24 Feb 01:48
Compare
Choose a tag to compare

Resources

Features

EOS SDK v2.22.2 (EOS 4.29.1F)

01 Jan 03:00
Compare
Choose a tag to compare

Resources

Bug fixes and Improvements

  • ip_route

    • New API to iterate routes per vrf
      • ip_route_iter_t ip_route_iter( std::string vrf ) const;
    • Struct ip_route_t new fields
      • rib_bypass (get/set)
    • Struct ip_route_via_t new fields
      • vxlan_intf (get/set)
      • vtep_sip_validation (get/set)
  • acl

    • Enum acl_tcp_flag_t new values: ACL_TCP_ECE, ACL_TCP_CWR
  • nexthop_group

    • Struct nexthop_group_t new fields:
      • counters_persistent (get/set)
  • ham

    • read_result_t's result is no longer a std::string but a ByteString instead (to support py3)

EOS SDK v2.22.1.6 (EOS 4.29.0)

09 Nov 10:25
Compare
Choose a tag to compare

Resources

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 = "" )

Bug fixes and Improvements

  • ham Module

    • write and writeBlock take ByteString instead of std::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)

20 Aug 09:25
Compare
Choose a tag to compare

Resources

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)

10 Aug 09:10
Compare
Choose a tag to compare

Resources

Bug fixes and Improvements

  • policy_map
    This change is not binary compatible: if you call any of the policy_map watch_*() apis, you need to rebuild with the new headers.
    • callback
           - new watch_all_policy_maps(bool interest)
  • 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.
    • callback
            - new nexthop_group_handler_v2::on_nexthop_group_programmed(std::string const & nexthop_group_name, uint16_t version_id)

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.