25#if !defined (__SAIEXPERIMENTALDASHMETER_H_)
26#define __SAIEXPERIMENTALDASHMETER_H_
213 _Out_ sai_object_id_t *meter_bucket_id,
214 _In_ sai_object_id_t switch_id,
215 _In_ uint32_t attr_count,
226 _In_ sai_object_id_t meter_bucket_id);
237 _In_ sai_object_id_t meter_bucket_id,
250 _In_ sai_object_id_t meter_bucket_id,
251 _In_ uint32_t attr_count,
265 _Out_ sai_object_id_t *meter_policy_id,
266 _In_ sai_object_id_t switch_id,
267 _In_ uint32_t attr_count,
278 _In_ sai_object_id_t meter_policy_id);
289 _In_ sai_object_id_t meter_policy_id,
302 _In_ sai_object_id_t meter_policy_id,
303 _In_ uint32_t attr_count,
317 _Out_ sai_object_id_t *meter_rule_id,
318 _In_ sai_object_id_t switch_id,
319 _In_ uint32_t attr_count,
330 _In_ sai_object_id_t meter_rule_id);
341 _In_ sai_object_id_t meter_rule_id,
354 _In_ sai_object_id_t meter_rule_id,
355 _In_ uint32_t attr_count,
sai_status_t(* sai_get_meter_policy_attribute_fn)(_In_ sai_object_id_t meter_policy_id, _In_ uint32_t attr_count, _Inout_ sai_attribute_t *attr_list)
Get attribute for dash_meter_meter_policy.
enum _sai_meter_bucket_attr_t sai_meter_bucket_attr_t
Attribute ID for dash_meter_meter_bucket.
sai_status_t(* sai_set_meter_policy_attribute_fn)(_In_ sai_object_id_t meter_policy_id, _In_ const sai_attribute_t *attr)
Set attribute for dash_meter_meter_policy.
_sai_meter_bucket_attr_t
Attribute ID for dash_meter_meter_bucket.
sai_status_t(* sai_create_meter_policy_fn)(_Out_ sai_object_id_t *meter_policy_id, _In_ sai_object_id_t switch_id, _In_ uint32_t attr_count, _In_ const sai_attribute_t *attr_list)
Create dash_meter_meter_policy.
sai_status_t(* sai_set_meter_rule_attribute_fn)(_In_ sai_object_id_t meter_rule_id, _In_ const sai_attribute_t *attr)
Set attribute for dash_meter_meter_rule.
sai_status_t(* sai_remove_meter_bucket_fn)(_In_ sai_object_id_t meter_bucket_id)
Remove dash_meter_meter_bucket.
sai_status_t(* sai_get_meter_rule_attribute_fn)(_In_ sai_object_id_t meter_rule_id, _In_ uint32_t attr_count, _Inout_ sai_attribute_t *attr_list)
Get attribute for dash_meter_meter_rule.
enum _sai_meter_policy_attr_t sai_meter_policy_attr_t
Attribute ID for dash_meter_meter_policy.
sai_status_t(* sai_remove_meter_policy_fn)(_In_ sai_object_id_t meter_policy_id)
Remove dash_meter_meter_policy.
_sai_meter_rule_attr_t
Attribute ID for dash_meter_meter_rule.
sai_status_t(* sai_remove_meter_rule_fn)(_In_ sai_object_id_t meter_rule_id)
Remove dash_meter_meter_rule.
sai_status_t(* sai_create_meter_rule_fn)(_Out_ sai_object_id_t *meter_rule_id, _In_ sai_object_id_t switch_id, _In_ uint32_t attr_count, _In_ const sai_attribute_t *attr_list)
Create dash_meter_meter_rule.
sai_status_t(* sai_create_meter_bucket_fn)(_Out_ sai_object_id_t *meter_bucket_id, _In_ sai_object_id_t switch_id, _In_ uint32_t attr_count, _In_ const sai_attribute_t *attr_list)
Create dash_meter_meter_bucket.
sai_status_t(* sai_set_meter_bucket_attribute_fn)(_In_ sai_object_id_t meter_bucket_id, _In_ const sai_attribute_t *attr)
Set attribute for dash_meter_meter_bucket.
enum _sai_meter_rule_attr_t sai_meter_rule_attr_t
Attribute ID for dash_meter_meter_rule.
sai_status_t(* sai_get_meter_bucket_attribute_fn)(_In_ sai_object_id_t meter_bucket_id, _In_ uint32_t attr_count, _Inout_ sai_attribute_t *attr_list)
Get attribute for dash_meter_meter_bucket.
_sai_meter_policy_attr_t
Attribute ID for dash_meter_meter_policy.
@ SAI_METER_BUCKET_ATTR_START
Start of attributes.
@ SAI_METER_BUCKET_ATTR_METER_CLASS
Exact matched key meter_class.
@ SAI_METER_BUCKET_ATTR_CUSTOM_RANGE_END
@ SAI_METER_BUCKET_ATTR_OUTBOUND_BYTES_COUNTER
Action meter_bucket_action parameter OUTBOUND_BYTES_COUNTER.
@ SAI_METER_BUCKET_ATTR_CUSTOM_RANGE_START
@ SAI_METER_BUCKET_ATTR_INBOUND_BYTES_COUNTER
Action meter_bucket_action parameter INBOUND_BYTES_COUNTER.
@ SAI_METER_BUCKET_ATTR_END
End of attributes.
@ SAI_METER_BUCKET_ATTR_ENI_ID
Exact matched key eni_id.
@ SAI_METER_RULE_ATTR_DIP_MASK
Ternary matched mask dip.
@ SAI_METER_RULE_ATTR_METER_CLASS
Action set_policy_meter_class parameter METER_CLASS.
@ SAI_METER_RULE_ATTR_PRIORITY
Rule priority in table.
@ SAI_METER_RULE_ATTR_END
End of attributes.
@ SAI_METER_RULE_ATTR_DIP
Ternary matched key dip.
@ SAI_METER_RULE_ATTR_METER_POLICY_ID
Exact matched key meter_policy_id.
@ SAI_METER_RULE_ATTR_IP_ADDR_FAMILY
IP address family for resource accounting.
@ SAI_METER_RULE_ATTR_CUSTOM_RANGE_END
@ SAI_METER_RULE_ATTR_CUSTOM_RANGE_START
@ SAI_METER_RULE_ATTR_START
Start of attributes.
@ SAI_METER_POLICY_ATTR_CUSTOM_RANGE_START
@ SAI_METER_POLICY_ATTR_CUSTOM_RANGE_END
@ SAI_METER_POLICY_ATTR_END
End of attributes.
@ SAI_METER_POLICY_ATTR_START
Start of attributes.
@ SAI_METER_POLICY_ATTR_IP_ADDR_FAMILY
Action check_ip_addr_family parameter IP_ADDR_FAMILY.
sai_status_t(* sai_bulk_object_create_fn)(_In_ sai_object_id_t switch_id, _In_ uint32_t object_count, _In_ const uint32_t *attr_count, _In_ const sai_attribute_t **attr_list, _In_ sai_bulk_op_error_mode_t mode, _Out_ sai_object_id_t *object_id, _Out_ sai_status_t *object_statuses)
Bulk objects creation.
sai_status_t(* sai_bulk_object_remove_fn)(_In_ uint32_t object_count, _In_ const sai_object_id_t *object_id, _In_ sai_bulk_op_error_mode_t mode, _Out_ sai_status_t *object_statuses)
Bulk objects removal.
This module defines SAI portable types.