SAI Metadata
Loading...
Searching...
No Matches
saipolicer.h
Go to the documentation of this file.
1
25#if !defined (__SAIPOLICER_H_)
26#define __SAIPOLICER_H_
27
28#include <saitypes.h>
29
40{
43
46
49
51
56{
59
62
65
68
70
75{
78
81
84
86
91{
96
104
112
121
131
141
151
162
171
180
191
202
211
216
219
222
224
229{
232
235
238
241
244
247
250
253
256
258
269typedef sai_status_t (*sai_create_policer_fn)(
270 _Out_ sai_object_id_t *policer_id,
271 _In_ sai_object_id_t switch_id,
272 _In_ uint32_t attr_count,
273 _In_ const sai_attribute_t *attr_list);
274
282typedef sai_status_t (*sai_remove_policer_fn)(
283 _In_ sai_object_id_t policer_id);
284
293typedef sai_status_t (*sai_set_policer_attribute_fn)(
294 _In_ sai_object_id_t policer_id,
295 _In_ const sai_attribute_t *attr);
296
306typedef sai_status_t (*sai_get_policer_attribute_fn)(
307 _In_ sai_object_id_t policer_id,
308 _In_ uint32_t attr_count,
309 _Inout_ sai_attribute_t *attr_list);
310
321typedef sai_status_t (*sai_get_policer_stats_fn)(
322 _In_ sai_object_id_t policer_id,
323 _In_ uint32_t number_of_counters,
324 _In_ const sai_stat_id_t *counter_ids,
325 _Out_ uint64_t *counters);
326
338typedef sai_status_t (*sai_get_policer_stats_ext_fn)(
339 _In_ sai_object_id_t policer_id,
340 _In_ uint32_t number_of_counters,
341 _In_ const sai_stat_id_t *counter_ids,
342 _In_ sai_stats_mode_t mode,
343 _Out_ uint64_t *counters);
344
354typedef sai_status_t (*sai_clear_policer_stats_fn)(
355 _In_ sai_object_id_t policer_id,
356 _In_ uint32_t number_of_counters,
357 _In_ const sai_stat_id_t *counter_ids);
358
362typedef struct _sai_policer_api_t
363{
364 sai_create_policer_fn create_policer;
365 sai_remove_policer_fn remove_policer;
366 sai_set_policer_attribute_fn set_policer_attribute;
367 sai_get_policer_attribute_fn get_policer_attribute;
368 sai_get_policer_stats_fn get_policer_stats;
369 sai_get_policer_stats_ext_fn get_policer_stats_ext;
370 sai_clear_policer_stats_fn clear_policer_stats;
371
373
377#endif
_sai_policer_color_source_t
Enum defining Policer color source.
Definition saipolicer.h:75
enum _sai_policer_stat_t sai_policer_stat_t
Enum defining policer statistics.
sai_status_t(* sai_get_policer_attribute_fn)(_In_ sai_object_id_t policer_id, _In_ uint32_t attr_count, _Inout_ sai_attribute_t *attr_list)
Get Policer attribute.
Definition saipolicer.h:306
struct _sai_policer_api_t sai_policer_api_t
Policer methods table retrieved with sai_api_query()
_sai_meter_type_t
Enum defining types of meters.
Definition saipolicer.h:40
sai_status_t(* sai_set_policer_attribute_fn)(_In_ sai_object_id_t policer_id, _In_ const sai_attribute_t *attr)
Set Policer attribute.
Definition saipolicer.h:293
_sai_policer_mode_t
Enum defining mode of the policer object.
Definition saipolicer.h:56
sai_status_t(* sai_create_policer_fn)(_Out_ sai_object_id_t *policer_id, _In_ sai_object_id_t switch_id, _In_ uint32_t attr_count, _In_ const sai_attribute_t *attr_list)
Create Policer.
Definition saipolicer.h:269
sai_status_t(* sai_get_policer_stats_fn)(_In_ sai_object_id_t policer_id, _In_ uint32_t number_of_counters, _In_ const sai_stat_id_t *counter_ids, _Out_ uint64_t *counters)
Get Policer Statistics. Deprecated for backward compatibility.
Definition saipolicer.h:321
_sai_policer_stat_t
Enum defining policer statistics.
Definition saipolicer.h:229
sai_status_t(* sai_get_policer_stats_ext_fn)(_In_ sai_object_id_t policer_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 Policer Statistics extended.
Definition saipolicer.h:338
enum _sai_policer_attr_t sai_policer_attr_t
Enum defining Policer Attributes.
enum _sai_meter_type_t sai_meter_type_t
Enum defining types of meters.
enum _sai_policer_mode_t sai_policer_mode_t
Enum defining mode of the policer object.
_sai_policer_attr_t
Enum defining Policer Attributes.
Definition saipolicer.h:91
sai_status_t(* sai_remove_policer_fn)(_In_ sai_object_id_t policer_id)
Delete policer.
Definition saipolicer.h:282
enum _sai_policer_color_source_t sai_policer_color_source_t
Enum defining Policer color source.
sai_status_t(* sai_clear_policer_stats_fn)(_In_ sai_object_id_t policer_id, _In_ uint32_t number_of_counters, _In_ const sai_stat_id_t *counter_ids)
Clear Policer statistics counters.
Definition saipolicer.h:354
@ SAI_POLICER_COLOR_SOURCE_AWARE
Definition saipolicer.h:80
@ SAI_POLICER_COLOR_SOURCE_CUSTOM_RANGE_BASE
Definition saipolicer.h:83
@ SAI_POLICER_COLOR_SOURCE_BLIND
Definition saipolicer.h:77
@ SAI_METER_TYPE_CUSTOM_RANGE_BASE
Definition saipolicer.h:48
@ SAI_METER_TYPE_BYTES
Definition saipolicer.h:45
@ SAI_METER_TYPE_PACKETS
Definition saipolicer.h:42
@ SAI_POLICER_MODE_CUSTOM_RANGE_BASE
Definition saipolicer.h:67
@ SAI_POLICER_MODE_SR_TCM
Definition saipolicer.h:58
@ SAI_POLICER_MODE_STORM_CONTROL
Definition saipolicer.h:64
@ SAI_POLICER_MODE_TR_TCM
Definition saipolicer.h:61
@ SAI_POLICER_STAT_CUSTOM_RANGE_BASE
Definition saipolicer.h:255
@ SAI_POLICER_STAT_YELLOW_PACKETS
Definition saipolicer.h:243
@ SAI_POLICER_STAT_YELLOW_BYTES
Definition saipolicer.h:246
@ SAI_POLICER_STAT_GREEN_PACKETS
Definition saipolicer.h:237
@ SAI_POLICER_STAT_RED_PACKETS
Definition saipolicer.h:249
@ SAI_POLICER_STAT_PACKETS
Definition saipolicer.h:231
@ SAI_POLICER_STAT_GREEN_BYTES
Definition saipolicer.h:240
@ SAI_POLICER_STAT_ATTR_BYTES
Definition saipolicer.h:234
@ SAI_POLICER_STAT_RED_BYTES
Definition saipolicer.h:252
@ SAI_POLICER_ATTR_RED_PACKET_ACTION
Action to take for RED color packets.
Definition saipolicer.h:190
@ SAI_POLICER_ATTR_MODE
Policer mode.
Definition saipolicer.h:111
@ SAI_POLICER_ATTR_START
Start of attributes.
Definition saipolicer.h:95
@ SAI_POLICER_ATTR_OBJECT_STAGE
Policer pool stage.
Definition saipolicer.h:210
@ SAI_POLICER_ATTR_ENABLE_COUNTER_PACKET_ACTION_LIST
Enable/disable counter.
Definition saipolicer.h:201
@ SAI_POLICER_ATTR_COLOR_SOURCE
Policer Color Source.
Definition saipolicer.h:120
@ SAI_POLICER_ATTR_CBS
Committed burst size bytes/packets based on SAI_POLICER_ATTR_METER_TYPE.
Definition saipolicer.h:130
@ SAI_POLICER_ATTR_PIR
Peak information rate BPS/PPS based on SAI_POLICER_ATTR_METER_TYPE.
Definition saipolicer.h:161
@ SAI_POLICER_ATTR_GREEN_PACKET_ACTION
Action to take for Green color packets.
Definition saipolicer.h:170
@ SAI_POLICER_ATTR_END
End of attributes.
Definition saipolicer.h:215
@ SAI_POLICER_ATTR_PBS
Peak burst size bytes/packets based on SAI_POLICER_ATTR_METER_TYPE.
Definition saipolicer.h:150
@ SAI_POLICER_ATTR_CUSTOM_RANGE_END
Definition saipolicer.h:221
@ SAI_POLICER_ATTR_CUSTOM_RANGE_START
Definition saipolicer.h:218
@ SAI_POLICER_ATTR_CIR
Committed information rate BPS/PPS based on SAI_POLICER_ATTR_METER_TYPE.
Definition saipolicer.h:140
@ SAI_POLICER_ATTR_YELLOW_PACKET_ACTION
Action to take for Yellow color packets.
Definition saipolicer.h:179
@ SAI_POLICER_ATTR_METER_TYPE
Policer Meter Type.
Definition saipolicer.h:103
enum _sai_stats_mode_t sai_stats_mode_t
SAI statistics modes.
This module defines SAI portable types.
Policer methods table retrieved with sai_api_query()
Definition saipolicer.h:363