25#if !defined (__SAIBUFFER_H_)
147 _Out_ sai_object_id_t *ingress_priority_group_id,
148 _In_ sai_object_id_t switch_id,
149 _In_ uint32_t attr_count,
160 _In_ sai_object_id_t ingress_priority_group_id);
171 _In_ sai_object_id_t ingress_priority_group_id,
184 _In_ sai_object_id_t ingress_priority_group_id,
185 _In_ uint32_t attr_count,
199 _In_ sai_object_id_t ingress_priority_group_id,
200 _In_ uint32_t number_of_counters,
201 _In_
const sai_stat_id_t *counter_ids,
202 _Out_ uint64_t *counters);
216 _In_ sai_object_id_t ingress_priority_group_id,
217 _In_ uint32_t number_of_counters,
218 _In_
const sai_stat_id_t *counter_ids,
220 _Out_ uint64_t *counters);
232 _In_ sai_object_id_t ingress_priority_group_id,
233 _In_ uint32_t number_of_counters,
234 _In_
const sai_stat_id_t *counter_ids);
447 _Out_ sai_object_id_t *buffer_pool_id,
448 _In_ sai_object_id_t switch_id,
449 _In_ uint32_t attr_count,
460 _In_ sai_object_id_t buffer_pool_id);
471 _In_ sai_object_id_t buffer_pool_id,
484 _In_ sai_object_id_t buffer_pool_id,
485 _In_ uint32_t attr_count,
499 _In_ sai_object_id_t buffer_pool_id,
500 _In_ uint32_t number_of_counters,
501 _In_
const sai_stat_id_t *counter_ids,
502 _Out_ uint64_t *counters);
516 _In_ sai_object_id_t buffer_pool_id,
517 _In_ uint32_t number_of_counters,
518 _In_
const sai_stat_id_t *counter_ids,
520 _Out_ uint64_t *counters);
532 _In_ sai_object_id_t buffer_pool_id,
533 _In_ uint32_t number_of_counters,
534 _In_
const sai_stat_id_t *counter_ids);
694 _Out_ sai_object_id_t *buffer_profile_id,
695 _In_ sai_object_id_t switch_id,
696 _In_ uint32_t attr_count,
707 _In_ sai_object_id_t buffer_profile_id);
718 _In_ sai_object_id_t buffer_profile_id,
731 _In_ sai_object_id_t buffer_profile_id,
732 _In_ uint32_t attr_count,
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.
enum _sai_buffer_profile_threshold_mode_t sai_buffer_profile_threshold_mode_t
Enum defining buffer profile threshold modes.
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.
enum _sai_buffer_pool_attr_t sai_buffer_pool_attr_t
Enum defining buffer pool attributes.
_sai_ingress_priority_group_attr_t
Enum defining ingress priority group attributes.
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.
enum _sai_buffer_pool_type_t sai_buffer_pool_type_t
Enum defining buffer pool types.
sai_status_t(* sai_remove_buffer_profile_fn)(_In_ sai_object_id_t buffer_profile_id)
Remove buffer profile.
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.
struct _sai_buffer_api_t sai_buffer_api_t
Buffer methods table retrieved with sai_api_query()
enum _sai_buffer_pool_stat_t sai_buffer_pool_stat_t
Enum defining statistics for buffer pool.
_sai_buffer_pool_attr_t
Enum defining buffer pool attributes.
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.
enum _sai_ingress_priority_group_stat_t sai_ingress_priority_group_stat_t
Enum defining statistics for ingress priority group.
sai_status_t(* sai_remove_buffer_pool_fn)(_In_ sai_object_id_t buffer_pool_id)
Remove buffer pool.
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.
sai_status_t(* sai_remove_ingress_priority_group_fn)(_In_ sai_object_id_t ingress_priority_group_id)
Remove ingress priority group.
_sai_buffer_pool_type_t
Enum defining buffer pool types.
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.
enum _sai_ingress_priority_group_attr_t sai_ingress_priority_group_attr_t
Enum defining ingress priority group attributes.
_sai_buffer_pool_threshold_mode_t
Enum defining buffer pool threshold modes.
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.
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.
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.
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.
_sai_ingress_priority_group_stat_t
Enum defining statistics for ingress priority group.
enum _sai_buffer_profile_attr_t sai_buffer_profile_attr_t
Enum defining buffer profile attributes.
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.
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.
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.
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.
_sai_buffer_pool_stat_t
Enum defining statistics for buffer pool.
_sai_buffer_profile_attr_t
Enum defining buffer profile attributes.
enum _sai_buffer_pool_threshold_mode_t sai_buffer_pool_threshold_mode_t
Enum defining buffer pool threshold modes.
_sai_buffer_profile_threshold_mode_t
Enum defining buffer profile threshold modes.
@ SAI_INGRESS_PRIORITY_GROUP_ATTR_BUFFER_PROFILE
Buffer profile pointer.
@ SAI_INGRESS_PRIORITY_GROUP_ATTR_START
Start of attributes.
@ SAI_INGRESS_PRIORITY_GROUP_ATTR_CUSTOM_RANGE_END
@ SAI_INGRESS_PRIORITY_GROUP_ATTR_END
End of attributes.
@ SAI_INGRESS_PRIORITY_GROUP_ATTR_TAM
TAM id.
@ SAI_INGRESS_PRIORITY_GROUP_ATTR_PORT
Port id.
@ SAI_INGRESS_PRIORITY_GROUP_ATTR_CUSTOM_RANGE_START
@ SAI_INGRESS_PRIORITY_GROUP_ATTR_INDEX
PG index.
@ SAI_BUFFER_POOL_ATTR_START
Start of attributes.
@ SAI_BUFFER_POOL_ATTR_WRED_PROFILE_ID
Attach WRED ID to pool.
@ SAI_BUFFER_POOL_ATTR_TAM
TAM id.
@ SAI_BUFFER_POOL_ATTR_THRESHOLD_MODE
Shared threshold mode for the buffer.
@ SAI_BUFFER_POOL_ATTR_END
End of attributes.
@ SAI_BUFFER_POOL_ATTR_CUSTOM_RANGE_END
@ SAI_BUFFER_POOL_ATTR_TYPE
Buffer pool type.
@ SAI_BUFFER_POOL_ATTR_SHARED_SIZE
Shared buffer size in bytes.
@ SAI_BUFFER_POOL_ATTR_CUSTOM_RANGE_START
@ SAI_BUFFER_POOL_ATTR_SIZE
Buffer pool size in bytes.
@ SAI_BUFFER_POOL_ATTR_XOFF_SIZE
Shared headroom pool size in bytes for lossless traffic.
@ SAI_BUFFER_POOL_TYPE_BOTH
@ SAI_BUFFER_POOL_TYPE_INGRESS
@ SAI_BUFFER_POOL_TYPE_EGRESS
@ SAI_BUFFER_POOL_THRESHOLD_MODE_DYNAMIC
@ SAI_BUFFER_POOL_THRESHOLD_MODE_STATIC
@ SAI_INGRESS_PRIORITY_GROUP_STAT_DROPPED_PACKETS
@ SAI_INGRESS_PRIORITY_GROUP_STAT_SHARED_WATERMARK_BYTES
@ SAI_INGRESS_PRIORITY_GROUP_STAT_SHARED_CURR_OCCUPANCY_BYTES
@ SAI_INGRESS_PRIORITY_GROUP_STAT_CUSTOM_RANGE_BASE
@ SAI_INGRESS_PRIORITY_GROUP_STAT_XOFF_ROOM_CURR_OCCUPANCY_BYTES
@ SAI_INGRESS_PRIORITY_GROUP_STAT_CURR_OCCUPANCY_BYTES
@ SAI_INGRESS_PRIORITY_GROUP_STAT_BYTES
@ SAI_INGRESS_PRIORITY_GROUP_STAT_PACKETS
@ SAI_INGRESS_PRIORITY_GROUP_STAT_WATERMARK_BYTES
@ SAI_INGRESS_PRIORITY_GROUP_STAT_XOFF_ROOM_WATERMARK_BYTES
@ SAI_BUFFER_POOL_STAT_RED_WRED_ECN_MARKED_BYTES
@ SAI_BUFFER_POOL_STAT_DROPPED_PACKETS
@ SAI_BUFFER_POOL_STAT_WRED_ECN_MARKED_PACKETS
@ SAI_BUFFER_POOL_STAT_GREEN_WRED_DROPPED_PACKETS
@ SAI_BUFFER_POOL_STAT_YELLOW_WRED_ECN_MARKED_BYTES
@ SAI_BUFFER_POOL_STAT_RED_WRED_DROPPED_PACKETS
@ SAI_BUFFER_POOL_STAT_GREEN_WRED_ECN_MARKED_BYTES
@ SAI_BUFFER_POOL_STAT_CUSTOM_RANGE_BASE
@ SAI_BUFFER_POOL_STAT_GREEN_WRED_DROPPED_BYTES
@ SAI_BUFFER_POOL_STAT_WRED_DROPPED_BYTES
@ SAI_BUFFER_POOL_STAT_YELLOW_WRED_ECN_MARKED_PACKETS
@ SAI_BUFFER_POOL_STAT_RED_WRED_ECN_MARKED_PACKETS
@ SAI_BUFFER_POOL_STAT_WATERMARK_BYTES
@ SAI_BUFFER_POOL_STAT_YELLOW_WRED_DROPPED_BYTES
@ SAI_BUFFER_POOL_STAT_CURR_OCCUPANCY_BYTES
@ SAI_BUFFER_POOL_STAT_XOFF_ROOM_WATERMARK_BYTES
@ SAI_BUFFER_POOL_STAT_WRED_DROPPED_PACKETS
@ SAI_BUFFER_POOL_STAT_YELLOW_WRED_DROPPED_PACKETS
@ SAI_BUFFER_POOL_STAT_WRED_ECN_MARKED_BYTES
@ SAI_BUFFER_POOL_STAT_RED_WRED_DROPPED_BYTES
@ SAI_BUFFER_POOL_STAT_XOFF_ROOM_CURR_OCCUPANCY_BYTES
@ SAI_BUFFER_POOL_STAT_GREEN_WRED_ECN_MARKED_PACKETS
@ SAI_BUFFER_PROFILE_ATTR_XON_OFFSET_TH
Set the buffer profile XON hysteresis threshold in byte.
@ SAI_BUFFER_PROFILE_ATTR_START
Start of attributes.
@ SAI_BUFFER_PROFILE_ATTR_CUSTOM_RANGE_START
@ SAI_BUFFER_PROFILE_ATTR_CUSTOM_RANGE_END
@ SAI_BUFFER_PROFILE_ATTR_RESERVED_BUFFER_SIZE
Reserved buffer size in bytes.
@ SAI_BUFFER_PROFILE_ATTR_SHARED_DYNAMIC_TH
Dynamic threshold for the shared usage.
@ SAI_BUFFER_PROFILE_ATTR_XOFF_TH
Set the buffer profile XOFF threshold in bytes.
@ SAI_BUFFER_PROFILE_ATTR_POOL_ID
Pointer to buffer pool object id.
@ SAI_BUFFER_PROFILE_ATTR_XON_TH
Set the buffer profile XON non-hysteresis threshold in byte.
@ SAI_BUFFER_PROFILE_ATTR_SHARED_STATIC_TH
Static threshold for the shared usage in bytes.
@ SAI_BUFFER_PROFILE_ATTR_BUFFER_SIZE
@ SAI_BUFFER_PROFILE_ATTR_THRESHOLD_MODE
Shared threshold mode for the buffer profile.
@ SAI_BUFFER_PROFILE_ATTR_END
End of attributes.
@ SAI_BUFFER_PROFILE_THRESHOLD_MODE_STATIC
@ SAI_BUFFER_PROFILE_THRESHOLD_MODE_DYNAMIC
enum _sai_stats_mode_t sai_stats_mode_t
SAI statistics modes.
This module defines SAI portable types.
Buffer methods table retrieved with sai_api_query()