| SAI Metadata
    | 
| Classes | |
| struct | _sai_ars_api_t | 
| Adaptive routing and switching methods table retrieved with sai_api_query()  More... | |
| Typedefs | |
| typedef enum _sai_ars_mode_t | sai_ars_mode_t | 
| Adaptive routing and switching path (re)assignment mode. | |
| typedef enum _sai_ars_attr_t | sai_ars_attr_t | 
| Attribute id for adaptive routing and switching. | |
| typedef sai_status_t(* | sai_create_ars_fn) (_Out_ sai_object_id_t *ars_id, _In_ sai_object_id_t switch_id, _In_ uint32_t attr_count, _In_ const sai_attribute_t *attr_list) | 
| Create adaptive routing and switching object. | |
| typedef sai_status_t(* | sai_remove_ars_fn) (_In_ sai_object_id_t ars_id) | 
| Remove adaptive routing and switching object. | |
| typedef sai_status_t(* | sai_set_ars_attribute_fn) (_In_ sai_object_id_t ars_id, _In_ const sai_attribute_t *attr) | 
| Set Adaptive routing and switching attribute. | |
| typedef sai_status_t(* | sai_get_ars_attribute_fn) (_In_ sai_object_id_t ars_id, _In_ uint32_t attr_count, _Inout_ sai_attribute_t *attr_list) | 
| Get Adaptive routing and switching attribute. | |
| typedef struct _sai_ars_api_t | sai_ars_api_t | 
| Adaptive routing and switching methods table retrieved with sai_api_query() | |
| Enumerations | |
| enum | _sai_ars_mode_t { SAI_ARS_MODE_FLOWLET_QUALITY , SAI_ARS_MODE_FLOWLET_RANDOM , SAI_ARS_MODE_PER_PACKET_QUALITY , SAI_ARS_MODE_PER_PACKET_RANDOM , SAI_ARS_MODE_FIXED } | 
| Adaptive routing and switching path (re)assignment mode.  More... | |
| enum | _sai_ars_attr_t { SAI_ARS_ATTR_START , SAI_ARS_ATTR_MODE = SAI_ARS_ATTR_START , SAI_ARS_ATTR_IDLE_TIME , SAI_ARS_ATTR_MAX_FLOWS , SAI_ARS_ATTR_MON_ENABLE , SAI_ARS_ATTR_SAMPLEPACKET_ENABLE , SAI_ARS_ATTR_MAX_ALT_MEMEBERS_PER_GROUP , SAI_ARS_ATTR_MAX_PRIMARY_MEMEBERS_PER_GROUP , SAI_ARS_ATTR_PRIMARY_PATH_QUALITY_THRESHOLD , SAI_ARS_ATTR_ALTERNATE_PATH_COST , SAI_ARS_ATTR_ALTERNATE_PATH_BIAS , SAI_ARS_ATTR_END , SAI_ARS_ATTR_CUSTOM_RANGE_START = 0x10000000 , SAI_ARS_ATTR_CUSTOM_RANGE_END } | 
| Attribute id for adaptive routing and switching.  More... | |
| typedef sai_status_t(* sai_create_ars_fn) (_Out_ sai_object_id_t *ars_id, _In_ sai_object_id_t switch_id, _In_ uint32_t attr_count, _In_ const sai_attribute_t *attr_list) | 
Create adaptive routing and switching object.
| [out] | ars_id | Adaptive routing and switching id | 
| [in] | switch_id | Switch id | 
| [in] | attr_count | Number of attributes | 
| [in] | attr_list | Array of attributes | 
| typedef sai_status_t(* sai_get_ars_attribute_fn) (_In_ sai_object_id_t ars_id, _In_ uint32_t attr_count, _Inout_ sai_attribute_t *attr_list) | 
Get Adaptive routing and switching attribute.
| [in] | ars_id | Adaptive routing and switching id | 
| [in] | attr_count | Number of attributes | 
| [in,out] | attr_list | Array of attributes | 
| typedef sai_status_t(* sai_remove_ars_fn) (_In_ sai_object_id_t ars_id) | 
Remove adaptive routing and switching object.
| [in] | ars_id | Adaptive routing and switching id | 
| typedef sai_status_t(* sai_set_ars_attribute_fn) (_In_ sai_object_id_t ars_id, _In_ const sai_attribute_t *attr) | 
Set Adaptive routing and switching attribute.
| [in] | ars_id | Adaptive routing and switching id | 
| [in] | attr | Attribute | 
| enum _sai_ars_attr_t | 
Attribute id for adaptive routing and switching.
| Enumerator | |
|---|---|
| SAI_ARS_ATTR_START | Start of attributes. | 
| SAI_ARS_ATTR_MODE | ARS path assignment mode. 
 
 
 | 
| SAI_ARS_ATTR_IDLE_TIME | Idle duration in microseconds. This duration is to classifying a flow-let in a macro flow. 
 
 
 | 
| SAI_ARS_ATTR_MAX_FLOWS | Maximum number of flow states that can be maintained per this ARS object. 
 
 
 | 
| SAI_ARS_ATTR_MON_ENABLE | ARS monitoring. 
 
 
 | 
| SAI_ARS_ATTR_SAMPLEPACKET_ENABLE | Enable/Disable ARS Samplepacket session. Enable ARS sampling by assigning samplepacket object id. Disable ARS sampling by assigning SAI_NULL_OBJECT_ID as attribute value. 
 
 
 
 
 | 
| SAI_ARS_ATTR_MAX_ALT_MEMEBERS_PER_GROUP | Maximum number of alternate members per adaptive routing group. 
 
 
 | 
| SAI_ARS_ATTR_MAX_PRIMARY_MEMEBERS_PER_GROUP | Maximum number of primary members per adaptive routing group. 
 
 
 | 
| SAI_ARS_ATTR_PRIMARY_PATH_QUALITY_THRESHOLD | Quality threshold for least cost ARS paths. Crossing down the threshold will result in using the non least cost sub optimal path. 
 
 
 | 
| SAI_ARS_ATTR_ALTERNATE_PATH_COST | Cost of switching over to non least cost ARS paths. 
 
 
 | 
| SAI_ARS_ATTR_ALTERNATE_PATH_BIAS | Indicates the bias in favor of alternate path. 
 
 
 | 
| SAI_ARS_ATTR_END | End of attributes. | 
| SAI_ARS_ATTR_CUSTOM_RANGE_START | Custom range base value | 
| SAI_ARS_ATTR_CUSTOM_RANGE_END | End of custom range base | 
| enum _sai_ars_mode_t | 
Adaptive routing and switching path (re)assignment mode.