Skip to content

Latest commit

 

History

History
1155 lines (615 loc) · 38.7 KB

SAI_1.4 Release notes.md

File metadata and controls

1155 lines (615 loc) · 38.7 KB

SAI 1.4 Release Notes

1. Added SAI_OBJECT_TYPE_BRIDGE_PORT support in ACL

Description

Below mentioned are some of the sub-items related to this change

  • Removing condition in bridge port bridge id attribute (#706) (#707)
  • add SAI_SWITCH_ATTR_AVAILABLE_ACL_{TABLE,TABLE_GROUP} (#721)
  • add SAI_SWITCH_ATTR_AVAILABLE_NEXT_HOP_GROUP_ENTRY (#722)

Commit

Link to the commit

PRs related to this commit

756 706 707 717 721 722 731 733 725 745 752

Revert commit

Link to the commit

Revert PR related to this commit

866


2. Uninitialize data plane ON removal of switch object

Description

Below mentioned are some of the sub-items related to this change

  • Controls whether data plane is unitialized upon removal of switc object as leaving traffic running without control is not recommended
  • However, on some scenarios, such as fast boot, it is needed to leave the data plane running
  • Host adapter will call this attribute if needed, and then call remove the switch

Commit

Link to the commit

PRs related to this commit

795


3. Add SAI_PORT_ATTR_EYE_VALUES

Description

  • "sai_port_lane_eye_values" name changed to "SAI_PORT_ATTR_EYE_VALUES"

Commit

Link to the commit

PRs related to this commit

777


4. Add capability metadata for attributes

Description

  • Metadata attributes such as "LoadCapabilities, CheckCapabilities()" added

Commit

Link to the commit

PRs related to this commit

794


5. Add license information to metadata source files

Description

  • Add check for non ascii characters in metadata files

  • Add C files check

Commit

Link to the commit

PRs related to this commit

799


6. Fix inout param declaration in functions

Description

  • To replace parameter "out" with "inout" in the file "inc/saiacl.h"

Commit

Link to the commit

PRs related to this commit

805


7. VRRP support in RIF create call

Description

  • To fix meta checker

  • To update VRRP PR with review comments

Commit

Link to the commit

PRs related to this commit

792


8. Add support for experimental attributes

Description

  • To add support for experimental attributes

  • To Remove example fpga extensions (TBD: In the link it seems FPGA is added)

Commit

Link to the commit

PRs related to this commit

807


9. Fix out parameter prefixes

Description

  • To replace the parameter "out" with "inout" in the "inc/saiobject.h" file

Commit

Link to the commit

PRs related to this commit

809


10. Refactor parser for auto serialize and deserialize

Description

Commit

Link to the commit

PRs related to this commit

804


11. Refactor generated metadata style

Description

  • Multiple parameters incorporated

  • Multiple indentation changes implemented

Commit

Link to the commit

PRs related to this commit

810


12. Add mirror session congestion mode

Description

  • Controls whether mirroring traffic can cause back pressure and packet drop of the original traffic

Commit

Link to the commit

PRs related to this commit

786


13. Add HostIf traps for CISCO MCAST packet types

Description

  • To add CISCO MCast types other than UDLD to SAI header, so we can trap individual types to CPU

  • Common Mcast DMAC trap is added to use a single trap for CISCO Mcast DMAC (01-00-0c-cc-cc-cc)

Commit

Link to the commit

PRs related to this commit

819


14. Add a new DTel attribute

Description

  • To provide fine-grained control while enabling drop reports

  • To selectively enables/disables queue tail drop reporting when drop reporting is enabled

  • If the new attribute is disabled, all other drops are still reported

Commit

Link to the commit

PRs related to this commit

813


15. Make log level easier to be changed for all SAI APIs

Description

  • To make log level easier to be changed for all SAI APIs

  • "SAI_LOG_LEVEL_NOTICE" attribute changed to "log_level"

Commit

Link to the commit

PRs related to this commit

831


16. Create fdb using vlan object id instead of vlan id

Description

  • "vlan_oid" is used instead of "vlan_id" in the file "test/saithrift/tests/saimirror.py"

Commit

Link to the commit

PRs related to this commit

829


17. Update saihostif test

Description

  • Add support for create/remove hostif_table_entry

  • Change policer meter type from bytes to packets

Commit

Link to the commit

PRs related to this commit

830


18. IP in IP tunnel ptf tests

Description

  • Changes made for new SAI header. Local routes are used to simplify the tests

Commit

Link to the commit

PRs related to this commit

833 385 SAITUNNEL


19. Add 3 new L2FDB tests

Description

  • Add tests L2FDBMissUnicastTest, L2FDBMissBroadcastTest, L2FDBFloodRoutingNoVlan in the file "test/saithrift/tests/saifdb.py"

Commit

Link to the commit

PRs related to this commit

838


20. Added P4 Behavioral Model

Description

  • A general switch P4 behavioral model.
  • Implementation of the SAI API over the P4 BM.
  • unit test example for the sai api usage.
  • Thirft sai server implementation and ptf tests. (currently only L2 (1D,1Q) flows are supported)

Commit

Link to the commit

PRs related to this commit

492


21. Add meta data attribute support to SAI extensions

Description

  • Process incorporated for adding SAI extensions and attributes

Commit

Link to the commit

PRs related to this commit

835


22. Add new flush type for clearing both static and dynamic entries

Description

  • "SAI_FDB_FLUSH_ENTRY_TYPE_STATIC_DYNAMIC" flush type added for clearing all FDB entries

  • Need to mention either of the two to remove one of the entries or mention both to remove both the entries

Commit

Link to the commit

PRs related to this commit

845


23. Add port attibute to pause and unpause the egress of a port

Description

  • Add rpc support to parse port attribute of pausing and unpausing a port egress

Commit

Link to the commit

PRs related to this commit

840


24. Add RIF counters

Description

  • Router InterFace error packets and error octets counters added in the file "inc/sairouterinterface.h"

Commit

Link to the commit

PRs related to this commit

836


25. Add p4_compiler submodule

Description

  • Moved p4 backed submoduile to flexsai/p4 and compiler from submodule to SAI repo

Commit

Link to the commit

PRs related to this commit

837


26. Add PTP support

Description

  • PTP support "PTP traps + RX/TX meatadata" added

  • Modified struct definitions

Commit

Link to the commit

PRs related to this commit

841


27. changed aux to P4_aux (reserved name)

Description

  • Changed aux.py to P4_aux.py (reserved name)

Commit

Link to the commit

PRs related to this commit

852


28. Add new IP in IP decap PTF tests

Description

  • Add parameter to "sai_thrift_create_tunnel" and "sai_thrift_create_tunnel_term_table_entry"

Commit

Link to the commit

PRs related to this commit

853


29. Port isolation group enhancement

Description

  • Add SAI_OBJECT_TYPE_ISOLATION_GROUP_MEMBER

  • Correct the SAI_ACL_ENTRY_ATTR_ACTION_END value

Commit

Link to the commit

PRs related to this commit

818


30. Make code compatible with python3

Description

  • Code written in the "flexsai/p4/backend/json_stage/sai.cpp" file to be Python compatible

Commit

Link to the commit

PRs related to this commit

857


31. Add warm boot recover attribute

Description

  • Currently the existing attribute SAI_SWITCH_ATTR_RESTART_WARM serves as a hint that warm restart procedure is restarting. After such boot, on some ASICs, SAI is reinitialized from scratch and SAI_KEY_BOOT_TYPE has the value of the boot type done. On other ASICs, SAI is not reinitialized from scratch, rather the process is resumed. A hint that the process is resumed is needed, and the current new attribute gives that hint.

Commit

Link to the commit

PRs related to this commit

854


32. Add vxlan tunnel as possible condition for underlay interface attribute

Description

  • Added vxlan tunnel to SAI_TUNNEL_ATTR_UNDERLAY_INTERFACE condition

  • RIF in which routing happens after encap needs to be specified when creating VxLAN tunnel

Commit

Link to the commit

PRs related to this commit

870


33. Add watermark stat for headroom pool

Description

  • Changed the title "Add watermark attribute for headroom pool" to "Add watermark stat for headroom pool"

Commit

Link to the commit

PRs related to this commit

871


34. SAI Get Stats function counter_id data-type

Description

  • "Stat_id_t" is the data-type defined to uint32_t

  • API implementation is just made uniform with a single data-type for all objects

Commit

Link to the commit

PRs related to this commit

869


35. Add support SAI attribute

Description

  • Add support "SAI_OBJECT_TYPE_LAG" to "SAI_ACL_ENTRY_ATTR_FIELD_IN/OUT_PORT"

Commit

Link to the commit

PRs related to this commit

864


36. Allow object list on mandatory_on_create for mirror session

Description

  • Case "SAI_ATTR_VALUE_TYPE_OBJECT_LIST" created to allow "SAI_OBJECT_TYPE_MIRROR_SESSION" object

Commit

Link to the commit

PRs related to this commit

875


37. Allow mixed object type on mirror session

Description

Commit

Link to the commit

PRs related to this commit

876


38. Next Hop(NH) Attribute change

Description

  • Modified the condition to accept Tunnel Encap and MPLS Nexthop types.

Commit

Link to the commit

PRs related to this commit

877


39. Add stat enum pointer to object type info metadata

Description

Commit

Link to the commit

PRs related to this commit

881


40. Add stats function param types check

Description

  • "CheckStatsFunction" function added

  • "fnparams" parameter added in the function.

Commit

Link to the commit

PRs related to this commit

882


41. Add struct member offset and size to metadata

Description

  • "offsetof" and "sizeof" parameters added

Commit

Link to the commit

PRs related to this commit

883


42. Add stat enum defined test

Description

  • "statenum_defined" test case added

Commit

Link to the commit

PRs related to this commit

885


43. Add attr bridge id for bridge router interface

Description

  • To add the bridge id attribute for router interface of type SAI_ROUTER_INTERFACE_TYPE_BRIDGE.

  • A bridge router interface can be connected only to one bridge. Adding bridge id attribute in bridge router interface would ensure that a bridge router interface can be connected only one bridge. If this attribute is not present, the bridge router interface can be connected to multiple bridges which is invalid.

  • All the router interfaces type have a key which need to be given during creation. Ex: For VLAN router interface, VLAN object ID is the key. For Port router interface, Port/LAG object ID is the key. However for bridge router interface, currently there is no key. So bridge id is added as a key attribute for bridge router interface. This makes creation of all router interface types consistent.

Commit

Link to the commit

PRs related to this commit

868


44. Change SAI_MIRROR_SESSION_ATTR_VLAN_HEADER_VALID to CREATE_AND_SET

Description

  • Because SAI_MIRROR_SESSION_ATTR_VLAN_ID is no longer set as mandatory on create, user needs to set this VLAN ID specifically when creating an RSPAN session. Otherwise, the default value 0 will be used.

Commit

Link to the commit

PRs related to this commit

879


45. Build saiserver and saiserver-dbg packages

Description

  • Packages: "aiserver" and "saiserver-dbg" added

Commit

Link to the commit

PRs related to this commit

888


46. Clarifications for SAI thrift test setup

Description

  • Add meta data attribute support to SAI extensions

  • Clarify SAI thrift test setup instructions

Commit

Link to the commit

PRs related to this commit

860


47. Add switch notification attributes list to metadata

Description

  • Add define and sanity checks

Commit

Link to the commit

PRs related to this commit

886


48. Add SAI_SWITCH_ATTR_CURRENT_TEMP to get average temperature from sensors

Description

  • To get average temperature from sensors

  • Added new sensor attributes. Change SAI_SWITCH_ATTR_MAX_NUMBER_OF_TEMP_SENSORS to U8

Commit

Link to the commit

PRs related to this commit

880


49. Force stat functions to be consistent across all SAI

Description

  • Force stat functions to be consistent across all SAI

  • Fix object name

Commit

Link to the commit

PRs related to this commit

884


50. Add binary check in meta Makefile

Description

Commit

Link to the commit

PRs related to this commit

891


51. Define SAI_SWITCH_ATTR_PRE_SHUTDOWN for warm shutdown

Description

Commit

Link to the commit

PRs related to this commit

890


52. Add quote for serialized pointer

Description

  • Add unittests and Update unittests

  • Add support for 32 bit pointer and Use macro for platform detect

Commit

Link to the commit

PRs related to this commit

893


53. Add check for params prefixed sai

Description

  • "In sai_api_t sai_api_id" is now referred as "In sai_api_t api"

  • Entire header style is to name parameters after type. So if type is sai_zzz_t parameter is named as zzz

Commit

Link to the commit

PRs related to this commit

894


54. Add proper handle of pointer serialize

Description

  • "In sai_pointer_t" pointer modified into "In const sai_pointer_t"

Commit

Link to the commit

PRs related to this commit

895


55. Add BMToR extension module

Description

  • Extension module is temporarily stored under experimental till the infrastructure for integrating P4 autogenerated headers during build will be available

  • Update for new pipeline

Commit

Link to the commit

PRs related to this commit

873


56. Add SAI_MIRROR_SESSION_ATTR_POLICER to mirror session attributes

Description

  • Enable the ability to attach a policer to the mirror session to throttle the mirrored packets without affecting the original traffic

Commit

Link to the commit

PRs related to this commit

899


57. Add oper speed

Description

  • Current port speed attribute means configured speed

  • Added new read only attribute for operational speed, which is the actual speed the port is working, depending on configuration, peer, cable, and can be zero if port is down

  • Update saiport.h

Commit

Link to the commit

PRs related to this commit

898


58. Add RDMA related matching fileds to ACL

Description

  • Added OpCode field in Base Transport Header (BTH)

  • Added Syndrome field in The ACK Extended Transport Header (AETH)

Commit

Link to the commit

PRs related to this commit

878


59. Remove duplicate bm entry

Description

  • Removed duplicate behavioral model entry

Commit

Link to the commit

PRs related to this commit

902


60. Add ICMP match type/code for IPv6

Description

  • ICMP changes for IPv6 implemented in the file /inc/saiacl.h under the "SAI_ACL_TABLE_ATTR_FIELD_ICMP_CODE" section

Commit

Link to the commit

PRs related to this commit

901


61. Change tunnel route attr to next hop

Description

  • Change "SAI_TABLE_TUNNEL_ROUTE_ENTRY_ATTR_NEXT_HOP_GROUP" to "SAI_TABLE_TUNNEL_ROUTE_ENTRY_ATTR_NEXT_HOP"

Commit

Link to the commit

PRs related to this commit

903


62. Create saibmtor.md

Description

  • Create and update saibmtor.md

  • Add pipeline view

Commit

Link to the commit

PRs related to this commit

904


63. Add PTF test for setting ERSPAN vlan header

Description

  • Add PTF test for setting ERSPAN vlan header

Commit

Link to the commit

PRs related to this commit

905


64. Allow PORT attribute lists to be set to internal

Description

  • PORT non object list attributes is set to internal switch values in the object type "SAI_OBJECT_TYPE_PORT"

  • Allow non object lists on PORT to be set to internal default value in the object type "SAI_DEFAULT_VALUE_TYPE_SWITCH_INTERNAL"

Commit

Link to the commit

PRs related to this commit

908


65. SAI library compilation fixes

Description

  • Add booldata to ACL parameter union

  • Use EXTENSIONS_MAX as sai object type array size

  • Fix rpc_server compilation

Commit

Link to the commit

PRs related to this commit

909


66. Update API[saiexperimentalbmtor]

Description

  • Rename APIs to bitmap_classification_table and bitmap_router.Rename action to_tunnel -> to_nexthop

  • Use in_rif metadata as a bitvector

Commit

Link to the commit

PRs related to this commit

913


67. SAI Port attributes for preemphasis setting

Description

  • Defined SAI Port attributes for setting preemphasis and other serdes driver settings

Commit

Link to the commit

PRs related to this commit

907


68. Relax metadata symbols placement in data section

Description

Commit

Link to the commit

PRs related to this commit

918


69. Fix saithrift compilation with newer thrift [saithrift]

Description

Commit

Link to the commit

PRs related to this commit

923


70. Update saitam.h

Description

  • Added Legacy Device Example

  • IOAM and IFA INT APIs

  • Removed TAM INT API from this PR

Commit

Link to the commit

PRs related to this commit

874


71. Add META_TUNNEL table[bmtor]

Description

  • "sai_table_meta_tunnel_entry_action_t" function defined

Commit

Link to the commit

PRs related to this commit

941 446