SAI Metadata
Loading...
Searching...
No Matches
saiarsprofile.h
Go to the documentation of this file.
1
25#if !defined (__SAIARSPROFILE_H_)
26#define __SAIARSPROFILE_H_
27
28#include <saitypes.h>
29
40{
43
45
50{
55
64
73
82
90
98
106
114
124
135
145
156
166
176
184
193
202
211
220
229
238
247
256
265
274
283
292
301
310
319
328
333
336
339
341
352typedef sai_status_t (*sai_create_ars_profile_fn)(
353 _Out_ sai_object_id_t *ars_profile_id,
354 _In_ sai_object_id_t switch_id,
355 _In_ uint32_t attr_count,
356 _In_ const sai_attribute_t *attr_list);
357
365typedef sai_status_t (*sai_remove_ars_profile_fn)(
366 _In_ sai_object_id_t ars_profile_id);
367
376typedef sai_status_t (*sai_set_ars_profile_attribute_fn)(
377 _In_ sai_object_id_t ars_profile_id,
378 _In_ const sai_attribute_t *attr);
379
389typedef sai_status_t (*sai_get_ars_profile_attribute_fn)(
390 _In_ sai_object_id_t ars_profile_id,
391 _In_ uint32_t attr_count,
392 _Inout_ sai_attribute_t *attr_list);
393
398{
399 sai_create_ars_profile_fn create_ars_profile;
400 sai_remove_ars_profile_fn remove_ars_profile;
401 sai_set_ars_profile_attribute_fn set_ars_profile_attribute;
402 sai_get_ars_profile_attribute_fn get_ars_profile_attribute;
403
405
409#endif
_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()