SAI Metadata
Loading...
Searching...
No Matches
saiqueue.h File Reference

This module defines SAI QOS Queue interface. More...

#include <saitypes.h>

Go to the source code of this file.

Classes

struct  _sai_queue_deadlock_notification_data_t
 Notification data format received from SAI queue deadlock event callback. More...
 
struct  _sai_queue_api_t
 QOS methods table retrieved with sai_api_query() More...
 

Typedefs

typedef enum _sai_queue_type_t sai_queue_type_t
 Enum defining Queue types.
 
typedef enum _sai_queue_pfc_continuous_deadlock_state_t sai_queue_pfc_continuous_deadlock_state_t
 Enum defining queue PFC continuous deadlock state.
 
typedef enum _sai_queue_attr_t sai_queue_attr_t
 Enum defining queue attributes.
 
typedef enum _sai_queue_stat_t sai_queue_stat_t
 Enum defining statistics for Queue.
 
typedef enum _sai_queue_pfc_deadlock_event_type_t sai_queue_pfc_deadlock_event_type_t
 Enum defining Queue deadlock event state.
 
typedef struct _sai_queue_deadlock_notification_data_t sai_queue_deadlock_notification_data_t
 Notification data format received from SAI queue deadlock event callback.
 
typedef 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.
 
typedef sai_status_t(* sai_remove_queue_fn) (_In_ sai_object_id_t queue_id)
 Remove queue.
 
typedef 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.
 
typedef 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.
 
typedef 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.
 
typedef 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.
 
typedef 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.
 
typedef 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.
 
typedef struct _sai_queue_api_t sai_queue_api_t
 QOS methods table retrieved with sai_api_query()
 

Enumerations

enum  _sai_queue_type_t {
  SAI_QUEUE_TYPE_ALL = 0x00000000 , SAI_QUEUE_TYPE_UNICAST = 0x00000001 , SAI_QUEUE_TYPE_MULTICAST = 0x00000002 , SAI_QUEUE_TYPE_UNICAST_VOQ = 0x00000003 ,
  SAI_QUEUE_TYPE_MULTICAST_VOQ = 0x00000004 , SAI_QUEUE_TYPE_FABRIC_TX = 0x00000005 , SAI_QUEUE_TYPE_CUSTOM_RANGE_BASE = 0x10000000
}
 Enum defining Queue types. More...
 
enum  _sai_queue_pfc_continuous_deadlock_state_t { SAI_QUEUE_PFC_CONTINUOUS_DEADLOCK_STATE_NOT_PAUSED = 0x00000000 , SAI_QUEUE_PFC_CONTINUOUS_DEADLOCK_STATE_PAUSED = 0x00000001 , SAI_QUEUE_PFC_CONTINUOUS_DEADLOCK_STATE_PAUSED_NOT_CONTINUOUS = 0x00000002 }
 Enum defining queue PFC continuous deadlock state. More...
 
enum  _sai_queue_attr_t {
  SAI_QUEUE_ATTR_START = 0x00000000 , SAI_QUEUE_ATTR_TYPE = SAI_QUEUE_ATTR_START , SAI_QUEUE_ATTR_PORT = 0x00000001 , SAI_QUEUE_ATTR_INDEX = 0x00000002 ,
  SAI_QUEUE_ATTR_PARENT_SCHEDULER_NODE = 0x00000003 , SAI_QUEUE_ATTR_WRED_PROFILE_ID = 0x00000004 , SAI_QUEUE_ATTR_BUFFER_PROFILE_ID = 0x00000005 , SAI_QUEUE_ATTR_SCHEDULER_PROFILE_ID = 0x00000006 ,
  SAI_QUEUE_ATTR_PAUSE_STATUS = 0x00000007 , SAI_QUEUE_ATTR_ENABLE_PFC_DLDR = 0x00000008 , SAI_QUEUE_ATTR_PFC_DLR_INIT = 0x00000009 , SAI_QUEUE_ATTR_TAM_OBJECT ,
  SAI_QUEUE_ATTR_PFC_DLR_PACKET_ACTION , SAI_QUEUE_ATTR_PFC_CONTINUOUS_DEADLOCK_STATE , SAI_QUEUE_ATTR_END , SAI_QUEUE_ATTR_CUSTOM_RANGE_START = 0x10000000 ,
  SAI_QUEUE_ATTR_CUSTOM_RANGE_END
}
 Enum defining queue attributes. More...
 
enum  _sai_queue_stat_t {
  SAI_QUEUE_STAT_PACKETS = 0x00000000 , SAI_QUEUE_STAT_BYTES = 0x00000001 , SAI_QUEUE_STAT_DROPPED_PACKETS = 0x00000002 , SAI_QUEUE_STAT_DROPPED_BYTES = 0x00000003 ,
  SAI_QUEUE_STAT_GREEN_PACKETS = 0x00000004 , SAI_QUEUE_STAT_GREEN_BYTES = 0x00000005 , SAI_QUEUE_STAT_GREEN_DROPPED_PACKETS = 0x00000006 , SAI_QUEUE_STAT_GREEN_DROPPED_BYTES = 0x00000007 ,
  SAI_QUEUE_STAT_YELLOW_PACKETS = 0x00000008 , SAI_QUEUE_STAT_YELLOW_BYTES = 0x00000009 , SAI_QUEUE_STAT_YELLOW_DROPPED_PACKETS = 0x0000000a , SAI_QUEUE_STAT_YELLOW_DROPPED_BYTES = 0x0000000b ,
  SAI_QUEUE_STAT_RED_PACKETS = 0x0000000c , SAI_QUEUE_STAT_RED_BYTES = 0x0000000d , SAI_QUEUE_STAT_RED_DROPPED_PACKETS = 0x0000000e , SAI_QUEUE_STAT_RED_DROPPED_BYTES = 0x0000000f ,
  SAI_QUEUE_STAT_GREEN_WRED_DROPPED_PACKETS = 0x00000010 , SAI_QUEUE_STAT_GREEN_WRED_DROPPED_BYTES = 0x00000011 , SAI_QUEUE_STAT_YELLOW_WRED_DROPPED_PACKETS = 0x00000012 , SAI_QUEUE_STAT_YELLOW_WRED_DROPPED_BYTES = 0x00000013 ,
  SAI_QUEUE_STAT_RED_WRED_DROPPED_PACKETS = 0x00000014 , SAI_QUEUE_STAT_RED_WRED_DROPPED_BYTES = 0x00000015 , SAI_QUEUE_STAT_WRED_DROPPED_PACKETS = 0x00000016 , SAI_QUEUE_STAT_WRED_DROPPED_BYTES = 0x00000017 ,
  SAI_QUEUE_STAT_CURR_OCCUPANCY_BYTES = 0x00000018 , SAI_QUEUE_STAT_WATERMARK_BYTES = 0x00000019 , SAI_QUEUE_STAT_SHARED_CURR_OCCUPANCY_BYTES = 0x0000001a , SAI_QUEUE_STAT_SHARED_WATERMARK_BYTES = 0x0000001b ,
  SAI_QUEUE_STAT_GREEN_WRED_ECN_MARKED_PACKETS = 0x0000001c , SAI_QUEUE_STAT_GREEN_WRED_ECN_MARKED_BYTES = 0x0000001d , SAI_QUEUE_STAT_YELLOW_WRED_ECN_MARKED_PACKETS = 0x0000001e , SAI_QUEUE_STAT_YELLOW_WRED_ECN_MARKED_BYTES = 0x0000001f ,
  SAI_QUEUE_STAT_RED_WRED_ECN_MARKED_PACKETS = 0x00000020 , SAI_QUEUE_STAT_RED_WRED_ECN_MARKED_BYTES = 0x00000021 , SAI_QUEUE_STAT_WRED_ECN_MARKED_PACKETS = 0x00000022 , SAI_QUEUE_STAT_WRED_ECN_MARKED_BYTES = 0x00000023 ,
  SAI_QUEUE_STAT_CURR_OCCUPANCY_LEVEL = 0x00000024 , SAI_QUEUE_STAT_WATERMARK_LEVEL = 0x00000025 , SAI_QUEUE_STAT_CREDIT_WD_DELETED_PACKETS = 0x00000026 , SAI_QUEUE_STAT_CUSTOM_RANGE_BASE = 0x10000000
}
 Enum defining statistics for Queue. More...
 
enum  _sai_queue_pfc_deadlock_event_type_t { SAI_QUEUE_PFC_DEADLOCK_EVENT_TYPE_DETECTED , SAI_QUEUE_PFC_DEADLOCK_EVENT_TYPE_RECOVERED }
 Enum defining Queue deadlock event state. More...
 

Detailed Description

This module defines SAI QOS Queue interface.

Copyright (c) 2014 Microsoft Open Technologies, Inc.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0

THIS CODE IS PROVIDED ON AN AS IS BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABILITY OR NON-INFRINGEMENT.

See the Apache Version 2.0 License for specific language governing permissions and limitations under the License.

Microsoft would like to thank the following companies for their review and assistance with these files: Intel Corporation, Mellanox Technologies Ltd, Dell Products, L.P., Facebook, Inc., Marvell International Ltd.

Definition in file saiqueue.h.