SAI Metadata
Loading...
Searching...
No Matches
SAI - Buffer specific API definitions

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()
 

Enumerations

enum  _sai_ingress_priority_group_attr_t {
  SAI_INGRESS_PRIORITY_GROUP_ATTR_START , SAI_INGRESS_PRIORITY_GROUP_ATTR_BUFFER_PROFILE = SAI_INGRESS_PRIORITY_GROUP_ATTR_START , SAI_INGRESS_PRIORITY_GROUP_ATTR_PORT , SAI_INGRESS_PRIORITY_GROUP_ATTR_TAM ,
  SAI_INGRESS_PRIORITY_GROUP_ATTR_INDEX , SAI_INGRESS_PRIORITY_GROUP_ATTR_END , SAI_INGRESS_PRIORITY_GROUP_ATTR_CUSTOM_RANGE_START = 0x10000000 , SAI_INGRESS_PRIORITY_GROUP_ATTR_CUSTOM_RANGE_END
}
 Enum defining ingress priority group attributes. More...
 
enum  _sai_ingress_priority_group_stat_t {
  SAI_INGRESS_PRIORITY_GROUP_STAT_PACKETS = 0x00000000 , SAI_INGRESS_PRIORITY_GROUP_STAT_BYTES = 0x00000001 , SAI_INGRESS_PRIORITY_GROUP_STAT_CURR_OCCUPANCY_BYTES = 0x00000002 , SAI_INGRESS_PRIORITY_GROUP_STAT_WATERMARK_BYTES = 0x00000003 ,
  SAI_INGRESS_PRIORITY_GROUP_STAT_SHARED_CURR_OCCUPANCY_BYTES = 0x00000004 , SAI_INGRESS_PRIORITY_GROUP_STAT_SHARED_WATERMARK_BYTES = 0x00000005 , SAI_INGRESS_PRIORITY_GROUP_STAT_XOFF_ROOM_CURR_OCCUPANCY_BYTES = 0x00000006 , SAI_INGRESS_PRIORITY_GROUP_STAT_XOFF_ROOM_WATERMARK_BYTES = 0x00000007 ,
  SAI_INGRESS_PRIORITY_GROUP_STAT_DROPPED_PACKETS = 0x00000008 , SAI_INGRESS_PRIORITY_GROUP_STAT_CUSTOM_RANGE_BASE = 0x10000000
}
 Enum defining statistics for ingress priority group. More...
 
enum  _sai_buffer_pool_type_t { SAI_BUFFER_POOL_TYPE_INGRESS , SAI_BUFFER_POOL_TYPE_EGRESS , SAI_BUFFER_POOL_TYPE_BOTH }
 Enum defining buffer pool types. More...
 
enum  _sai_buffer_pool_threshold_mode_t { SAI_BUFFER_POOL_THRESHOLD_MODE_STATIC , SAI_BUFFER_POOL_THRESHOLD_MODE_DYNAMIC }
 Enum defining buffer pool threshold modes. More...
 
enum  _sai_buffer_pool_attr_t {
  SAI_BUFFER_POOL_ATTR_START , SAI_BUFFER_POOL_ATTR_SHARED_SIZE = SAI_BUFFER_POOL_ATTR_START , SAI_BUFFER_POOL_ATTR_TYPE , SAI_BUFFER_POOL_ATTR_SIZE ,
  SAI_BUFFER_POOL_ATTR_THRESHOLD_MODE , SAI_BUFFER_POOL_ATTR_TAM , SAI_BUFFER_POOL_ATTR_XOFF_SIZE , SAI_BUFFER_POOL_ATTR_WRED_PROFILE_ID ,
  SAI_BUFFER_POOL_ATTR_END , SAI_BUFFER_POOL_ATTR_CUSTOM_RANGE_START = 0x10000000 , SAI_BUFFER_POOL_ATTR_CUSTOM_RANGE_END
}
 Enum defining buffer pool attributes. More...
 
enum  _sai_buffer_pool_stat_t {
  SAI_BUFFER_POOL_STAT_CURR_OCCUPANCY_BYTES = 0x00000000 , SAI_BUFFER_POOL_STAT_WATERMARK_BYTES = 0x00000001 , SAI_BUFFER_POOL_STAT_DROPPED_PACKETS = 0x00000002 , SAI_BUFFER_POOL_STAT_GREEN_WRED_DROPPED_PACKETS = 0x00000003 ,
  SAI_BUFFER_POOL_STAT_GREEN_WRED_DROPPED_BYTES = 0x00000004 , SAI_BUFFER_POOL_STAT_YELLOW_WRED_DROPPED_PACKETS = 0x00000005 , SAI_BUFFER_POOL_STAT_YELLOW_WRED_DROPPED_BYTES = 0x00000006 , SAI_BUFFER_POOL_STAT_RED_WRED_DROPPED_PACKETS = 0x00000007 ,
  SAI_BUFFER_POOL_STAT_RED_WRED_DROPPED_BYTES = 0x00000008 , SAI_BUFFER_POOL_STAT_WRED_DROPPED_PACKETS = 0x00000009 , SAI_BUFFER_POOL_STAT_WRED_DROPPED_BYTES = 0x0000000a , SAI_BUFFER_POOL_STAT_GREEN_WRED_ECN_MARKED_PACKETS = 0x0000000b ,
  SAI_BUFFER_POOL_STAT_GREEN_WRED_ECN_MARKED_BYTES = 0x0000000c , SAI_BUFFER_POOL_STAT_YELLOW_WRED_ECN_MARKED_PACKETS = 0x0000000d , SAI_BUFFER_POOL_STAT_YELLOW_WRED_ECN_MARKED_BYTES = 0x0000000e , SAI_BUFFER_POOL_STAT_RED_WRED_ECN_MARKED_PACKETS = 0x0000000f ,
  SAI_BUFFER_POOL_STAT_RED_WRED_ECN_MARKED_BYTES = 0x00000010 , SAI_BUFFER_POOL_STAT_WRED_ECN_MARKED_PACKETS = 0x00000011 , SAI_BUFFER_POOL_STAT_WRED_ECN_MARKED_BYTES = 0x00000012 , SAI_BUFFER_POOL_STAT_XOFF_ROOM_CURR_OCCUPANCY_BYTES = 0x00000013 ,
  SAI_BUFFER_POOL_STAT_XOFF_ROOM_WATERMARK_BYTES = 0x00000014 , SAI_BUFFER_POOL_STAT_CUSTOM_RANGE_BASE = 0x10000000
}
 Enum defining statistics for buffer pool. More...
 
enum  _sai_buffer_profile_threshold_mode_t { SAI_BUFFER_PROFILE_THRESHOLD_MODE_STATIC , SAI_BUFFER_PROFILE_THRESHOLD_MODE_DYNAMIC }
 Enum defining buffer profile threshold modes. More...
 
enum  _sai_buffer_profile_attr_t {
  SAI_BUFFER_PROFILE_ATTR_START , SAI_BUFFER_PROFILE_ATTR_POOL_ID = SAI_BUFFER_PROFILE_ATTR_START , SAI_BUFFER_PROFILE_ATTR_RESERVED_BUFFER_SIZE , SAI_BUFFER_PROFILE_ATTR_BUFFER_SIZE = SAI_BUFFER_PROFILE_ATTR_RESERVED_BUFFER_SIZE ,
  SAI_BUFFER_PROFILE_ATTR_THRESHOLD_MODE , SAI_BUFFER_PROFILE_ATTR_SHARED_DYNAMIC_TH , SAI_BUFFER_PROFILE_ATTR_SHARED_STATIC_TH , SAI_BUFFER_PROFILE_ATTR_XOFF_TH ,
  SAI_BUFFER_PROFILE_ATTR_XON_TH , SAI_BUFFER_PROFILE_ATTR_XON_OFFSET_TH , SAI_BUFFER_PROFILE_ATTR_END , SAI_BUFFER_PROFILE_ATTR_CUSTOM_RANGE_START = 0x10000000 ,
  SAI_BUFFER_PROFILE_ATTR_CUSTOM_RANGE_END
}
 Enum defining buffer profile attributes. More...
 

Detailed Description

Typedef Documentation

◆ sai_clear_buffer_pool_stats_fn

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.

Parameters
[in]buffer_pool_idBuffer pool id
[in]number_of_countersNumber of counters in the array
[in]counter_idsSpecifies the array of counter ids
Returns
SAI_STATUS_SUCCESS on success, failure status code on error

Definition at line 531 of file saibuffer.h.

◆ sai_clear_ingress_priority_group_stats_fn

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.

Parameters
[in]ingress_priority_group_idIngress priority group id
[in]number_of_countersNumber of counters in the array
[in]counter_idsSpecifies the array of counter ids
Returns
SAI_STATUS_SUCCESS on success, failure status code on error

Definition at line 231 of file saibuffer.h.

◆ sai_create_buffer_pool_fn

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.

Parameters
[out]buffer_pool_idBuffer pool id
[in]switch_idSwitch id
[in]attr_countNumber of attributes
[in]attr_listArray of attributes
Returns
SAI_STATUS_SUCCESS on success, failure status code on error

Definition at line 446 of file saibuffer.h.

◆ sai_create_buffer_profile_fn

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.

Parameters
[out]buffer_profile_idBuffer profile id
[in]switch_idSwitch object id
[in]attr_countNumber of attributes
[in]attr_listArray of attributes
Returns
SAI_STATUS_SUCCESS on success, failure status code on error

Definition at line 693 of file saibuffer.h.

◆ sai_create_ingress_priority_group_fn

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.

Parameters
[out]ingress_priority_group_idIngress priority group
[in]switch_idSwitch id
[in]attr_countNumber of attributes
[in]attr_listArray of attributes
Returns
SAI_STATUS_SUCCESS on success, failure status code on error

Definition at line 146 of file saibuffer.h.

◆ sai_get_buffer_pool_attribute_fn

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.

Parameters
[in]buffer_pool_idBuffer pool id
[in]attr_countNumber of attributes
[in,out]attr_listArray of attributes
Returns
SAI_STATUS_SUCCESS on success, failure status code on error

Definition at line 483 of file saibuffer.h.

◆ sai_get_buffer_pool_stats_ext_fn

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.

Parameters
[in]buffer_pool_idBuffer pool id
[in]number_of_countersNumber of counters in the array
[in]counter_idsSpecifies the array of counter ids
[in]modeStatistics mode
[out]countersArray of resulting counter values.
Returns
SAI_STATUS_SUCCESS on success, failure status code on error

Definition at line 515 of file saibuffer.h.

◆ sai_get_buffer_pool_stats_fn

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.

Parameters
[in]buffer_pool_idBuffer pool id
[in]number_of_countersNumber of counters in the array
[in]counter_idsSpecifies the array of counter ids
[out]countersArray of resulting counter values.
Returns
SAI_STATUS_SUCCESS on success, failure status code on error

Definition at line 498 of file saibuffer.h.

◆ sai_get_buffer_profile_attribute_fn

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.

Parameters
[in]buffer_profile_idBuffer profile id
[in]attr_countNumber of attributes
[in,out]attr_listArray of attributes
Returns
SAI_STATUS_SUCCESS on success, failure status code on error

Definition at line 730 of file saibuffer.h.

◆ sai_get_ingress_priority_group_attribute_fn

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.

Parameters
[in]ingress_priority_group_idIngress priority group id
[in]attr_countNumber of attributes
[in,out]attr_listArray of attributes
Returns
SAI_STATUS_SUCCESS on success, failure status code on error

Definition at line 183 of file saibuffer.h.

◆ sai_get_ingress_priority_group_stats_ext_fn

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.

Parameters
[in]ingress_priority_group_idIngress priority group id
[in]number_of_countersNumber of counters in the array
[in]counter_idsSpecifies the array of counter ids
[in]modeStatistics mode
[out]countersArray of resulting counter values.
Returns
SAI_STATUS_SUCCESS on success, failure status code on error

Definition at line 215 of file saibuffer.h.

◆ sai_get_ingress_priority_group_stats_fn

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.

Parameters
[in]ingress_priority_group_idIngress priority group id
[in]number_of_countersNumber of counters in the array
[in]counter_idsSpecifies the array of counter ids
[out]countersArray of resulting counter values.
Returns
SAI_STATUS_SUCCESS on success, failure status code on error

Definition at line 198 of file saibuffer.h.

◆ sai_remove_buffer_pool_fn

typedef sai_status_t(* sai_remove_buffer_pool_fn) (_In_ sai_object_id_t buffer_pool_id)

Remove buffer pool.

Parameters
[in]buffer_pool_idBuffer pool id
Returns
SAI_STATUS_SUCCESS on success, failure status code on error

Definition at line 459 of file saibuffer.h.

◆ sai_remove_buffer_profile_fn

typedef sai_status_t(* sai_remove_buffer_profile_fn) (_In_ sai_object_id_t buffer_profile_id)

Remove buffer profile.

Parameters
[in]buffer_profile_idBuffer profile id
Returns
SAI_STATUS_SUCCESS on success, failure status code on error

Definition at line 706 of file saibuffer.h.

◆ sai_remove_ingress_priority_group_fn

typedef sai_status_t(* sai_remove_ingress_priority_group_fn) (_In_ sai_object_id_t ingress_priority_group_id)

Remove ingress priority group.

Parameters
[in]ingress_priority_group_idIngress priority group id
Returns
SAI_STATUS_SUCCESS on success, failure status code on error

Definition at line 159 of file saibuffer.h.

◆ sai_set_buffer_pool_attribute_fn

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.

Parameters
[in]buffer_pool_idBuffer pool id
[in]attrAttribute
Returns
SAI_STATUS_SUCCESS on success, failure status code on error

Definition at line 470 of file saibuffer.h.

◆ sai_set_buffer_profile_attribute_fn

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.

Parameters
[in]buffer_profile_idBuffer profile id
[in]attrAttribute
Returns
SAI_STATUS_SUCCESS on success, failure status code on error

Definition at line 717 of file saibuffer.h.

◆ sai_set_ingress_priority_group_attribute_fn

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.

Parameters
[in]ingress_priority_group_idIngress priority group id
[in]attrAttribute to set
Returns
SAI_STATUS_SUCCESS on success, failure status code on error

Definition at line 170 of file saibuffer.h.

Enumeration Type Documentation

◆ _sai_buffer_pool_attr_t

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.

Value Type:
sai_uint64_t
Flags:
READ_ONLY
SAI_BUFFER_POOL_ATTR_TYPE 

Buffer pool type.

Value Type:
sai_buffer_pool_type_t
Flags:
MANDATORY_ON_CREATE | CREATE_ONLY
SAI_BUFFER_POOL_ATTR_SIZE 

Buffer pool size in bytes.

Value Type:
sai_uint64_t
Flags:
MANDATORY_ON_CREATE | CREATE_AND_SET
SAI_BUFFER_POOL_ATTR_THRESHOLD_MODE 

Shared threshold mode for the buffer.

Value Type:
sai_buffer_pool_threshold_mode_t
Flags:
CREATE_ONLY
Default value:
SAI_BUFFER_POOL_THRESHOLD_MODE_DYNAMIC
SAI_BUFFER_POOL_ATTR_TAM 

TAM id.

Value Type:
sai_object_list_t
Flags:
CREATE_AND_SET
Allowed object types
SAI_OBJECT_TYPE_TAM
Default value:
empty
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

Value Type:
sai_uint64_t
Flags:
CREATE_AND_SET
Default value:
0
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

Value Type:
sai_object_id_t
Flags:
CREATE_AND_SET
Allowed object types
SAI_OBJECT_TYPE_WRED
Allows NULL object ID
true
Default value:
SAI_NULL_OBJECT_ID
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.

◆ _sai_buffer_pool_stat_t

Enum defining statistics for buffer pool.

Enumerator
SAI_BUFFER_POOL_STAT_CURR_OCCUPANCY_BYTES 

Get current pool occupancy in bytes [uint64_t]

SAI_BUFFER_POOL_STAT_WATERMARK_BYTES 

Get watermark pool occupancy in bytes [uint64_t]

SAI_BUFFER_POOL_STAT_DROPPED_PACKETS 

Get count of packets dropped in this pool [uint64_t]

SAI_BUFFER_POOL_STAT_GREEN_WRED_DROPPED_PACKETS 

Get/set WRED green dropped packet count [uint64_t]

SAI_BUFFER_POOL_STAT_GREEN_WRED_DROPPED_BYTES 

Get/set WRED green dropped byte count [uint64_t]

SAI_BUFFER_POOL_STAT_YELLOW_WRED_DROPPED_PACKETS 

Get/set WRED yellow dropped packet count [uint64_t]

SAI_BUFFER_POOL_STAT_YELLOW_WRED_DROPPED_BYTES 

Get/set WRED yellow dropped byte count [uint64_t]

SAI_BUFFER_POOL_STAT_RED_WRED_DROPPED_PACKETS 

Get/set WRED red dropped packet count [uint64_t]

SAI_BUFFER_POOL_STAT_RED_WRED_DROPPED_BYTES 

Get/set WRED red dropped byte count [uint64_t]

SAI_BUFFER_POOL_STAT_WRED_DROPPED_PACKETS 

Get/set WRED dropped packets count [uint64_t]

SAI_BUFFER_POOL_STAT_WRED_DROPPED_BYTES 

Get/set WRED dropped bytes count [uint64_t]

SAI_BUFFER_POOL_STAT_GREEN_WRED_ECN_MARKED_PACKETS 

Get/set WRED green marked packet count [uint64_t]

SAI_BUFFER_POOL_STAT_GREEN_WRED_ECN_MARKED_BYTES 

Get/set WRED green marked byte count [uint64_t]

SAI_BUFFER_POOL_STAT_YELLOW_WRED_ECN_MARKED_PACKETS 

Get/set WRED yellow marked packet count [uint64_t]

SAI_BUFFER_POOL_STAT_YELLOW_WRED_ECN_MARKED_BYTES 

Get/set WRED yellow marked byte count [uint64_t]

SAI_BUFFER_POOL_STAT_RED_WRED_ECN_MARKED_PACKETS 

Get/set WRED red marked packet count [uint64_t]

SAI_BUFFER_POOL_STAT_RED_WRED_ECN_MARKED_BYTES 

Get/set WRED red marked byte count [uint64_t]

SAI_BUFFER_POOL_STAT_WRED_ECN_MARKED_PACKETS 

Get/set WRED marked packets count [uint64_t]

SAI_BUFFER_POOL_STAT_WRED_ECN_MARKED_BYTES 

Get/set WRED marked bytes count [uint64_t]

SAI_BUFFER_POOL_STAT_XOFF_ROOM_CURR_OCCUPANCY_BYTES 

Get current headroom pool occupancy in bytes [uint64_t]

SAI_BUFFER_POOL_STAT_XOFF_ROOM_WATERMARK_BYTES 

Get headroom pool occupancy in bytes [uint64_t]

SAI_BUFFER_POOL_STAT_CUSTOM_RANGE_BASE 

Custom range base value

Definition at line 366 of file saibuffer.h.

◆ _sai_buffer_pool_threshold_mode_t

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.

◆ _sai_buffer_pool_type_t

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.

◆ _sai_buffer_profile_attr_t

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.

Value Type:
sai_object_id_t
Flags:
MANDATORY_ON_CREATE | CREATE_ONLY
Allowed object types
SAI_OBJECT_TYPE_BUFFER_POOL
Allows NULL object ID
true
SAI_BUFFER_PROFILE_ATTR_RESERVED_BUFFER_SIZE 

Reserved buffer size in bytes.

Value Type:
sai_uint64_t
Flags:
MANDATORY_ON_CREATE | CREATE_AND_SET
SAI_BUFFER_PROFILE_ATTR_BUFFER_SIZE 
Ignored:
- for backward compatibility
SAI_BUFFER_PROFILE_ATTR_THRESHOLD_MODE 

Shared threshold mode for the buffer profile.

If set, this overrides SAI_BUFFER_POOL_ATTR_THRESHOLD_MODE.

Value Type:
sai_buffer_profile_threshold_mode_t
Flags:
MANDATORY_ON_CREATE | CREATE_ONLY
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.

Value Type:
sai_int8_t
Flags:
MANDATORY_ON_CREATE | CREATE_AND_SET
Condition:
SAI_BUFFER_PROFILE_ATTR_THRESHOLD_MODE == SAI_BUFFER_PROFILE_THRESHOLD_MODE_DYNAMIC
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.

Value Type:
sai_uint64_t
Flags:
MANDATORY_ON_CREATE | CREATE_AND_SET
Condition:
SAI_BUFFER_PROFILE_ATTR_THRESHOLD_MODE == SAI_BUFFER_PROFILE_THRESHOLD_MODE_STATIC
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.

Value Type:
sai_uint64_t
Flags:
CREATE_AND_SET
Default value:
0
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)

Value Type:
sai_uint64_t
Flags:
CREATE_AND_SET
Default value:
0
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)

Value Type:
sai_uint64_t
Flags:
CREATE_AND_SET
Default value:
0
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.

◆ _sai_buffer_profile_threshold_mode_t

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.

◆ _sai_ingress_priority_group_attr_t

Enum defining ingress priority group attributes.

Enumerator
SAI_INGRESS_PRIORITY_GROUP_ATTR_START 

Start of attributes.

SAI_INGRESS_PRIORITY_GROUP_ATTR_BUFFER_PROFILE 

Buffer profile pointer.

Default no profile

Value Type:
sai_object_id_t
Flags:
CREATE_AND_SET
Allowed object types
SAI_OBJECT_TYPE_BUFFER_PROFILE
Allows NULL object ID
true
Default value:
SAI_NULL_OBJECT_ID
SAI_INGRESS_PRIORITY_GROUP_ATTR_PORT 

Port id.

Value Type:
sai_object_id_t
Flags:
MANDATORY_ON_CREATE | CREATE_ONLY | KEY
Allowed object types
SAI_OBJECT_TYPE_PORT
SAI_INGRESS_PRIORITY_GROUP_ATTR_TAM 

TAM id.

Value Type:
sai_object_list_t
Flags:
CREATE_AND_SET
Allowed object types
SAI_OBJECT_TYPE_TAM
Default value:
empty
SAI_INGRESS_PRIORITY_GROUP_ATTR_INDEX 

PG index.

Value Type:
sai_uint8_t
Flags:
MANDATORY_ON_CREATE | CREATE_ONLY | KEY
SAI_INGRESS_PRIORITY_GROUP_ATTR_END 

End of attributes.

SAI_INGRESS_PRIORITY_GROUP_ATTR_CUSTOM_RANGE_START 

Custom range base value

SAI_INGRESS_PRIORITY_GROUP_ATTR_CUSTOM_RANGE_END 

End of custom range base

Definition at line 39 of file saibuffer.h.

◆ _sai_ingress_priority_group_stat_t

Enum defining statistics for ingress priority group.

Enumerator
SAI_INGRESS_PRIORITY_GROUP_STAT_PACKETS 

Get rx packets count [uint64_t]

SAI_INGRESS_PRIORITY_GROUP_STAT_BYTES 

Get rx bytes count [uint64_t]

SAI_INGRESS_PRIORITY_GROUP_STAT_CURR_OCCUPANCY_BYTES 

Get current pg occupancy in bytes [uint64_t]

SAI_INGRESS_PRIORITY_GROUP_STAT_WATERMARK_BYTES 

Get watermark pg occupancy in bytes [uint64_t]

SAI_INGRESS_PRIORITY_GROUP_STAT_SHARED_CURR_OCCUPANCY_BYTES 

Get current pg shared occupancy in bytes [uint64_t]

SAI_INGRESS_PRIORITY_GROUP_STAT_SHARED_WATERMARK_BYTES 

Get watermark pg shared occupancy in bytes [uint64_t]

SAI_INGRESS_PRIORITY_GROUP_STAT_XOFF_ROOM_CURR_OCCUPANCY_BYTES 

Get current pg XOFF room occupancy in bytes [uint64_t]

SAI_INGRESS_PRIORITY_GROUP_STAT_XOFF_ROOM_WATERMARK_BYTES 

Get watermark pg XOFF room occupancy in bytes [uint64_t]

SAI_INGRESS_PRIORITY_GROUP_STAT_DROPPED_PACKETS 

Get dropped packets count [uint64_t]

SAI_INGRESS_PRIORITY_GROUP_STAT_CUSTOM_RANGE_BASE 

Custom range base value

Definition at line 102 of file saibuffer.h.