Skip to content

Releases: aristanetworks/EosSdk

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.

EOS SDK v2.22.1.3 (EOS 4.28.0F)

09 Aug 08:26
Compare
Choose a tag to compare

Resources

Bug fixes and Improvements

  • XCVR Module
    New setter/getter for interface transmit power:
       - void tx_output_power_is(intf_id_t intf_id, float power)
       - float tx_output_power(intf_id_t intf_id)
    This change is not binary compatible: if you use any of rx_fine_frequency, rx_frequency, tx_frequency, tx_disabled you will need to recompile.
  • EAPI Module
    New api to run eapi show commands with output formatted as text instead of json
       - eapi_response_t run_show_cmd_text(std::string const &)
    This change is not binary compatible: if you use run_config_cmds you will need to recompile.

Note

v2.22.1.3 should really have been v2.22.4, but unfortunately we shipped duplicated 2.22.1 (in 4.27.0 and 4.27.1 and 4.27.2 and 4.28.0), 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.0 and use the xcvr module or eapi module's run_config_cmds api, you need to recompile your apps with the header files of v.2.22.1.3 (also if you want to use the new apis of course).

EOS SDK v2.22.1.2 (EOS 4.27.2)

09 Aug 04:52
Compare
Choose a tag to compare

Resources

Bug fixes and Improvements

  • FPGA Module
    Fpga changes are not binary compatible (metamako fpga/ham modules still kind of protos!)
    • new: fpga_t fpga(const std::string&)
    • new: eossdk_ham_t ham(const fpga_t&, size_t)
  • ACL Module
    • type acl_rule_ip_t new attribute ip_type of type acl_ip_type_t (any/ip/mpls)

Notes

v2.22.1.2 should really have been v2.22.3, but unfortunately we shipped duplicated 2.22.1 (in 4.27.0 and 4.27.1 and 4.27.2), so on a switch you might see 2.22.1, but it could also be 2.22.1.1 or 2.22.1.2 (the 2.22.1.2 tag only exists in github).
They are all binary compatible, unless you use the "fpga" module, in which case you have to re-compile the app against the stubs header files from the correct EOS release. Of course, if you need to create an acl rule with a non-default ip type (mpls), you would need to build against the correct (2.22.1.2) header files.

EOS SDK v2.22.1.1 (EOS 4.27.1)

09 Aug 01:12
Compare
Choose a tag to compare

Resources

Bug fixes and Improvements

  • HAM Module
    !!! Changes are not source compatible !!! (ham is still in a prototype module!)
    • ham_is and exists removed
    • read* now take an extra eossdk_ham_t as first param and no longer get passed an &result, and returns a read_result_t instead of a response_enum_t
    • write* similar changes to read*, plus write/writeBlock take a std::string instead of data + length

Notes

v2.22.1.1 should really have been v2.22.2, but unfortunately we shipped duplicated 2.22.1 (in 4.27.0 and 4.27.1), so on a switch you might see 2.22.1, but it could also be 2.22.1.1 (the 2.22.1.1 tag only exists in github). Both are actually binary compatible, unless you use the "ham" module, in which case you have to compile against the stubs header files from the correct release (and compile a different application for usage on EOS 4.27.0 than on 4.27.1)

EOS SDK v2.22.1 (EOS 4.27.0)

06 Aug 23:29
Compare
Choose a tag to compare

Resources

Features

Bug fixes and Improvements

  • Nexthop Group Module
    • type nexthop_group_entry_t has new attributes and ctor
      • hierarchical_fecs_enabled[_is]
      • child_nexthop_group[_is]
      • can be constructed by child-nexthop-group name
  • MAC Table Module
    • enum mac_entry_type_t has new field MAC_ENTRY_VPLS_DYNAMIC_REMOTE
  • XCVR Module
    • frequency_is swapped the argument order for tx and rx params(!)
  • HAM Module
    • new apis: read, readBlock, write, writeBlock
  • FPGA Module
    Source code incompatible changes.
    apis for configuring watches, callback names and parameters have changed
    old names: watch_[all_]fpga, on_fpga_[un]load_image[_failed]
    new names: watch_[all_]fpga_reservation_status, on_fpga_reservation_status_[set|del]
    new api to make reservations reservation[_(set|del|status|exists|iter)]
    fpga_t ctor takes an extra name parameter

EOS SDK v2.22.0 (EOS 4.26.2)

09 Aug 01:56
Compare
Choose a tag to compare

Resources

Features

  • SDK
    • Header files of EosSdk types no longer have private data members but for a new std::shared_ptr<foo_impl_t> pimpl to an implementation class.
      This is to reduce the potential for binary incompatibilities introduced by new apis/ enhancements to apis.
      This change makes it mandatory to rebuild any application moving to 2.22.0 (no api stays binary compatible).
  • XCVR Module
    • New xcvr manager get_xcvr_mgr that deals with interface transceivers
  • Dockerfile added.
    This Dockerfile can be used to build a docker image; docker containers of this image can be used to build EosSdk applications (it will contain the cross-compiler). See comments in the file itself for details.

Bug fixes and Improvements

  • FIB Module
    • new api: set_fecGeninit_task(int)

EOS SDK v2.20.0 (EOS 4.26.1)

04 Aug 06:26
Compare
Choose a tag to compare

Resources

Features

  • HAM Module: Hardware Access Module
    • New ham manager get_ham_mgr for metameko layer1 hardware products

Bug fixes and Improvements

  • Policy Map Module
    • queries
      • getter for hardware status of policies hw_status
      • iterator over hardware status of policies, by feature policy_map_hw_status_iter
    • types
      • new type policy_map_hw_status_key_t
      • new type policy_map_hw_statuses_t
      • new enum policy_map_status_t
  • MacSec Module
    • types
      • extended macsec_profile_t with mka_life_time attribute (int)
  • Nexthop Group Module
    • types
      • extended nexthop_group_entry_counter_t with valid attribute (bool)

EOS SDK v2.19.0 (EOS 4.26.0)

03 Aug 08:09
Compare
Choose a tag to compare

Resources

Features

  • FPGA Module
    • New fpga manager get_fpga_mgr to load fpga images on metamako hardware

Bug fixes and Improvements

  • SDK Module
    • New api to enable tracing of params in api calls param_trace_enable_is
    • Internal changes added "mix_me" member functions into all types to make sure we are not mixing uninitialized padding into hash calculations
  • BFD Module: echo sessions
    • config support for echo-sessions
      • create/delete/query/iterate echo-sessions sbfd_echo_session_(set|del|exists|status|iter)
      • default echo interval get/set sbfd_echo_default_interval*
      • echo-session interval get/set/reset-to-default sbfd_echo_interval*
      • echo-session rtt enable get/set sbfd_echo_rtt_enabled*
      • enable notifications for all or specific echo-sessions watch_[all_]sbfd_echo_sessions
    • notifications
      • echo-session creation/status-change/rtt/deletion on_sbfd_echo_session_(set|del|status|rtt)
    • types
      • bfd_session_key_t now optionaly can have src_ip_addr and/or tunnel_id
      • new struct: sbfd_echo_session_key_t
      • new struct: sbfd_interval_t
      • new struct: sbfd_echo_session_rtt_stats_t (last/min/avg/max rtt, min/avg/max rtt since last report)
  • MacSec Module
    • types
      • macsec_profile_t
        • new attribute: lldp_bypass_level get/set (level is an enum)
          • obsoletes: bypass_lldp
        • new enum macsec_bypass_t (null/authorized/unauthorized)
  • Route Map Module
    • config
      • route_map_set now takes a name
      • route_map_entry_set now takes a sequence number
    • types
      • link_bandwidth_t ctor has an extra arg: bandwidth_unit_t
      • enum names of bandwidth_unit_t changed (now fully qualified: BIT -> LINK_BANDWIDTH_UNIT_BIT)
  • L1 Source Module
    • interface app name can be set/removed app_description_*

EOS SDK v2.18.0

29 Mar 22:01
Compare
Choose a tag to compare

Resources

Features

Bug fixes and Improvements

EOS SDK v2.17.0

09 Feb 23:56
Compare
Choose a tag to compare

Resources

Features

Bug fixes and Improvements

  • ACL Module
    • Documentation updated for priority_value() and priority_value_is().
  • Macsec Module
    • New macsec_profile_traffic_policy_t enum added with values as shown below.
      • MACSEC_TRAFFIC_PROTECTED
      • MACSEC_TRAFFIC_UNPROTECTED
      • MACSEC_TRAFFIC_BLOCKED
    • New getter and setter APIs to get and set traffic policy type respectively.
      • traffic_policy_is() and traffic_policy().
    • The following APIs have been marked as deprecated in favor of the aforementioned APIs.
      • allow_unprotected_is() and allow_unprotected().
  • Version Module
    New preprocessor MACROS added.
    • EOSSDK_VERSION, version string of the form X.Y.Z
    • EOSSDK_MAJOR, major version number X, if version number is X.Y.Z
    • EOSSDK_MINOR, minor version number Y, if version number is X.Y.Z
    • EOSSDK_PATCH, patch version number Z, if version number is X.Y.Z