Skip to content

Commit

Permalink
ARS Enhancements (opencomputeproject#1978)
Browse files Browse the repository at this point in the history
New global attributes added to

Enable/DIsable IPv4 traffic
Enable/Disable IPv6 traffic
SAI_ACL_ENTRY_ATTR_ACTION_DISABLE_ARS_FORWARDING attribute modified as a data type bool.
Default value is ARS forwarding is enabled. Setting bool to true means that ARS forwarding is disabled.

ACL ARS forwarding Enable and NHG with ARS binding: ARS forwarding takes effect
ACL ARS forwarding Enable and NHG without ARS binding: ACL entry is a noop and NHG forwarding takes effect.
ACL ARS forwarding Disable and NHG with ARS binding: NHG forwarding takes effect
ACL ARS forwarding Disable and NHG without ARS binding: ACL entry is a noop and NHG forwarding takes effect.
  • Loading branch information
JaiOCP authored Mar 9, 2024
1 parent bc1d6ec commit f006ff1
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 3 deletions.
5 changes: 2 additions & 3 deletions inc/saiacl.h
Original file line number Diff line number Diff line change
Expand Up @@ -3185,11 +3185,10 @@ typedef enum _sai_acl_entry_attr_t
SAI_ACL_ENTRY_ATTR_ACTION_SET_ARS_OBJECT = SAI_ACL_ENTRY_ATTR_ACTION_START + 0x36,

/**
* @brief Disable ARS forwarding for a destination that can be a LAG or nexthopgroup
* @brief Disable ARS forwarding for a given match condition. This rule takes effect only when global ARS profile object is created and has binding to the switch
*
* @type sai_acl_action_data_t sai_object_id_t
* @type sai_acl_action_data_t bool
* @flags CREATE_AND_SET
* @objects SAI_OBJECT_TYPE_LAG, SAI_OBJECT_TYPE_NEXT_HOP_GROUP
* @default disabled
*/
SAI_ACL_ENTRY_ATTR_ACTION_DISABLE_ARS_FORWARDING = SAI_ACL_ENTRY_ATTR_ACTION_START + 0x37,
Expand Down
18 changes: 18 additions & 0 deletions inc/saiarsprofile.h
Original file line number Diff line number Diff line change
Expand Up @@ -326,6 +326,24 @@ typedef enum _sai_ars_profile_attr_t
*/
SAI_ARS_PROFILE_ATTR_QUANT_BAND_7_MAX_THRESHOLD,

/**
* @brief Enable IPv4 traffic (ether type) for ARS processing.
*
* @type bool
* @flags CREATE_AND_SET
* @default false
*/
SAI_ARS_PROFILE_ATTR_ENABLE_IPV4,

/**
* @brief Enable IPv6 traffic (ether type) for ARS processing.
*
* @type bool
* @flags CREATE_AND_SET
* @default false
*/
SAI_ARS_PROFILE_ATTR_ENABLE_IPV6,

/**
* @brief End of attributes
*/
Expand Down

0 comments on commit f006ff1

Please sign in to comment.