SAI Metadata
Loading...
Searching...
No Matches
SAI - QOS scheduler group specific API definitions

Classes

struct  _sai_scheduler_group_api_t
 Scheduler Group methods table retrieved with sai_api_query() More...
 

Typedefs

typedef enum _sai_scheduler_group_attr_t sai_scheduler_group_attr_t
 Enum defining scheduler group attributes.
 
typedef sai_status_t(* sai_create_scheduler_group_fn) (_Out_ sai_object_id_t *scheduler_group_id, _In_ sai_object_id_t switch_id, _In_ uint32_t attr_count, _In_ const sai_attribute_t *attr_list)
 Create Scheduler group.
 
typedef sai_status_t(* sai_remove_scheduler_group_fn) (_In_ sai_object_id_t scheduler_group_id)
 Remove Scheduler group.
 
typedef sai_status_t(* sai_set_scheduler_group_attribute_fn) (_In_ sai_object_id_t scheduler_group_id, _In_ const sai_attribute_t *attr)
 Set Scheduler group Attribute.
 
typedef sai_status_t(* sai_get_scheduler_group_attribute_fn) (_In_ sai_object_id_t scheduler_group_id, _In_ uint32_t attr_count, _Inout_ sai_attribute_t *attr_list)
 Get Scheduler Group attribute.
 
typedef struct _sai_scheduler_group_api_t sai_scheduler_group_api_t
 Scheduler Group methods table retrieved with sai_api_query()
 

Enumerations

enum  _sai_scheduler_group_attr_t {
  SAI_SCHEDULER_GROUP_ATTR_START = 0x00000000 , SAI_SCHEDULER_GROUP_ATTR_CHILD_COUNT = SAI_SCHEDULER_GROUP_ATTR_START , SAI_SCHEDULER_GROUP_ATTR_CHILD_LIST = 0x00000001 , SAI_SCHEDULER_GROUP_ATTR_PORT_ID = 0x00000002 ,
  SAI_SCHEDULER_GROUP_ATTR_LEVEL = 0x00000003 , SAI_SCHEDULER_GROUP_ATTR_MAX_CHILDS = 0x00000004 , SAI_SCHEDULER_GROUP_ATTR_SCHEDULER_PROFILE_ID = 0x00000005 , SAI_SCHEDULER_GROUP_ATTR_PARENT_NODE = 0x00000006 ,
  SAI_SCHEDULER_GROUP_ATTR_END , SAI_SCHEDULER_GROUP_ATTR_CUSTOM_RANGE_START = 0x10000000 , SAI_SCHEDULER_GROUP_ATTR_CUSTOM_RANGE_END
}
 Enum defining scheduler group attributes. More...
 

Detailed Description

Typedef Documentation

◆ sai_create_scheduler_group_fn

typedef sai_status_t(* sai_create_scheduler_group_fn) (_Out_ sai_object_id_t *scheduler_group_id, _In_ sai_object_id_t switch_id, _In_ uint32_t attr_count, _In_ const sai_attribute_t *attr_list)

Create Scheduler group.

Parameters
[out]scheduler_group_idScheduler group id
[in]switch_idThe Switch 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 133 of file saischedulergroup.h.

◆ sai_get_scheduler_group_attribute_fn

typedef sai_status_t(* sai_get_scheduler_group_attribute_fn) (_In_ sai_object_id_t scheduler_group_id, _In_ uint32_t attr_count, _Inout_ sai_attribute_t *attr_list)

Get Scheduler Group attribute.

Parameters
[in]scheduler_group_idScheduler 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 170 of file saischedulergroup.h.

◆ sai_remove_scheduler_group_fn

typedef sai_status_t(* sai_remove_scheduler_group_fn) (_In_ sai_object_id_t scheduler_group_id)

Remove Scheduler group.

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

Definition at line 146 of file saischedulergroup.h.

◆ sai_set_scheduler_group_attribute_fn

typedef sai_status_t(* sai_set_scheduler_group_attribute_fn) (_In_ sai_object_id_t scheduler_group_id, _In_ const sai_attribute_t *attr)

Set Scheduler group Attribute.

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

Definition at line 157 of file saischedulergroup.h.

Enumeration Type Documentation

◆ _sai_scheduler_group_attr_t

Enum defining scheduler group attributes.

Enumerator
SAI_SCHEDULER_GROUP_ATTR_START 

Start of attributes.

SAI_SCHEDULER_GROUP_ATTR_CHILD_COUNT 

Number of queues/groups childs added to scheduler.

Value Type:
sai_uint32_t
Flags:
READ_ONLY
SAI_SCHEDULER_GROUP_ATTR_CHILD_LIST 

Scheduler Group child object id list.

Value Type:
sai_object_list_t
Flags:
READ_ONLY
Allowed object types
SAI_OBJECT_TYPE_SCHEDULER_GROUP, SAI_OBJECT_TYPE_QUEUE
SAI_SCHEDULER_GROUP_ATTR_PORT_ID 

Scheduler group on port.

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

Scheduler group level.

Value Type:
sai_uint8_t
Flags:
MANDATORY_ON_CREATE | CREATE_ONLY
SAI_SCHEDULER_GROUP_ATTR_MAX_CHILDS 

Maximum Number of childs on group.

Value Type:
sai_uint8_t
Flags:
MANDATORY_ON_CREATE | CREATE_ONLY
SAI_SCHEDULER_GROUP_ATTR_SCHEDULER_PROFILE_ID 

Scheduler id.

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

Scheduler group parent node.

This is conditional when the level > 0, when level == 0, the parent is the port.

Value Type:
sai_object_id_t
Flags:
MANDATORY_ON_CREATE | CREATE_AND_SET
Allowed object types
SAI_OBJECT_TYPE_SCHEDULER_GROUP, SAI_OBJECT_TYPE_PORT
SAI_SCHEDULER_GROUP_ATTR_END 

End of attributes.

SAI_SCHEDULER_GROUP_ATTR_CUSTOM_RANGE_START 

Custom range base value

SAI_SCHEDULER_GROUP_ATTR_CUSTOM_RANGE_END 

End of custom range base

Definition at line 39 of file saischedulergroup.h.