SAI Metadata
Loading...
Searching...
No Matches
saiqueue.h
Go to the documentation of this file.
1
25#if !defined (__SAIQUEUE_H_)
26#define __SAIQUEUE_H_
27
28#include <saitypes.h>
29
40{
42 SAI_QUEUE_TYPE_ALL = 0x00000000,
43
46
49
52
55
58
61
63
68{
76
86
96
98
103{
108
109 /* READ-ONLY */
110
118
127
135
148
149 /* READ-WRITE */
150
163
174
185
196
209
221
231
242
260
265
268
271
273
278{
281
284
287
290
293
296
299
302
305
308
311
314
317
320
323
326
329
332
335
338
341
344
347
350
353
356
359
362
365
368
371
374
377
380
383
386
389
392
395
398
400
405{
408
411
413
418{
424 sai_object_id_t queue_id;
425
428
439
441
452typedef sai_status_t (*sai_create_queue_fn)(
453 _Out_ sai_object_id_t *queue_id,
454 _In_ sai_object_id_t switch_id,
455 _In_ uint32_t attr_count,
456 _In_ const sai_attribute_t *attr_list);
457
465typedef sai_status_t (*sai_remove_queue_fn)(
466 _In_ sai_object_id_t queue_id);
467
476typedef sai_status_t (*sai_set_queue_attribute_fn)(
477 _In_ sai_object_id_t queue_id,
478 _In_ const sai_attribute_t *attr);
479
489typedef sai_status_t (*sai_get_queue_attribute_fn)(
490 _In_ sai_object_id_t queue_id,
491 _In_ uint32_t attr_count,
492 _Inout_ sai_attribute_t *attr_list);
493
504typedef sai_status_t (*sai_get_queue_stats_fn)(
505 _In_ sai_object_id_t queue_id,
506 _In_ uint32_t number_of_counters,
507 _In_ const sai_stat_id_t *counter_ids,
508 _Out_ uint64_t *counters);
509
521typedef sai_status_t (*sai_get_queue_stats_ext_fn)(
522 _In_ sai_object_id_t queue_id,
523 _In_ uint32_t number_of_counters,
524 _In_ const sai_stat_id_t *counter_ids,
525 _In_ sai_stats_mode_t mode,
526 _Out_ uint64_t *counters);
527
537typedef sai_status_t (*sai_clear_queue_stats_fn)(
538 _In_ sai_object_id_t queue_id,
539 _In_ uint32_t number_of_counters,
540 _In_ const sai_stat_id_t *counter_ids);
541
553 _In_ uint32_t count,
555
559typedef struct _sai_queue_api_t
560{
561 sai_create_queue_fn create_queue;
562 sai_remove_queue_fn remove_queue;
563 sai_set_queue_attribute_fn set_queue_attribute;
564 sai_get_queue_attribute_fn get_queue_attribute;
565 sai_get_queue_stats_fn get_queue_stats;
566 sai_get_queue_stats_ext_fn get_queue_stats_ext;
567 sai_clear_queue_stats_fn clear_queue_stats;
568
570
574#endif
enum _sai_queue_type_t sai_queue_type_t
Enum defining Queue types.
_sai_queue_pfc_deadlock_event_type_t
Enum defining Queue deadlock event state.
Definition saiqueue.h:405
enum _sai_queue_stat_t sai_queue_stat_t
Enum defining statistics for Queue.
_sai_queue_attr_t
Enum defining queue attributes.
Definition saiqueue.h:103
enum _sai_queue_pfc_continuous_deadlock_state_t sai_queue_pfc_continuous_deadlock_state_t
Enum defining queue PFC continuous deadlock state.
_sai_queue_pfc_continuous_deadlock_state_t
Enum defining queue PFC continuous deadlock state.
Definition saiqueue.h:68
enum _sai_queue_attr_t sai_queue_attr_t
Enum defining queue attributes.
sai_status_t(* sai_set_queue_attribute_fn)(_In_ sai_object_id_t queue_id, _In_ const sai_attribute_t *attr)
Set attribute to Queue.
Definition saiqueue.h:476
enum _sai_queue_pfc_deadlock_event_type_t sai_queue_pfc_deadlock_event_type_t
Enum defining Queue deadlock event state.
struct _sai_queue_deadlock_notification_data_t sai_queue_deadlock_notification_data_t
Notification data format received from SAI queue deadlock event callback.
sai_status_t(* sai_clear_queue_stats_fn)(_In_ sai_object_id_t queue_id, _In_ uint32_t number_of_counters, _In_ const sai_stat_id_t *counter_ids)
Clear queue statistics counters.
Definition saiqueue.h:537
struct _sai_queue_api_t sai_queue_api_t
QOS methods table retrieved with sai_api_query()
sai_status_t(* sai_create_queue_fn)(_Out_ sai_object_id_t *queue_id, _In_ sai_object_id_t switch_id, _In_ uint32_t attr_count, _In_ const sai_attribute_t *attr_list)
Create queue.
Definition saiqueue.h:452
_sai_queue_stat_t
Enum defining statistics for Queue.
Definition saiqueue.h:278
sai_status_t(* sai_get_queue_attribute_fn)(_In_ sai_object_id_t queue_id, _In_ uint32_t attr_count, _Inout_ sai_attribute_t *attr_list)
Get attribute to Queue.
Definition saiqueue.h:489
_sai_queue_type_t
Enum defining Queue types.
Definition saiqueue.h:40
sai_status_t(* sai_remove_queue_fn)(_In_ sai_object_id_t queue_id)
Remove queue.
Definition saiqueue.h:465
sai_status_t(* sai_get_queue_stats_fn)(_In_ sai_object_id_t queue_id, _In_ uint32_t number_of_counters, _In_ const sai_stat_id_t *counter_ids, _Out_ uint64_t *counters)
Get queue statistics counters. Deprecated for backward compatibility.
Definition saiqueue.h:504
void(* sai_queue_pfc_deadlock_notification_fn)(_In_ uint32_t count, _In_ const sai_queue_deadlock_notification_data_t *data)
Queue PFC deadlock event notification.
Definition saiqueue.h:552
sai_status_t(* sai_get_queue_stats_ext_fn)(_In_ sai_object_id_t queue_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 queue statistics counters extended.
Definition saiqueue.h:521
@ SAI_QUEUE_PFC_DEADLOCK_EVENT_TYPE_RECOVERED
Definition saiqueue.h:410
@ SAI_QUEUE_PFC_DEADLOCK_EVENT_TYPE_DETECTED
Definition saiqueue.h:407
@ SAI_QUEUE_ATTR_ENABLE_PFC_DLDR
Enable PFC Deadlock Detection and Recovery (DLDR) on a lossless queue.
Definition saiqueue.h:208
@ SAI_QUEUE_ATTR_CUSTOM_RANGE_END
Definition saiqueue.h:270
@ SAI_QUEUE_ATTR_WRED_PROFILE_ID
Attach WRED ID to queue.
Definition saiqueue.h:162
@ SAI_QUEUE_ATTR_CUSTOM_RANGE_START
Definition saiqueue.h:267
@ SAI_QUEUE_ATTR_START
Start of attributes.
Definition saiqueue.h:107
@ SAI_QUEUE_ATTR_PORT
Port id.
Definition saiqueue.h:126
@ SAI_QUEUE_ATTR_PFC_DLR_PACKET_ACTION
Control for buffered and incoming packets on a queue undergoing PFC Deadlock Recovery.
Definition saiqueue.h:241
@ SAI_QUEUE_ATTR_TAM_OBJECT
Queue bind point for TAM object.
Definition saiqueue.h:230
@ SAI_QUEUE_ATTR_END
End of attributes.
Definition saiqueue.h:264
@ SAI_QUEUE_ATTR_BUFFER_PROFILE_ID
Attach buffer profile to queue.
Definition saiqueue.h:173
@ SAI_QUEUE_ATTR_PARENT_SCHEDULER_NODE
Parent scheduler node.
Definition saiqueue.h:147
@ SAI_QUEUE_ATTR_TYPE
Queue type.
Definition saiqueue.h:117
@ SAI_QUEUE_ATTR_SCHEDULER_PROFILE_ID
Attach scheduler to queue.
Definition saiqueue.h:184
@ SAI_QUEUE_ATTR_INDEX
Queue index.
Definition saiqueue.h:134
@ SAI_QUEUE_ATTR_PFC_CONTINUOUS_DEADLOCK_STATE
Queue PFC continuous deadlock state.
Definition saiqueue.h:259
@ SAI_QUEUE_ATTR_PFC_DLR_INIT
Start PFC deadlock recovery on a lossless queue.
Definition saiqueue.h:220
@ SAI_QUEUE_ATTR_PAUSE_STATUS
Queue pause status.
Definition saiqueue.h:195
@ SAI_QUEUE_PFC_CONTINUOUS_DEADLOCK_STATE_NOT_PAUSED
PFC continuous deadlock state not paused.
Definition saiqueue.h:75
@ SAI_QUEUE_PFC_CONTINUOUS_DEADLOCK_STATE_PAUSED_NOT_CONTINUOUS
PFC continuous deadlock state paused, but not continuously.
Definition saiqueue.h:95
@ SAI_QUEUE_PFC_CONTINUOUS_DEADLOCK_STATE_PAUSED
PFC continuous deadlock state paused.
Definition saiqueue.h:85
@ SAI_QUEUE_STAT_RED_PACKETS
Definition saiqueue.h:316
@ SAI_QUEUE_STAT_BYTES
Definition saiqueue.h:283
@ SAI_QUEUE_STAT_RED_WRED_ECN_MARKED_BYTES
Definition saiqueue.h:379
@ SAI_QUEUE_STAT_GREEN_WRED_ECN_MARKED_PACKETS
Definition saiqueue.h:364
@ SAI_QUEUE_STAT_WRED_DROPPED_PACKETS
Definition saiqueue.h:346
@ SAI_QUEUE_STAT_DROPPED_BYTES
Definition saiqueue.h:289
@ SAI_QUEUE_STAT_YELLOW_WRED_DROPPED_BYTES
Definition saiqueue.h:337
@ SAI_QUEUE_STAT_GREEN_WRED_DROPPED_BYTES
Definition saiqueue.h:331
@ SAI_QUEUE_STAT_YELLOW_WRED_ECN_MARKED_PACKETS
Definition saiqueue.h:370
@ SAI_QUEUE_STAT_GREEN_DROPPED_BYTES
Definition saiqueue.h:301
@ SAI_QUEUE_STAT_WRED_ECN_MARKED_BYTES
Definition saiqueue.h:385
@ SAI_QUEUE_STAT_GREEN_PACKETS
Definition saiqueue.h:292
@ SAI_QUEUE_STAT_SHARED_CURR_OCCUPANCY_BYTES
Definition saiqueue.h:358
@ SAI_QUEUE_STAT_CURR_OCCUPANCY_BYTES
Definition saiqueue.h:352
@ SAI_QUEUE_STAT_RED_WRED_DROPPED_BYTES
Definition saiqueue.h:343
@ SAI_QUEUE_STAT_YELLOW_DROPPED_PACKETS
Definition saiqueue.h:310
@ SAI_QUEUE_STAT_CURR_OCCUPANCY_LEVEL
Definition saiqueue.h:388
@ SAI_QUEUE_STAT_PACKETS
Definition saiqueue.h:280
@ SAI_QUEUE_STAT_YELLOW_BYTES
Definition saiqueue.h:307
@ SAI_QUEUE_STAT_DROPPED_PACKETS
Definition saiqueue.h:286
@ SAI_QUEUE_STAT_YELLOW_WRED_DROPPED_PACKETS
Definition saiqueue.h:334
@ SAI_QUEUE_STAT_RED_BYTES
Definition saiqueue.h:319
@ SAI_QUEUE_STAT_WATERMARK_LEVEL
Definition saiqueue.h:391
@ SAI_QUEUE_STAT_GREEN_WRED_DROPPED_PACKETS
Definition saiqueue.h:328
@ SAI_QUEUE_STAT_WRED_ECN_MARKED_PACKETS
Definition saiqueue.h:382
@ SAI_QUEUE_STAT_YELLOW_WRED_ECN_MARKED_BYTES
Definition saiqueue.h:373
@ SAI_QUEUE_STAT_YELLOW_DROPPED_BYTES
Definition saiqueue.h:313
@ SAI_QUEUE_STAT_RED_DROPPED_BYTES
Definition saiqueue.h:325
@ SAI_QUEUE_STAT_WATERMARK_BYTES
Definition saiqueue.h:355
@ SAI_QUEUE_STAT_RED_WRED_ECN_MARKED_PACKETS
Definition saiqueue.h:376
@ SAI_QUEUE_STAT_GREEN_DROPPED_PACKETS
Definition saiqueue.h:298
@ SAI_QUEUE_STAT_SHARED_WATERMARK_BYTES
Definition saiqueue.h:361
@ SAI_QUEUE_STAT_GREEN_BYTES
Definition saiqueue.h:295
@ SAI_QUEUE_STAT_YELLOW_PACKETS
Definition saiqueue.h:304
@ SAI_QUEUE_STAT_CUSTOM_RANGE_BASE
Definition saiqueue.h:397
@ SAI_QUEUE_STAT_CREDIT_WD_DELETED_PACKETS
Definition saiqueue.h:394
@ SAI_QUEUE_STAT_WRED_DROPPED_BYTES
Definition saiqueue.h:349
@ SAI_QUEUE_STAT_RED_DROPPED_PACKETS
Definition saiqueue.h:322
@ SAI_QUEUE_STAT_GREEN_WRED_ECN_MARKED_BYTES
Definition saiqueue.h:367
@ SAI_QUEUE_STAT_RED_WRED_DROPPED_PACKETS
Definition saiqueue.h:340
@ SAI_QUEUE_TYPE_MULTICAST_VOQ
Definition saiqueue.h:54
@ SAI_QUEUE_TYPE_FABRIC_TX
Definition saiqueue.h:57
@ SAI_QUEUE_TYPE_ALL
Definition saiqueue.h:42
@ SAI_QUEUE_TYPE_UNICAST
Definition saiqueue.h:45
@ SAI_QUEUE_TYPE_MULTICAST
Definition saiqueue.h:48
@ SAI_QUEUE_TYPE_UNICAST_VOQ
Definition saiqueue.h:51
@ SAI_QUEUE_TYPE_CUSTOM_RANGE_BASE
Definition saiqueue.h:60
enum _sai_stats_mode_t sai_stats_mode_t
SAI statistics modes.
This module defines SAI portable types.
QOS methods table retrieved with sai_api_query()
Definition saiqueue.h:560
Notification data format received from SAI queue deadlock event callback.
Definition saiqueue.h:418
sai_queue_pfc_deadlock_event_type_t event
Definition saiqueue.h:427
bool app_managed_recovery
Application based recovery management indicator.
Definition saiqueue.h:438
sai_object_id_t queue_id
Queue id.
Definition saiqueue.h:424