Skip to content

Releases: aristanetworks/EosSdk

EOS SDK v2.23.1 (EOS 4.32.2F)

21 Aug 05:41
Compare
Choose a tag to compare

Resources

Bug fixes and Improvements

  • eth_lag_intf

    • eth_lag_intf_t: min_speed getter/setter: returns the minimum speed in Mbps required before this LAG interface is considered OPER_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

    • mpls_route_t: version_id (the MPLS route version) getter/setter
      uint32_t version_id()
      version_id_is(uint32_t version_id)
  • nexthop_group

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

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.