SAI Metadata
|
Classes | |
struct | _sai_buffer_api_t |
Buffer methods table retrieved with sai_api_query() More... | |
Typedefs | |
typedef enum _sai_ingress_priority_group_attr_t | sai_ingress_priority_group_attr_t |
Enum defining ingress priority group attributes. | |
typedef enum _sai_ingress_priority_group_stat_t | sai_ingress_priority_group_stat_t |
Enum defining statistics for ingress priority group. | |
typedef sai_status_t(* | sai_create_ingress_priority_group_fn) (_Out_ sai_object_id_t *ingress_priority_group_id, _In_ sai_object_id_t switch_id, _In_ uint32_t attr_count, _In_ const sai_attribute_t *attr_list) |
Create ingress priority group. | |
typedef sai_status_t(* | sai_remove_ingress_priority_group_fn) (_In_ sai_object_id_t ingress_priority_group_id) |
Remove ingress priority group. | |
typedef sai_status_t(* | sai_set_ingress_priority_group_attribute_fn) (_In_ sai_object_id_t ingress_priority_group_id, _In_ const sai_attribute_t *attr) |
Set ingress priority group attribute. | |
typedef sai_status_t(* | sai_get_ingress_priority_group_attribute_fn) (_In_ sai_object_id_t ingress_priority_group_id, _In_ uint32_t attr_count, _Inout_ sai_attribute_t *attr_list) |
Get ingress priority group attributes. | |
typedef sai_status_t(* | sai_get_ingress_priority_group_stats_fn) (_In_ sai_object_id_t ingress_priority_group_id, _In_ uint32_t number_of_counters, _In_ const sai_stat_id_t *counter_ids, _Out_ uint64_t *counters) |
Get ingress priority group statistics counters. Deprecated for backward compatibility. | |
typedef sai_status_t(* | sai_get_ingress_priority_group_stats_ext_fn) (_In_ sai_object_id_t ingress_priority_group_id, _In_ uint32_t number_of_counters, _In_ const sai_stat_id_t *counter_ids, _In_ sai_stats_mode_t mode, _Out_ uint64_t *counters) |
Get ingress priority group statistics counters extended. | |
typedef sai_status_t(* | sai_clear_ingress_priority_group_stats_fn) (_In_ sai_object_id_t ingress_priority_group_id, _In_ uint32_t number_of_counters, _In_ const sai_stat_id_t *counter_ids) |
Clear ingress priority group statistics counters. | |
typedef enum _sai_buffer_pool_type_t | sai_buffer_pool_type_t |
Enum defining buffer pool types. | |
typedef enum _sai_buffer_pool_threshold_mode_t | sai_buffer_pool_threshold_mode_t |
Enum defining buffer pool threshold modes. | |
typedef enum _sai_buffer_pool_attr_t | sai_buffer_pool_attr_t |
Enum defining buffer pool attributes. | |
typedef enum _sai_buffer_pool_stat_t | sai_buffer_pool_stat_t |
Enum defining statistics for buffer pool. | |
typedef sai_status_t(* | sai_create_buffer_pool_fn) (_Out_ sai_object_id_t *buffer_pool_id, _In_ sai_object_id_t switch_id, _In_ uint32_t attr_count, _In_ const sai_attribute_t *attr_list) |
Create buffer pool. | |
typedef sai_status_t(* | sai_remove_buffer_pool_fn) (_In_ sai_object_id_t buffer_pool_id) |
Remove buffer pool. | |
typedef sai_status_t(* | sai_set_buffer_pool_attribute_fn) (_In_ sai_object_id_t buffer_pool_id, _In_ const sai_attribute_t *attr) |
Set buffer pool attribute. | |
typedef sai_status_t(* | sai_get_buffer_pool_attribute_fn) (_In_ sai_object_id_t buffer_pool_id, _In_ uint32_t attr_count, _Inout_ sai_attribute_t *attr_list) |
Get buffer pool attributes. | |
typedef sai_status_t(* | sai_get_buffer_pool_stats_fn) (_In_ sai_object_id_t buffer_pool_id, _In_ uint32_t number_of_counters, _In_ const sai_stat_id_t *counter_ids, _Out_ uint64_t *counters) |
Get buffer pool statistics counters. Deprecated for backward compatibility. | |
typedef sai_status_t(* | sai_get_buffer_pool_stats_ext_fn) (_In_ sai_object_id_t buffer_pool_id, _In_ uint32_t number_of_counters, _In_ const sai_stat_id_t *counter_ids, _In_ sai_stats_mode_t mode, _Out_ uint64_t *counters) |
Get buffer pool statistics counters extended. | |
typedef sai_status_t(* | sai_clear_buffer_pool_stats_fn) (_In_ sai_object_id_t buffer_pool_id, _In_ uint32_t number_of_counters, _In_ const sai_stat_id_t *counter_ids) |
Clear buffer pool statistics counters. | |
typedef enum _sai_buffer_profile_threshold_mode_t | sai_buffer_profile_threshold_mode_t |
Enum defining buffer profile threshold modes. | |
typedef enum _sai_buffer_profile_attr_t | sai_buffer_profile_attr_t |
Enum defining buffer profile attributes. | |
typedef sai_status_t(* | sai_create_buffer_profile_fn) (_Out_ sai_object_id_t *buffer_profile_id, _In_ sai_object_id_t switch_id, _In_ uint32_t attr_count, _In_ const sai_attribute_t *attr_list) |
Create buffer profile. | |
typedef sai_status_t(* | sai_remove_buffer_profile_fn) (_In_ sai_object_id_t buffer_profile_id) |
Remove buffer profile. | |
typedef sai_status_t(* | sai_set_buffer_profile_attribute_fn) (_In_ sai_object_id_t buffer_profile_id, _In_ const sai_attribute_t *attr) |
Set buffer profile attribute. | |
typedef sai_status_t(* | sai_get_buffer_profile_attribute_fn) (_In_ sai_object_id_t buffer_profile_id, _In_ uint32_t attr_count, _Inout_ sai_attribute_t *attr_list) |
Get buffer profile attributes. | |
typedef struct _sai_buffer_api_t | sai_buffer_api_t |
Buffer methods table retrieved with sai_api_query() | |
typedef sai_status_t(* sai_clear_buffer_pool_stats_fn) (_In_ sai_object_id_t buffer_pool_id, _In_ uint32_t number_of_counters, _In_ const sai_stat_id_t *counter_ids) |
Clear buffer pool statistics counters.
[in] | buffer_pool_id | Buffer pool id |
[in] | number_of_counters | Number of counters in the array |
[in] | counter_ids | Specifies the array of counter ids |
Definition at line 531 of file saibuffer.h.
typedef sai_status_t(* sai_clear_ingress_priority_group_stats_fn) (_In_ sai_object_id_t ingress_priority_group_id, _In_ uint32_t number_of_counters, _In_ const sai_stat_id_t *counter_ids) |
Clear ingress priority group statistics counters.
[in] | ingress_priority_group_id | Ingress priority group id |
[in] | number_of_counters | Number of counters in the array |
[in] | counter_ids | Specifies the array of counter ids |
Definition at line 231 of file saibuffer.h.
typedef sai_status_t(* sai_create_buffer_pool_fn) (_Out_ sai_object_id_t *buffer_pool_id, _In_ sai_object_id_t switch_id, _In_ uint32_t attr_count, _In_ const sai_attribute_t *attr_list) |
Create buffer pool.
[out] | buffer_pool_id | Buffer pool id |
[in] | switch_id | Switch id |
[in] | attr_count | Number of attributes |
[in] | attr_list | Array of attributes |
Definition at line 446 of file saibuffer.h.
typedef sai_status_t(* sai_create_buffer_profile_fn) (_Out_ sai_object_id_t *buffer_profile_id, _In_ sai_object_id_t switch_id, _In_ uint32_t attr_count, _In_ const sai_attribute_t *attr_list) |
Create buffer profile.
[out] | buffer_profile_id | Buffer profile id |
[in] | switch_id | Switch object id |
[in] | attr_count | Number of attributes |
[in] | attr_list | Array of attributes |
Definition at line 693 of file saibuffer.h.
typedef sai_status_t(* sai_create_ingress_priority_group_fn) (_Out_ sai_object_id_t *ingress_priority_group_id, _In_ sai_object_id_t switch_id, _In_ uint32_t attr_count, _In_ const sai_attribute_t *attr_list) |
Create ingress priority group.
[out] | ingress_priority_group_id | Ingress priority group |
[in] | switch_id | Switch id |
[in] | attr_count | Number of attributes |
[in] | attr_list | Array of attributes |
Definition at line 146 of file saibuffer.h.
typedef sai_status_t(* sai_get_buffer_pool_attribute_fn) (_In_ sai_object_id_t buffer_pool_id, _In_ uint32_t attr_count, _Inout_ sai_attribute_t *attr_list) |
Get buffer pool attributes.
[in] | buffer_pool_id | Buffer pool id |
[in] | attr_count | Number of attributes |
[in,out] | attr_list | Array of attributes |
Definition at line 483 of file saibuffer.h.
typedef sai_status_t(* sai_get_buffer_pool_stats_ext_fn) (_In_ sai_object_id_t buffer_pool_id, _In_ uint32_t number_of_counters, _In_ const sai_stat_id_t *counter_ids, _In_ sai_stats_mode_t mode, _Out_ uint64_t *counters) |
Get buffer pool statistics counters extended.
[in] | buffer_pool_id | Buffer pool id |
[in] | number_of_counters | Number of counters in the array |
[in] | counter_ids | Specifies the array of counter ids |
[in] | mode | Statistics mode |
[out] | counters | Array of resulting counter values. |
Definition at line 515 of file saibuffer.h.
typedef sai_status_t(* sai_get_buffer_pool_stats_fn) (_In_ sai_object_id_t buffer_pool_id, _In_ uint32_t number_of_counters, _In_ const sai_stat_id_t *counter_ids, _Out_ uint64_t *counters) |
Get buffer pool statistics counters. Deprecated for backward compatibility.
[in] | buffer_pool_id | Buffer pool id |
[in] | number_of_counters | Number of counters in the array |
[in] | counter_ids | Specifies the array of counter ids |
[out] | counters | Array of resulting counter values. |
Definition at line 498 of file saibuffer.h.
typedef sai_status_t(* sai_get_buffer_profile_attribute_fn) (_In_ sai_object_id_t buffer_profile_id, _In_ uint32_t attr_count, _Inout_ sai_attribute_t *attr_list) |
Get buffer profile attributes.
[in] | buffer_profile_id | Buffer profile id |
[in] | attr_count | Number of attributes |
[in,out] | attr_list | Array of attributes |
Definition at line 730 of file saibuffer.h.
typedef sai_status_t(* sai_get_ingress_priority_group_attribute_fn) (_In_ sai_object_id_t ingress_priority_group_id, _In_ uint32_t attr_count, _Inout_ sai_attribute_t *attr_list) |
Get ingress priority group attributes.
[in] | ingress_priority_group_id | Ingress priority group id |
[in] | attr_count | Number of attributes |
[in,out] | attr_list | Array of attributes |
Definition at line 183 of file saibuffer.h.
typedef sai_status_t(* sai_get_ingress_priority_group_stats_ext_fn) (_In_ sai_object_id_t ingress_priority_group_id, _In_ uint32_t number_of_counters, _In_ const sai_stat_id_t *counter_ids, _In_ sai_stats_mode_t mode, _Out_ uint64_t *counters) |
Get ingress priority group statistics counters extended.
[in] | ingress_priority_group_id | Ingress priority group id |
[in] | number_of_counters | Number of counters in the array |
[in] | counter_ids | Specifies the array of counter ids |
[in] | mode | Statistics mode |
[out] | counters | Array of resulting counter values. |
Definition at line 215 of file saibuffer.h.
typedef sai_status_t(* sai_get_ingress_priority_group_stats_fn) (_In_ sai_object_id_t ingress_priority_group_id, _In_ uint32_t number_of_counters, _In_ const sai_stat_id_t *counter_ids, _Out_ uint64_t *counters) |
Get ingress priority group statistics counters. Deprecated for backward compatibility.
[in] | ingress_priority_group_id | Ingress priority group id |
[in] | number_of_counters | Number of counters in the array |
[in] | counter_ids | Specifies the array of counter ids |
[out] | counters | Array of resulting counter values. |
Definition at line 198 of file saibuffer.h.
typedef sai_status_t(* sai_remove_buffer_pool_fn) (_In_ sai_object_id_t buffer_pool_id) |
Remove buffer pool.
[in] | buffer_pool_id | Buffer pool id |
Definition at line 459 of file saibuffer.h.
typedef sai_status_t(* sai_remove_buffer_profile_fn) (_In_ sai_object_id_t buffer_profile_id) |
Remove buffer profile.
[in] | buffer_profile_id | Buffer profile id |
Definition at line 706 of file saibuffer.h.
typedef sai_status_t(* sai_remove_ingress_priority_group_fn) (_In_ sai_object_id_t ingress_priority_group_id) |
Remove ingress priority group.
[in] | ingress_priority_group_id | Ingress priority group id |
Definition at line 159 of file saibuffer.h.
typedef sai_status_t(* sai_set_buffer_pool_attribute_fn) (_In_ sai_object_id_t buffer_pool_id, _In_ const sai_attribute_t *attr) |
Set buffer pool attribute.
[in] | buffer_pool_id | Buffer pool id |
[in] | attr | Attribute |
Definition at line 470 of file saibuffer.h.
typedef sai_status_t(* sai_set_buffer_profile_attribute_fn) (_In_ sai_object_id_t buffer_profile_id, _In_ const sai_attribute_t *attr) |
Set buffer profile attribute.
[in] | buffer_profile_id | Buffer profile id |
[in] | attr | Attribute |
Definition at line 717 of file saibuffer.h.
typedef sai_status_t(* sai_set_ingress_priority_group_attribute_fn) (_In_ sai_object_id_t ingress_priority_group_id, _In_ const sai_attribute_t *attr) |
Set ingress priority group attribute.
[in] | ingress_priority_group_id | Ingress priority group id |
[in] | attr | Attribute to set |
Definition at line 170 of file saibuffer.h.
Enum defining buffer pool attributes.
Enumerator | |
---|---|
SAI_BUFFER_POOL_ATTR_START | Start of attributes. |
SAI_BUFFER_POOL_ATTR_SHARED_SIZE | Shared buffer size in bytes. This is derived from subtracting all reversed buffers of queue/port from the total pool size.
|
SAI_BUFFER_POOL_ATTR_TYPE | Buffer pool type.
|
SAI_BUFFER_POOL_ATTR_SIZE | Buffer pool size in bytes.
|
SAI_BUFFER_POOL_ATTR_THRESHOLD_MODE | Shared threshold mode for the buffer.
|
SAI_BUFFER_POOL_ATTR_TAM | TAM id.
|
SAI_BUFFER_POOL_ATTR_XOFF_SIZE | Shared headroom pool size in bytes for lossless traffic. Only valid for the ingress buffer pool. If shared headroom pool size is not zero, its size is included in the corresponding ingress buffer pool size SAI_BUFFER_POOL_ATTR_SIZE
|
SAI_BUFFER_POOL_ATTR_WRED_PROFILE_ID | Attach WRED ID to pool. WRED Drop/ECN marking based on pool thresholds will happen only when one of queue referring to this buffer pool configured with non default value for SAI_QUEUE_ATTR_WRED_PROFILE_ID. ID = SAI_NULL_OBJECT_ID to disable WRED
|
SAI_BUFFER_POOL_ATTR_END | End of attributes. |
SAI_BUFFER_POOL_ATTR_CUSTOM_RANGE_START | Custom range base value |
SAI_BUFFER_POOL_ATTR_CUSTOM_RANGE_END | End of custom range base |
Definition at line 268 of file saibuffer.h.
Enum defining statistics for buffer pool.
Definition at line 366 of file saibuffer.h.
Enum defining buffer pool threshold modes.
Enumerator | |
---|---|
SAI_BUFFER_POOL_THRESHOLD_MODE_STATIC | Static maximum |
SAI_BUFFER_POOL_THRESHOLD_MODE_DYNAMIC | Dynamic maximum (relative) |
Definition at line 255 of file saibuffer.h.
Enum defining buffer pool types.
Enumerator | |
---|---|
SAI_BUFFER_POOL_TYPE_INGRESS | Ingress buffer pool |
SAI_BUFFER_POOL_TYPE_EGRESS | Egress buffer pool |
SAI_BUFFER_POOL_TYPE_BOTH | Buffer pool used by both ingress and egress |
Definition at line 239 of file saibuffer.h.
Enum defining buffer profile attributes.
Enumerator | |
---|---|
SAI_BUFFER_PROFILE_ATTR_START | Start of attributes. |
SAI_BUFFER_PROFILE_ATTR_POOL_ID | Pointer to buffer pool object id. Pool id = SAI_NULL_OBJECT_ID can be used when profile is not associated with specific pool, for example for global port buffer. Not applicable to priority group or queue buffer profile.
|
SAI_BUFFER_PROFILE_ATTR_RESERVED_BUFFER_SIZE | Reserved buffer size in bytes.
|
SAI_BUFFER_PROFILE_ATTR_BUFFER_SIZE |
|
SAI_BUFFER_PROFILE_ATTR_THRESHOLD_MODE | Shared threshold mode for the buffer profile. If set, this overrides SAI_BUFFER_POOL_ATTR_THRESHOLD_MODE.
|
SAI_BUFFER_PROFILE_ATTR_SHARED_DYNAMIC_TH | Dynamic threshold for the shared usage. The threshold is set to the 2^n of available buffer of the pool.
|
SAI_BUFFER_PROFILE_ATTR_SHARED_STATIC_TH | Static threshold for the shared usage in bytes. When set to zero there is no limit for the shared usage.
|
SAI_BUFFER_PROFILE_ATTR_XOFF_TH | Set the buffer profile XOFF threshold in bytes. Valid only for ingress PG. Specifies the maximum available buffer for a PG after XOFF is generated (i.e. headroom buffer). Note that the available headroom buffer is dependent on SAI_BUFFER_POOL_ATTR_XOFF_SIZE. If the user has set SAI_BUFFER_POOL_ATTR_XOFF_SIZE = 0, the PG headroom buffer is equal to XOFF_TH and it is not shared. If the user has set SAI_BUFFER_POOL_ATTR_XOFF_SIZE > 0, the total headroom pool buffer for all PGs is equal to SAI_BUFFER_POOL_ATTR_XOFF_SIZE and XOFF_TH specifies the maximum amount of headroom pool buffer one PG can use.
|
SAI_BUFFER_PROFILE_ATTR_XON_TH | Set the buffer profile XON non-hysteresis threshold in byte. Valid only for ingress PG. Generate XON when the total buffer usage of this PG is less than the maximum of XON_TH and the total buffer limit minus XON_OFFSET_TH, and available buffer in the PG buffer is larger than the XOFF_TH. The XON trigger condition is governed by: total buffer usage <= max(XON_TH, total buffer limit - XON_OFFSET_TH)
|
SAI_BUFFER_PROFILE_ATTR_XON_OFFSET_TH | Set the buffer profile XON hysteresis threshold in byte. Valid only for ingress PG Generate XON when the total buffer usage of this PG is less than the maximum of XON_TH and the total buffer limit minus XON_OFFSET_TH, and available buffer in the PG buffer is larger than the XOFF_TH. The XON trigger condition is governed by: total buffer usage <= max(XON_TH, total buffer limit - XON_OFFSET_TH)
|
SAI_BUFFER_PROFILE_ATTR_END | End of attributes. |
SAI_BUFFER_PROFILE_ATTR_CUSTOM_RANGE_START | Custom range base value |
SAI_BUFFER_PROFILE_ATTR_CUSTOM_RANGE_END | End of custom range base |
Definition at line 552 of file saibuffer.h.
Enum defining buffer profile threshold modes.
Enumerator | |
---|---|
SAI_BUFFER_PROFILE_THRESHOLD_MODE_STATIC | Static maximum |
SAI_BUFFER_PROFILE_THRESHOLD_MODE_DYNAMIC | Dynamic maximum (relative) |
Definition at line 539 of file saibuffer.h.
Enum defining ingress priority group attributes.
Definition at line 39 of file saibuffer.h.
Enum defining statistics for ingress priority group.
Definition at line 102 of file saibuffer.h.