25#if !defined (__SAIARSPROFILE_H_)
26#define __SAIARSPROFILE_H_
353 _Out_ sai_object_id_t *ars_profile_id,
354 _In_ sai_object_id_t switch_id,
355 _In_ uint32_t attr_count,
366 _In_ sai_object_id_t ars_profile_id);
377 _In_ sai_object_id_t ars_profile_id,
390 _In_ sai_object_id_t ars_profile_id,
391 _In_ uint32_t attr_count,
_sai_ars_profile_algo_t
Adaptive Routing and Switching quality measure algorithm.
sai_status_t(* sai_set_ars_profile_attribute_fn)(_In_ sai_object_id_t ars_profile_id, _In_ const sai_attribute_t *attr)
Set attributes for ARS profile.
sai_status_t(* sai_get_ars_profile_attribute_fn)(_In_ sai_object_id_t ars_profile_id, _In_ uint32_t attr_count, _Inout_ sai_attribute_t *attr_list)
Get attributes of ARS profile.
_sai_ars_profile_attr_t
Enum defining attributes for ARS profile.
struct _sai_ars_profile_api_t sai_ars_profile_api_t
ARS Profile methods table retrieved with sai_api_query()
sai_status_t(* sai_remove_ars_profile_fn)(_In_ sai_object_id_t ars_profile_id)
Remove ARS Profile.
enum _sai_ars_profile_algo_t sai_ars_profile_algo_t
Adaptive Routing and Switching quality measure algorithm.
enum _sai_ars_profile_attr_t sai_ars_profile_attr_t
Enum defining attributes for ARS profile.
sai_status_t(* sai_create_ars_profile_fn)(_Out_ sai_object_id_t *ars_profile_id, _In_ sai_object_id_t switch_id, _In_ uint32_t attr_count, _In_ const sai_attribute_t *attr_list)
Create ARS Profile.
@ SAI_ARS_PROFILE_ALGO_EWMA
@ SAI_ARS_PROFILE_ATTR_QUANT_BAND_3_MIN_THRESHOLD
Minimum threshold used for quantization process in Mbps for band 3.
@ SAI_ARS_PROFILE_ATTR_QUANT_BAND_6_MAX_THRESHOLD
Maximum threshold used for quantization process in Mbps for band 6.
@ SAI_ARS_PROFILE_ATTR_QUANT_BAND_5_MAX_THRESHOLD
Maximum threshold used for quantization process in Mbps for band 5.
@ SAI_ARS_PROFILE_ATTR_QUANT_BAND_7_MIN_THRESHOLD
Minimum threshold used for quantization process in Mbps for band 7.
@ SAI_ARS_PROFILE_ATTR_PORT_LOAD_PAST_WEIGHT
Weight attribute is used in EWMA calculations. Large weight lowers the significance of instantaneous ...
@ SAI_ARS_PROFILE_ATTR_LAG_ARS_MAX_GROUPS
Maximum number of LAG ARS groups.
@ SAI_ARS_PROFILE_ATTR_QUANT_BANDS
Number of quantization bands support for quality map.
@ SAI_ARS_PROFILE_ATTR_PORT_LOAD_FUTURE_WEIGHT
Weight attribute is used in EWMA calculations. Large weight lowers the significance of instantaneous ...
@ SAI_ARS_PROFILE_ATTR_START
Start of attributes.
@ SAI_ARS_PROFILE_ATTR_QUANT_BAND_0_MIN_THRESHOLD
Minimum threshold used for quantization process in Mbps for band 0.
@ SAI_ARS_PROFILE_ATTR_QUANT_BAND_1_MAX_THRESHOLD
Maximum threshold used for quantization process in Mbps for band 1.
@ SAI_ARS_PROFILE_ATTR_QUANT_BAND_3_MAX_THRESHOLD
Maximum threshold used for quantization process in Mbps for band 3.
@ SAI_ARS_PROFILE_ATTR_ECMP_ARS_MAX_MEMBERS_PER_GROUP
Maximum number of members per ECMP ARS group.
@ SAI_ARS_PROFILE_ATTR_ALGO
ARS algorithm used for quality computation.
@ SAI_ARS_PROFILE_ATTR_PORT_LOAD_CURRENT
Set port loading value to current sampled value when sampled value is less than the average.
@ SAI_ARS_PROFILE_ATTR_ARS_RANDOM_SEED
Random seed for adaptive routing and switching.
@ SAI_ARS_PROFILE_ATTR_END
End of attributes.
@ SAI_ARS_PROFILE_ATTR_QUANT_BAND_5_MIN_THRESHOLD
Minimum threshold used for quantization process in Mbps for band 5.
@ SAI_ARS_PROFILE_ATTR_QUANT_BAND_2_MIN_THRESHOLD
Minimum threshold used for quantization process in Mbps for band 2.
@ SAI_ARS_PROFILE_ATTR_LAG_ARS_MAX_MEMBERS_PER_GROUP
Maximum number of members per LAG ARS group.
@ SAI_ARS_PROFILE_ATTR_QUANT_BAND_4_MIN_THRESHOLD
Minimum threshold used for quantization process in Mbps for band 4.
@ SAI_ARS_PROFILE_ATTR_QUANT_BAND_7_MAX_THRESHOLD
Maximum threshold used for quantization process in Mbps for band 7.
@ SAI_ARS_PROFILE_ATTR_QUANT_BAND_0_MAX_THRESHOLD
Maximum threshold used for quantization process in Mbps for band 0.
@ SAI_ARS_PROFILE_ATTR_ECMP_ARS_MAX_GROUPS
Maximum number of ECMP ARS groups.
@ SAI_ARS_PROFILE_ATTR_PORT_LOAD_PAST
Enable past port load as the quality parameter. This is the average egress bytes measured on a port.
@ SAI_ARS_PROFILE_ATTR_QUANT_BAND_4_MAX_THRESHOLD
Maximum threshold used for quantization process in Mbps for band 4.
@ SAI_ARS_PROFILE_ATTR_CUSTOM_RANGE_START
@ SAI_ARS_PROFILE_ATTR_CUSTOM_RANGE_END
@ SAI_ARS_PROFILE_ATTR_QUANT_BAND_2_MAX_THRESHOLD
Maximum threshold used for quantization process in Mbps for band 2.
@ SAI_ARS_PROFILE_ATTR_QUANT_BAND_6_MIN_THRESHOLD
Minimum threshold used for quantization process in Mbps for band 6.
@ SAI_ARS_PROFILE_ATTR_QUANT_BAND_1_MIN_THRESHOLD
Minimum threshold used for quantization process in Mbps for band 1.
@ SAI_ARS_PROFILE_ATTR_PORT_LOAD_EXPONENT
EWMA exponent used in port loading computation. Larger the exponent, larger is the weight to previous...
@ SAI_ARS_PROFILE_ATTR_PORT_LOAD_FUTURE
Enable future port load as the quality parameter. This is the average queued bytes measured on a port...
@ SAI_ARS_PROFILE_ATTR_SAMPLING_INTERVAL
Sampling interval in microseconds of data for quality measure computation.
This module defines SAI portable types.
ARS Profile methods table retrieved with sai_api_query()