SAI Metadata
Loading...
Searching...
No Matches
SAI - Telemetry and monitoring specific API definitions

Classes

struct  _sai_tam_api_t
 SAI TAM API set. More...
 

Typedefs

typedef enum _sai_tam_attr_t sai_tam_attr_t
 TAM Attributes.
 
typedef sai_status_t(* sai_create_tam_fn) (_Out_ sai_object_id_t *tam_id, _In_ sai_object_id_t switch_id, _In_ uint32_t attr_count, _In_ const sai_attribute_t *attr_list)
 Create and return a TAM object.
 
typedef sai_status_t(* sai_remove_tam_fn) (_In_ sai_object_id_t tam_id)
 Deletes a specified tam object.
 
typedef sai_status_t(* sai_set_tam_attribute_fn) (_In_ sai_object_id_t tam_id, _In_ const sai_attribute_t *attr)
 Set TAM attribute value(s).
 
typedef sai_status_t(* sai_get_tam_attribute_fn) (_In_ sai_object_id_t tam_id, _In_ uint32_t attr_count, _Inout_ sai_attribute_t *attr_list)
 Get values for specified TAM attributes.
 
typedef enum _sai_tam_tel_math_func_type_t sai_tam_tel_math_func_type_t
 TAM Telemetry Math Function types.
 
typedef enum _sai_tam_math_func_attr_t sai_tam_math_func_attr_t
 Attributes for Math function.
 
typedef sai_status_t(* sai_create_tam_math_func_fn) (_Out_ sai_object_id_t *tam_math_func_id, _In_ sai_object_id_t switch_id, _In_ uint32_t attr_count, _In_ const sai_attribute_t *attr_list)
 Create and return a math function object.
 
typedef sai_status_t(* sai_remove_tam_math_func_fn) (_In_ sai_object_id_t tam_math_func_id)
 Deletes a specified Match function object.
 
typedef sai_status_t(* sai_get_tam_math_func_attribute_fn) (_In_ sai_object_id_t tam_math_func_id, _In_ uint32_t attr_count, _Inout_ sai_attribute_t *attr_list)
 Get values for specified Math function attributes.
 
typedef sai_status_t(* sai_set_tam_math_func_attribute_fn) (_In_ sai_object_id_t tam_math_func_id, _In_ const sai_attribute_t *attr)
 Set value for specified Math function attribute.
 
typedef enum _sai_tam_event_threshold_unit_t sai_tam_event_threshold_unit_t
 TAM event threshold unit.
 
typedef enum _sai_tam_event_threshold_attr_t sai_tam_event_threshold_attr_t
 Event Threshold Attributes.
 
typedef sai_status_t(* sai_create_tam_event_threshold_fn) (_Out_ sai_object_id_t *tam_event_threshold_id, _In_ sai_object_id_t switch_id, _In_ uint32_t attr_count, _In_ const sai_attribute_t *attr_list)
 Create and return a threshold object.
 
typedef sai_status_t(* sai_remove_tam_event_threshold_fn) (_In_ sai_object_id_t tam_event_threshold_id)
 Deletes a specified threshold object.
 
typedef sai_status_t(* sai_get_tam_event_threshold_attribute_fn) (_In_ sai_object_id_t tam_event_threshold_id, _In_ uint32_t attr_count, _Inout_ sai_attribute_t *attr_list)
 Get values for specified threshold object attributes.
 
typedef sai_status_t(* sai_set_tam_event_threshold_attribute_fn) (_In_ sai_object_id_t tam_event_threshold_id, _In_ const sai_attribute_t *attr)
 Set value for a specified threshold object attribute.
 
typedef enum _sai_tam_int_type_t sai_tam_int_type_t
 TAM INT types.
 
typedef enum _sai_tam_int_presence_type_t sai_tam_int_presence_type_t
 Type of indication of INT presence in a packet.
 
typedef enum _sai_tam_int_attr_t sai_tam_int_attr_t
 Attributes for TAM INT.
 
typedef sai_status_t(* sai_create_tam_int_fn) (_Out_ sai_object_id_t *tam_int_id, _In_ sai_object_id_t switch_id, _In_ uint32_t attr_count, _In_ const sai_attribute_t *attr_list)
 Create and return a INT type object.
 
typedef sai_status_t(* sai_remove_tam_int_fn) (_In_ sai_object_id_t tam_int_id)
 Deletes a specified INT object.
 
typedef sai_status_t(* sai_get_tam_int_attribute_fn) (_In_ sai_object_id_t tam_int_id, _In_ uint32_t attr_count, _Inout_ sai_attribute_t *attr_list)
 Get values for specified INT object attributes.
 
typedef sai_status_t(* sai_set_tam_int_attribute_fn) (_In_ sai_object_id_t tam_int_id, _In_ const sai_attribute_t *attr)
 Set value for a specified INT object attribute.
 
typedef enum _sai_tam_telemetry_type_t sai_tam_telemetry_type_t
 TAM telemetry types supported.
 
typedef enum _sai_tam_tel_type_attr_t sai_tam_tel_type_attr_t
 Telemetry type attributes.
 
typedef sai_status_t(* sai_create_tam_tel_type_fn) (_Out_ sai_object_id_t *tam_tel_type_id, _In_ sai_object_id_t switch_id, _In_ uint32_t attr_count, _In_ const sai_attribute_t *attr_list)
 Create and return a telemetry type object.
 
typedef sai_status_t(* sai_remove_tam_tel_type_fn) (_In_ sai_object_id_t tam_tel_type_id)
 Deletes a specified telemetry type object.
 
typedef sai_status_t(* sai_get_tam_tel_type_attribute_fn) (_In_ sai_object_id_t tam_tel_type_id, _In_ uint32_t attr_count, _Inout_ sai_attribute_t *attr_list)
 Get values for specified telemetry type object attributes.
 
typedef sai_status_t(* sai_set_tam_tel_type_attribute_fn) (_In_ sai_object_id_t tam_tel_type_id, _In_ const sai_attribute_t *attr)
 Set value for a specified telemetry type object attribute.
 
typedef enum _sai_tam_report_type_t sai_tam_report_type_t
 TAM report types.
 
typedef enum _sai_tam_report_mode_t sai_tam_report_mode_t
 Enum defining reporting modes.
 
typedef enum _sai_tam_report_interval_unit_t sai_tam_report_interval_unit_t
 TAM report interval units.
 
typedef enum _sai_tam_report_attr_t sai_tam_report_attr_t
 Attributes for TAM report.
 
typedef sai_status_t(* sai_create_tam_report_fn) (_Out_ sai_object_id_t *tam_report_id, _In_ sai_object_id_t switch_id, _In_ uint32_t attr_count, _In_ const sai_attribute_t *attr_list)
 Create and return a report object id.
 
typedef sai_status_t(* sai_remove_tam_report_fn) (_In_ sai_object_id_t tam_report_id)
 Deletes a specified report object.
 
typedef sai_status_t(* sai_get_tam_report_attribute_fn) (_In_ sai_object_id_t tam_report_id, _In_ uint32_t attr_count, _Inout_ sai_attribute_t *attr_list)
 Get values for specified report object attributes.
 
typedef sai_status_t(* sai_set_tam_report_attribute_fn) (_In_ sai_object_id_t tam_report_id, _In_ const sai_attribute_t *attr)
 Set value for a specified report object attribute.
 
typedef enum _sai_tam_reporting_unit_t sai_tam_reporting_unit_t
 TAM reporting unit.
 
typedef enum _sai_tam_telemetry_attr_t sai_tam_telemetry_attr_t
 TAM telemetry attributes.
 
typedef sai_status_t(* sai_create_tam_telemetry_fn) (_Out_ sai_object_id_t *tam_telemetry_id, _In_ sai_object_id_t switch_id, _In_ uint32_t attr_count, _In_ const sai_attribute_t *attr_list)
 Create and return a telemetry object.
 
typedef sai_status_t(* sai_remove_tam_telemetry_fn) (_In_ sai_object_id_t tam_telemetry_id)
 Deletes a specified telemetry object.
 
typedef sai_status_t(* sai_get_tam_telemetry_attribute_fn) (_In_ sai_object_id_t tam_telemetry_id, _In_ uint32_t attr_count, _Inout_ sai_attribute_t *attr_list)
 Get values for specified telemetry object attributes.
 
typedef sai_status_t(* sai_set_tam_telemetry_attribute_fn) (_In_ sai_object_id_t tam_telemetry_id, _In_ const sai_attribute_t *attr)
 Set value for a specified telemetry object attribute.
 
typedef enum _sai_tam_transport_type_t sai_tam_transport_type_t
 Transport Types.
 
typedef enum _sai_tam_transport_auth_type_t sai_tam_transport_auth_type_t
 Transport Authentication Types.
 
typedef enum _sai_tam_transport_attr_t sai_tam_transport_attr_t
 Transport object Attributes.
 
typedef sai_status_t(* sai_create_tam_transport_fn) (_Out_ sai_object_id_t *tam_transport_id, _In_ sai_object_id_t switch_id, _In_ uint32_t attr_count, _In_ const sai_attribute_t *attr_list)
 Create and return a transport object id.
 
typedef sai_status_t(* sai_remove_tam_transport_fn) (_In_ sai_object_id_t tam_transport_id)
 Deletes a specified transport object.
 
typedef sai_status_t(* sai_get_tam_transport_attribute_fn) (_In_ sai_object_id_t tam_transport_id, _In_ uint32_t attr_count, _Inout_ sai_attribute_t *attr_list)
 Get values for specified transport object attributes.
 
typedef sai_status_t(* sai_set_tam_transport_attribute_fn) (_In_ sai_object_id_t tam_transport_id, _In_ const sai_attribute_t *attr)
 Set value for a specified transport object attribute.
 
typedef enum _sai_tam_collector_attr_t sai_tam_collector_attr_t
 TAM collector attributes.
 
typedef sai_status_t(* sai_create_tam_collector_fn) (_Out_ sai_object_id_t *tam_collector_id, _In_ sai_object_id_t switch_id, _In_ uint32_t attr_count, _In_ const sai_attribute_t *attr_list)
 Create and return a collector object id.
 
typedef sai_status_t(* sai_remove_tam_collector_fn) (_In_ sai_object_id_t tam_collector_id)
 Deletes a specified collector object.
 
typedef sai_status_t(* sai_get_tam_collector_attribute_fn) (_In_ sai_object_id_t tam_collector_id, _In_ uint32_t attr_count, _Inout_ sai_attribute_t *attr_list)
 Get values for specified collector object attributes.
 
typedef sai_status_t(* sai_set_tam_collector_attribute_fn) (_In_ sai_object_id_t tam_collector_id, _In_ const sai_attribute_t *attr)
 Set value for a specified collector object attribute.
 
typedef enum _sai_tam_event_type_t sai_tam_event_type_t
 Enum defining event types.
 
typedef enum _sai_tam_event_action_attr_t sai_tam_event_action_attr_t
 Enum defining event types.
 
typedef sai_status_t(* sai_create_tam_event_action_fn) (_Out_ sai_object_id_t *tam_event_action_id, _In_ sai_object_id_t switch_id, _In_ uint32_t attr_count, _In_ const sai_attribute_t *attr_list)
 Create and return a event action object id.
 
typedef sai_status_t(* sai_remove_tam_event_action_fn) (_In_ sai_object_id_t tam_event_action_id)
 Deletes a specified event object.
 
typedef sai_status_t(* sai_get_tam_event_action_attribute_fn) (_In_ sai_object_id_t tam_event_action_id, _In_ uint32_t attr_count, _Inout_ sai_attribute_t *attr_list)
 Get values for specified event object attributes.
 
typedef sai_status_t(* sai_set_tam_event_action_attribute_fn) (_In_ sai_object_id_t tam_event_action_id, _In_ const sai_attribute_t *attr)
 Set value for a specified event object attribute.
 
typedef enum _sai_tam_event_attr_t sai_tam_event_attr_t
 Tam event attributes.
 
typedef sai_status_t(* sai_create_tam_event_fn) (_Out_ sai_object_id_t *tam_event_id, _In_ sai_object_id_t switch_id, _In_ uint32_t attr_count, _In_ const sai_attribute_t *attr_list)
 Create and return a event object id.
 
typedef sai_status_t(* sai_remove_tam_event_fn) (_In_ sai_object_id_t tam_event_id)
 Deletes a specified event object.
 
typedef sai_status_t(* sai_get_tam_event_attribute_fn) (_In_ sai_object_id_t tam_event_id, _In_ uint32_t attr_count, _Inout_ sai_attribute_t *attr_list)
 Get values for specified event object attributes.
 
typedef sai_status_t(* sai_set_tam_event_attribute_fn) (_In_ sai_object_id_t tam_event_id, _In_ const sai_attribute_t *attr)
 Set value for a specified event object attribute.
 
typedef enum _sai_tam_counter_subscription_attr_t sai_tam_counter_subscription_attr_t
 Counter Subscription attributes.
 
typedef sai_status_t(* sai_create_tam_counter_subscription_fn) (_Out_ sai_object_id_t *tam_counter_subscription_id, _In_ sai_object_id_t switch_id, _In_ uint32_t attr_count, _In_ const sai_attribute_t *attr_list)
 Create a counter subscription.
 
typedef sai_status_t(* sai_remove_tam_counter_subscription_fn) (_In_ sai_object_id_t tam_counter_subscription_id)
 Delete a specified counter subscription.
 
typedef sai_status_t(* sai_set_tam_counter_subscription_attribute_fn) (_In_ sai_object_id_t tam_counter_subscription_id, _In_ const sai_attribute_t *attr)
 Set value for a specified counter subscription object attribute.
 
typedef sai_status_t(* sai_get_tam_counter_subscription_attribute_fn) (_In_ sai_object_id_t tam_counter_subscription_id, _In_ uint32_t attr_count, _Inout_ sai_attribute_t *attr_list)
 Get values for specified event object attributes.
 
typedef void(* sai_tam_event_notification_fn) (_In_ sai_object_id_t tam_event_id, _In_ sai_size_t buffer_size, _In_ const void *buffer, _In_ uint32_t attr_count, _In_ const sai_attribute_t *attr_list)
 TAM event callback.
 
typedef struct _sai_tam_api_t sai_tam_api_t
 SAI TAM API set.
 

Enumerations

enum  _sai_tam_attr_t {
  SAI_TAM_ATTR_START , SAI_TAM_ATTR_TELEMETRY_OBJECTS_LIST = SAI_TAM_ATTR_START , SAI_TAM_ATTR_EVENT_OBJECTS_LIST , SAI_TAM_ATTR_INT_OBJECTS_LIST ,
  SAI_TAM_ATTR_TAM_BIND_POINT_TYPE_LIST , SAI_TAM_ATTR_END , SAI_TAM_ATTR_CUSTOM_RANGE_START = 0x10000000 , SAI_TAM_ATTR_CUSTOM_RANGE_END
}
 TAM Attributes. More...
 
enum  _sai_tam_tel_math_func_type_t {
  SAI_TAM_TEL_MATH_FUNC_TYPE_NONE , SAI_TAM_TEL_MATH_FUNC_TYPE_GEO_MEAN , SAI_TAM_TEL_MATH_FUNC_TYPE_ALGEBRAIC_MEAN , SAI_TAM_TEL_MATH_FUNC_TYPE_AVERAGE ,
  SAI_TAM_TEL_MATH_FUNC_TYPE_MODE , SAI_TAM_TEL_MATH_FUNC_TYPE_RATE
}
 TAM Telemetry Math Function types. More...
 
enum  _sai_tam_math_func_attr_t {
  SAI_TAM_MATH_FUNC_ATTR_START , SAI_TAM_MATH_FUNC_ATTR_TAM_TEL_MATH_FUNC_TYPE = SAI_TAM_MATH_FUNC_ATTR_START , SAI_TAM_MATH_FUNC_ATTR_END , SAI_TAM_MATH_FUNC_ATTR_CUSTOM_RANGE_START = 0x10000000 ,
  SAI_TAM_MATH_FUNC_ATTR_CUSTOM_RANGE_END
}
 Attributes for Math function. More...
 
enum  _sai_tam_event_threshold_unit_t {
  SAI_TAM_EVENT_THRESHOLD_UNIT_NANOSEC , SAI_TAM_EVENT_THRESHOLD_UNIT_USEC , SAI_TAM_EVENT_THRESHOLD_UNIT_MSEC , SAI_TAM_EVENT_THRESHOLD_UNIT_PERCENT ,
  SAI_TAM_EVENT_THRESHOLD_UNIT_BYTES , SAI_TAM_EVENT_THRESHOLD_UNIT_PACKETS , SAI_TAM_EVENT_THRESHOLD_UNIT_CELLS
}
 TAM event threshold unit. More...
 
enum  _sai_tam_event_threshold_attr_t {
  SAI_TAM_EVENT_THRESHOLD_ATTR_START , SAI_TAM_EVENT_THRESHOLD_ATTR_HIGH_WATERMARK = SAI_TAM_EVENT_THRESHOLD_ATTR_START , SAI_TAM_EVENT_THRESHOLD_ATTR_LOW_WATERMARK , SAI_TAM_EVENT_THRESHOLD_ATTR_LATENCY ,
  SAI_TAM_EVENT_THRESHOLD_ATTR_RATE , SAI_TAM_EVENT_THRESHOLD_ATTR_ABS_VALUE , SAI_TAM_EVENT_THRESHOLD_ATTR_UNIT , SAI_TAM_EVENT_THRESHOLD_ATTR_END ,
  SAI_TAM_EVENT_THRESHOLD_ATTR_CUSTOM_RANGE_START = 0x10000000 , SAI_TAM_EVENT_THRESHOLD_ATTR_CUSTOM_RANGE_END
}
 Event Threshold Attributes. More...
 
enum  _sai_tam_int_type_t {
  SAI_TAM_INT_TYPE_IOAM , SAI_TAM_INT_TYPE_IFA1 , SAI_TAM_INT_TYPE_IFA2 , SAI_TAM_INT_TYPE_P4_INT_1 ,
  SAI_TAM_INT_TYPE_P4_INT_2 , SAI_TAM_INT_TYPE_DIRECT_EXPORT , SAI_TAM_INT_TYPE_IFA1_TAILSTAMP , SAI_TAM_INT_TYPE_PATH_TRACING
}
 TAM INT types. More...
 
enum  _sai_tam_int_presence_type_t { SAI_TAM_INT_PRESENCE_TYPE_UNDEFINED , SAI_TAM_INT_PRESENCE_TYPE_PB , SAI_TAM_INT_PRESENCE_TYPE_L3_PROTOCOL , SAI_TAM_INT_PRESENCE_TYPE_DSCP }
 Type of indication of INT presence in a packet. More...
 
enum  _sai_tam_int_attr_t {
  SAI_TAM_INT_ATTR_START , SAI_TAM_INT_ATTR_TYPE = SAI_TAM_INT_ATTR_START , SAI_TAM_INT_ATTR_DEVICE_ID , SAI_TAM_INT_ATTR_IOAM_TRACE_TYPE ,
  SAI_TAM_INT_ATTR_INT_PRESENCE_TYPE , SAI_TAM_INT_ATTR_INT_PRESENCE_PB1 , SAI_TAM_INT_ATTR_INT_PRESENCE_PB2 , SAI_TAM_INT_ATTR_INT_PRESENCE_DSCP_VALUE ,
  SAI_TAM_INT_ATTR_INLINE , SAI_TAM_INT_ATTR_INT_PRESENCE_L3_PROTOCOL , SAI_TAM_INT_ATTR_TRACE_VECTOR , SAI_TAM_INT_ATTR_ACTION_VECTOR ,
  SAI_TAM_INT_ATTR_P4_INT_INSTRUCTION_BITMAP , SAI_TAM_INT_ATTR_METADATA_FRAGMENT_ENABLE , SAI_TAM_INT_ATTR_METADATA_CHECKSUM_ENABLE , SAI_TAM_INT_ATTR_REPORT_ALL_PACKETS ,
  SAI_TAM_INT_ATTR_FLOW_LIVENESS_PERIOD , SAI_TAM_INT_ATTR_LATENCY_SENSITIVITY , SAI_TAM_INT_ATTR_ACL_GROUP , SAI_TAM_INT_ATTR_MAX_HOP_COUNT ,
  SAI_TAM_INT_ATTR_MAX_LENGTH , SAI_TAM_INT_ATTR_NAME_SPACE_ID , SAI_TAM_INT_ATTR_NAME_SPACE_ID_GLOBAL , SAI_TAM_INT_ATTR_INGRESS_SAMPLEPACKET_ENABLE ,
  SAI_TAM_INT_ATTR_COLLECTOR_LIST , SAI_TAM_INT_ATTR_MATH_FUNC , SAI_TAM_INT_ATTR_REPORT_ID , SAI_TAM_INT_ATTR_END ,
  SAI_TAM_INT_ATTR_CUSTOM_RANGE_START = 0x10000000 , SAI_TAM_INT_ATTR_CUSTOM_RANGE_END
}
 Attributes for TAM INT. More...
 
enum  _sai_tam_telemetry_type_t {
  SAI_TAM_TELEMETRY_TYPE_NE , SAI_TAM_TELEMETRY_TYPE_SWITCH , SAI_TAM_TELEMETRY_TYPE_FABRIC , SAI_TAM_TELEMETRY_TYPE_FLOW ,
  SAI_TAM_TELEMETRY_TYPE_INT , SAI_TAM_TELEMETRY_TYPE_COUNTER_SUBSCRIPTION
}
 TAM telemetry types supported. More...
 
enum  _sai_tam_tel_type_attr_t {
  SAI_TAM_TEL_TYPE_ATTR_START , SAI_TAM_TEL_TYPE_ATTR_TAM_TELEMETRY_TYPE = SAI_TAM_TEL_TYPE_ATTR_START , SAI_TAM_TEL_TYPE_ATTR_INT_SWITCH_IDENTIFIER , SAI_TAM_TEL_TYPE_ATTR_SWITCH_ENABLE_PORT_STATS ,
  SAI_TAM_TEL_TYPE_ATTR_SWITCH_ENABLE_PORT_STATS_INGRESS , SAI_TAM_TEL_TYPE_ATTR_SWITCH_ENABLE_PORT_STATS_EGRESS , SAI_TAM_TEL_TYPE_ATTR_SWITCH_ENABLE_VIRTUAL_QUEUE_STATS , SAI_TAM_TEL_TYPE_ATTR_SWITCH_ENABLE_OUTPUT_QUEUE_STATS ,
  SAI_TAM_TEL_TYPE_ATTR_SWITCH_ENABLE_MMU_STATS , SAI_TAM_TEL_TYPE_ATTR_SWITCH_ENABLE_FABRIC_STATS , SAI_TAM_TEL_TYPE_ATTR_SWITCH_ENABLE_FILTER_STATS , SAI_TAM_TEL_TYPE_ATTR_SWITCH_ENABLE_RESOURCE_UTILIZATION_STATS ,
  SAI_TAM_TEL_TYPE_ATTR_FABRIC_Q , SAI_TAM_TEL_TYPE_ATTR_NE_ENABLE , SAI_TAM_TEL_TYPE_ATTR_DSCP_VALUE , SAI_TAM_TEL_TYPE_ATTR_MATH_FUNC ,
  SAI_TAM_TEL_TYPE_ATTR_REPORT_ID , SAI_TAM_TEL_TYPE_ATTR_COUNTER_SUBSCRIPTION_LIST , SAI_TAM_TEL_TYPE_ATTR_END , SAI_TAM_TEL_TYPE_ATTR_CUSTOM_RANGE_START = 0x10000000 ,
  SAI_TAM_TEL_TYPE_ATTR_CUSTOM_RANGE_END
}
 Telemetry type attributes. More...
 
enum  _sai_tam_report_type_t {
  SAI_TAM_REPORT_TYPE_SFLOW , SAI_TAM_REPORT_TYPE_IPFIX , SAI_TAM_REPORT_TYPE_PROTO , SAI_TAM_REPORT_TYPE_THRIFT ,
  SAI_TAM_REPORT_TYPE_JSON , SAI_TAM_REPORT_TYPE_P4_EXTN , SAI_TAM_REPORT_TYPE_HISTOGRAM , SAI_TAM_REPORT_TYPE_VENDOR_EXTN
}
 TAM report types. More...
 
enum  _sai_tam_report_mode_t { SAI_TAM_REPORT_MODE_ALL , SAI_TAM_REPORT_MODE_BULK }
 Enum defining reporting modes. More...
 
enum  _sai_tam_report_interval_unit_t { SAI_TAM_REPORT_INTERVAL_UNIT_NANOSEC , SAI_TAM_REPORT_INTERVAL_UNIT_USEC , SAI_TAM_REPORT_INTERVAL_UNIT_MSEC }
 TAM report interval units. More...
 
enum  _sai_tam_report_attr_t {
  SAI_TAM_REPORT_ATTR_START , SAI_TAM_REPORT_ATTR_TYPE = SAI_TAM_REPORT_ATTR_START , SAI_TAM_REPORT_ATTR_HISTOGRAM_NUMBER_OF_BINS , SAI_TAM_REPORT_ATTR_HISTOGRAM_BIN_BOUNDARY ,
  SAI_TAM_REPORT_ATTR_QUOTA , SAI_TAM_REPORT_ATTR_REPORT_MODE , SAI_TAM_REPORT_ATTR_REPORT_INTERVAL , SAI_TAM_REPORT_ATTR_ENTERPRISE_NUMBER ,
  SAI_TAM_REPORT_ATTR_TEMPLATE_REPORT_INTERVAL , SAI_TAM_REPORT_ATTR_REPORT_INTERVAL_UNIT , SAI_TAM_REPORT_ATTR_END , SAI_TAM_REPORT_ATTR_CUSTOM_RANGE_START = 0x10000000 ,
  SAI_TAM_REPORT_ATTR_CUSTOM_RANGE_END
}
 Attributes for TAM report. More...
 
enum  _sai_tam_reporting_unit_t { SAI_TAM_REPORTING_UNIT_SEC , SAI_TAM_REPORTING_UNIT_MINUTE , SAI_TAM_REPORTING_UNIT_HOUR , SAI_TAM_REPORTING_UNIT_DAY }
 TAM reporting unit. More...
 
enum  _sai_tam_telemetry_attr_t {
  SAI_TAM_TELEMETRY_ATTR_START , SAI_TAM_TELEMETRY_ATTR_TAM_TYPE_LIST = SAI_TAM_TELEMETRY_ATTR_START , SAI_TAM_TELEMETRY_ATTR_COLLECTOR_LIST , SAI_TAM_TELEMETRY_ATTR_TAM_REPORTING_UNIT ,
  SAI_TAM_TELEMETRY_ATTR_REPORTING_INTERVAL , SAI_TAM_TELEMETRY_ATTR_END , SAI_TAM_TELEMETRY_ATTR_CUSTOM_RANGE_START = 0x10000000 , SAI_TAM_TELEMETRY_ATTR_CUSTOM_RANGE_END
}
 TAM telemetry attributes. More...
 
enum  _sai_tam_transport_type_t {
  SAI_TAM_TRANSPORT_TYPE_NONE , SAI_TAM_TRANSPORT_TYPE_TCP , SAI_TAM_TRANSPORT_TYPE_UDP , SAI_TAM_TRANSPORT_TYPE_GRPC ,
  SAI_TAM_TRANSPORT_TYPE_MIRROR
}
 Transport Types. More...
 
enum  _sai_tam_transport_auth_type_t { SAI_TAM_TRANSPORT_AUTH_TYPE_NONE , SAI_TAM_TRANSPORT_AUTH_TYPE_SSL , SAI_TAM_TRANSPORT_AUTH_TYPE_TLS }
 Transport Authentication Types. More...
 
enum  _sai_tam_transport_attr_t {
  SAI_TAM_TRANSPORT_ATTR_START , SAI_TAM_TRANSPORT_ATTR_TRANSPORT_TYPE = SAI_TAM_TRANSPORT_ATTR_START , SAI_TAM_TRANSPORT_ATTR_SRC_PORT , SAI_TAM_TRANSPORT_ATTR_DST_PORT ,
  SAI_TAM_TRANSPORT_ATTR_TRANSPORT_AUTH_TYPE , SAI_TAM_TRANSPORT_ATTR_MTU , SAI_TAM_TRANSPORT_ATTR_END , SAI_TAM_TRANSPORT_ATTR_CUSTOM_RANGE_START = 0x10000000 ,
  SAI_TAM_TRANSPORT_ATTR_CUSTOM_RANGE_END
}
 Transport object Attributes. More...
 
enum  _sai_tam_collector_attr_t {
  SAI_TAM_COLLECTOR_ATTR_START , SAI_TAM_COLLECTOR_ATTR_SRC_IP = SAI_TAM_COLLECTOR_ATTR_START , SAI_TAM_COLLECTOR_ATTR_DST_IP , SAI_TAM_COLLECTOR_ATTR_LOCALHOST ,
  SAI_TAM_COLLECTOR_ATTR_VIRTUAL_ROUTER_ID , SAI_TAM_COLLECTOR_ATTR_TRUNCATE_SIZE , SAI_TAM_COLLECTOR_ATTR_TRANSPORT , SAI_TAM_COLLECTOR_ATTR_DSCP_VALUE ,
  SAI_TAM_COLLECTOR_ATTR_END , SAI_TAM_COLLECTOR_ATTR_CUSTOM_RANGE_START = 0x10000000 , SAI_TAM_COLLECTOR_ATTR_CUSTOM_RANGE_END
}
 TAM collector attributes. More...
 
enum  _sai_tam_event_type_t {
  SAI_TAM_EVENT_TYPE_FLOW_STATE , SAI_TAM_EVENT_TYPE_FLOW_WATCHLIST , SAI_TAM_EVENT_TYPE_FLOW_TCPFLAG , SAI_TAM_EVENT_TYPE_QUEUE_THRESHOLD ,
  SAI_TAM_EVENT_TYPE_QUEUE_TAIL_DROP , SAI_TAM_EVENT_TYPE_PACKET_DROP , SAI_TAM_EVENT_TYPE_RESOURCE_UTILIZATION , SAI_TAM_EVENT_TYPE_IPG_SHARED ,
  SAI_TAM_EVENT_TYPE_IPG_XOFF_ROOM , SAI_TAM_EVENT_TYPE_BSP
}
 Enum defining event types. More...
 
enum  _sai_tam_event_action_attr_t {
  SAI_TAM_EVENT_ACTION_ATTR_START , SAI_TAM_EVENT_ACTION_ATTR_REPORT_TYPE = SAI_TAM_EVENT_ACTION_ATTR_START , SAI_TAM_EVENT_ACTION_ATTR_QOS_ACTION_TYPE , SAI_TAM_EVENT_ACTION_ATTR_END ,
  SAI_TAM_EVENT_ACTION_ATTR_CUSTOM_RANGE_START = 0x10000000 , SAI_TAM_EVENT_ACTION_ATTR_CUSTOM_RANGE_END
}
 Enum defining event types. More...
 
enum  _sai_tam_event_attr_t {
  SAI_TAM_EVENT_ATTR_START , SAI_TAM_EVENT_ATTR_TYPE = SAI_TAM_EVENT_ATTR_START , SAI_TAM_EVENT_ATTR_ACTION_LIST , SAI_TAM_EVENT_ATTR_COLLECTOR_LIST ,
  SAI_TAM_EVENT_ATTR_THRESHOLD , SAI_TAM_EVENT_ATTR_DSCP_VALUE , SAI_TAM_EVENT_ATTR_END , SAI_TAM_EVENT_ATTR_CUSTOM_RANGE_START = 0x10000000 ,
  SAI_TAM_EVENT_ATTR_CUSTOM_RANGE_END
}
 Tam event attributes. More...
 
enum  _sai_tam_counter_subscription_attr_t {
  SAI_TAM_COUNTER_SUBSCRIPTION_ATTR_START , SAI_TAM_COUNTER_SUBSCRIPTION_ATTR_TEL_TYPE = SAI_TAM_COUNTER_SUBSCRIPTION_ATTR_START , SAI_TAM_COUNTER_SUBSCRIPTION_ATTR_OBJECT_ID , SAI_TAM_COUNTER_SUBSCRIPTION_ATTR_STAT_ID ,
  SAI_TAM_COUNTER_SUBSCRIPTION_ATTR_LABEL , SAI_TAM_COUNTER_SUBSCRIPTION_ATTR_END , SAI_TAM_COUNTER_SUBSCRIPTION_ATTR_CUSTOM_RANGE_START = 0x10000000 , SAI_TAM_COUNTER_SUBSCRIPTION_ATTR_CUSTOM_RANGE_END
}
 Counter Subscription attributes. More...
 

Functions

sai_status_t sai_tam_telemetry_get_data (_In_ sai_object_id_t switch_id, _In_ sai_object_list_t obj_list, _In_ bool clear_on_read, _Inout_ sai_size_t *buffer_size, _Out_ void *buffer)
 TAM telemetry data get API.
 

Detailed Description

Typedef Documentation

◆ sai_create_tam_collector_fn

typedef sai_status_t(* sai_create_tam_collector_fn) (_Out_ sai_object_id_t *tam_collector_id, _In_ sai_object_id_t switch_id, _In_ uint32_t attr_count, _In_ const sai_attribute_t *attr_list)

Create and return a collector object id.

Parameters
[out]tam_collector_idCollector object Id
[in]switch_idSwitch object 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 1809 of file saitam.h.

◆ sai_create_tam_counter_subscription_fn

typedef sai_status_t(* sai_create_tam_counter_subscription_fn) (_Out_ sai_object_id_t *tam_counter_subscription_id, _In_ sai_object_id_t switch_id, _In_ uint32_t attr_count, _In_ const sai_attribute_t *attr_list)

Create a counter subscription.

Parameters
[out]tam_counter_subscription_idCounter subscription object Id
[in]switch_idSwitch object 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 2201 of file saitam.h.

◆ sai_create_tam_event_action_fn

typedef sai_status_t(* sai_create_tam_event_action_fn) (_Out_ sai_object_id_t *tam_event_action_id, _In_ sai_object_id_t switch_id, _In_ uint32_t attr_count, _In_ const sai_attribute_t *attr_list)

Create and return a event action object id.

Parameters
[out]tam_event_action_idEvent object Id
[in]switch_idSwitch object 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 1968 of file saitam.h.

◆ sai_create_tam_event_fn

typedef sai_status_t(* sai_create_tam_event_fn) (_Out_ sai_object_id_t *tam_event_id, _In_ sai_object_id_t switch_id, _In_ uint32_t attr_count, _In_ const sai_attribute_t *attr_list)

Create and return a event object id.

Parameters
[out]tam_event_idEvent object Id
[in]switch_idSwitch object 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 2089 of file saitam.h.

◆ sai_create_tam_event_threshold_fn

typedef sai_status_t(* sai_create_tam_event_threshold_fn) (_Out_ sai_object_id_t *tam_event_threshold_id, _In_ sai_object_id_t switch_id, _In_ uint32_t attr_count, _In_ const sai_attribute_t *attr_list)

Create and return a threshold object.

Parameters
[out]tam_event_threshold_idEvent Threshold object
[in]switch_idSwitch object 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 397 of file saitam.h.

◆ sai_create_tam_fn

typedef sai_status_t(* sai_create_tam_fn) (_Out_ sai_object_id_t *tam_id, _In_ sai_object_id_t switch_id, _In_ uint32_t attr_count, _In_ const sai_attribute_t *attr_list)

Create and return a TAM object.

This creates a TAM object in the driver for tracking the buffer usage. Via the attributes, caller may indicate a preference for tracking of a specific set of statistics/groups.

Parameters
[out]tam_idTAM object
[in]switch_idSwitch object 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 116 of file saitam.h.

◆ sai_create_tam_int_fn

typedef sai_status_t(* sai_create_tam_int_fn) (_Out_ sai_object_id_t *tam_int_id, _In_ sai_object_id_t switch_id, _In_ uint32_t attr_count, _In_ const sai_attribute_t *attr_list)

Create and return a INT type object.

Parameters
[out]tam_int_idINT object
[in]switch_idSwitch object 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 822 of file saitam.h.

◆ sai_create_tam_math_func_fn

typedef sai_status_t(* sai_create_tam_math_func_fn) (_Out_ sai_object_id_t *tam_math_func_id, _In_ sai_object_id_t switch_id, _In_ uint32_t attr_count, _In_ const sai_attribute_t *attr_list)

Create and return a math function object.

Parameters
[out]tam_math_func_idObject id for math function
[in]switch_idSwitch object 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 227 of file saitam.h.

◆ sai_create_tam_report_fn

typedef sai_status_t(* sai_create_tam_report_fn) (_Out_ sai_object_id_t *tam_report_id, _In_ sai_object_id_t switch_id, _In_ uint32_t attr_count, _In_ const sai_attribute_t *attr_list)

Create and return a report object id.

Parameters
[out]tam_report_idReport object Id
[in]switch_idSwitch object 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 1348 of file saitam.h.

◆ sai_create_tam_tel_type_fn

typedef sai_status_t(* sai_create_tam_tel_type_fn) (_Out_ sai_object_id_t *tam_tel_type_id, _In_ sai_object_id_t switch_id, _In_ uint32_t attr_count, _In_ const sai_attribute_t *attr_list)

Create and return a telemetry type object.

Parameters
[out]tam_tel_type_idTelemetry type object
[in]switch_idSwitch object 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 1099 of file saitam.h.

◆ sai_create_tam_telemetry_fn

typedef sai_status_t(* sai_create_tam_telemetry_fn) (_Out_ sai_object_id_t *tam_telemetry_id, _In_ sai_object_id_t switch_id, _In_ uint32_t attr_count, _In_ const sai_attribute_t *attr_list)

Create and return a telemetry object.

Parameters
[out]tam_telemetry_idTelemetry object id
[in]switch_idSwitch object 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 1489 of file saitam.h.

◆ sai_create_tam_transport_fn

typedef sai_status_t(* sai_create_tam_transport_fn) (_Out_ sai_object_id_t *tam_transport_id, _In_ sai_object_id_t switch_id, _In_ uint32_t attr_count, _In_ const sai_attribute_t *attr_list)

Create and return a transport object id.

Parameters
[out]tam_transport_idTransport object Id
[in]switch_idSwitch object 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 1665 of file saitam.h.

◆ sai_get_tam_attribute_fn

typedef sai_status_t(* sai_get_tam_attribute_fn) (_In_ sai_object_id_t tam_id, _In_ uint32_t attr_count, _Inout_ sai_attribute_t *attr_list)

Get values for specified TAM attributes.

Parameters
[in]tam_idTAM object 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 155 of file saitam.h.

◆ sai_get_tam_collector_attribute_fn

typedef sai_status_t(* sai_get_tam_collector_attribute_fn) (_In_ sai_object_id_t tam_collector_id, _In_ uint32_t attr_count, _Inout_ sai_attribute_t *attr_list)

Get values for specified collector object attributes.

Parameters
[in]tam_collector_idCollector object 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 1834 of file saitam.h.

◆ sai_get_tam_counter_subscription_attribute_fn

typedef sai_status_t(* sai_get_tam_counter_subscription_attribute_fn) (_In_ sai_object_id_t tam_counter_subscription_id, _In_ uint32_t attr_count, _Inout_ sai_attribute_t *attr_list)

Get values for specified event object attributes.

Parameters
[in]tam_counter_subscription_idCounter Subscription object 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 2238 of file saitam.h.

◆ sai_get_tam_event_action_attribute_fn

typedef sai_status_t(* sai_get_tam_event_action_attribute_fn) (_In_ sai_object_id_t tam_event_action_id, _In_ uint32_t attr_count, _Inout_ sai_attribute_t *attr_list)

Get values for specified event object attributes.

Parameters
[in]tam_event_action_idEvent object 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 1993 of file saitam.h.

◆ sai_get_tam_event_attribute_fn

typedef sai_status_t(* sai_get_tam_event_attribute_fn) (_In_ sai_object_id_t tam_event_id, _In_ uint32_t attr_count, _Inout_ sai_attribute_t *attr_list)

Get values for specified event object attributes.

Parameters
[in]tam_event_idEvent object 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 2114 of file saitam.h.

◆ sai_get_tam_event_threshold_attribute_fn

typedef sai_status_t(* sai_get_tam_event_threshold_attribute_fn) (_In_ sai_object_id_t tam_event_threshold_id, _In_ uint32_t attr_count, _Inout_ sai_attribute_t *attr_list)

Get values for specified threshold object attributes.

Parameters
[in]tam_event_threshold_idEvent Threshold object
[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 422 of file saitam.h.

◆ sai_get_tam_int_attribute_fn

typedef sai_status_t(* sai_get_tam_int_attribute_fn) (_In_ sai_object_id_t tam_int_id, _In_ uint32_t attr_count, _Inout_ sai_attribute_t *attr_list)

Get values for specified INT object attributes.

Parameters
[in]tam_int_idINT object 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 847 of file saitam.h.

◆ sai_get_tam_math_func_attribute_fn

typedef sai_status_t(* sai_get_tam_math_func_attribute_fn) (_In_ sai_object_id_t tam_math_func_id, _In_ uint32_t attr_count, _Inout_ sai_attribute_t *attr_list)

Get values for specified Math function attributes.

Parameters
[in]tam_math_func_idObject id for math function
[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 252 of file saitam.h.

◆ sai_get_tam_report_attribute_fn

typedef sai_status_t(* sai_get_tam_report_attribute_fn) (_In_ sai_object_id_t tam_report_id, _In_ uint32_t attr_count, _Inout_ sai_attribute_t *attr_list)

Get values for specified report object attributes.

Parameters
[in]tam_report_idReport object 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 1373 of file saitam.h.

◆ sai_get_tam_tel_type_attribute_fn

typedef sai_status_t(* sai_get_tam_tel_type_attribute_fn) (_In_ sai_object_id_t tam_tel_type_id, _In_ uint32_t attr_count, _Inout_ sai_attribute_t *attr_list)

Get values for specified telemetry type object attributes.

Parameters
[in]tam_tel_type_idTelemetry type object 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 1124 of file saitam.h.

◆ sai_get_tam_telemetry_attribute_fn

typedef sai_status_t(* sai_get_tam_telemetry_attribute_fn) (_In_ sai_object_id_t tam_telemetry_id, _In_ uint32_t attr_count, _Inout_ sai_attribute_t *attr_list)

Get values for specified telemetry object attributes.

Parameters
[in]tam_telemetry_idTelemetry object
[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 1514 of file saitam.h.

◆ sai_get_tam_transport_attribute_fn

typedef sai_status_t(* sai_get_tam_transport_attribute_fn) (_In_ sai_object_id_t tam_transport_id, _In_ uint32_t attr_count, _Inout_ sai_attribute_t *attr_list)

Get values for specified transport object attributes.

Parameters
[in]tam_transport_idTransport object 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 1690 of file saitam.h.

◆ sai_remove_tam_collector_fn

typedef sai_status_t(* sai_remove_tam_collector_fn) (_In_ sai_object_id_t tam_collector_id)

Deletes a specified collector object.

Parameters
[in]tam_collector_idCollector object id
Returns
SAI_STATUS_SUCCESS on success, failure status code on error

Definition at line 1822 of file saitam.h.

◆ sai_remove_tam_counter_subscription_fn

typedef sai_status_t(* sai_remove_tam_counter_subscription_fn) (_In_ sai_object_id_t tam_counter_subscription_id)

Delete a specified counter subscription.

Parameters
[in]tam_counter_subscription_idCounter Subscription object id
Returns
SAI_STATUS_SUCCESS on success, failure status code on error

Definition at line 2214 of file saitam.h.

◆ sai_remove_tam_event_action_fn

typedef sai_status_t(* sai_remove_tam_event_action_fn) (_In_ sai_object_id_t tam_event_action_id)

Deletes a specified event object.

Parameters
[in]tam_event_action_idEvent object id
Returns
SAI_STATUS_SUCCESS on success, failure status code on error

Definition at line 1981 of file saitam.h.

◆ sai_remove_tam_event_fn

typedef sai_status_t(* sai_remove_tam_event_fn) (_In_ sai_object_id_t tam_event_id)

Deletes a specified event object.

Parameters
[in]tam_event_idEvent object id
Returns
SAI_STATUS_SUCCESS on success, failure status code on error

Definition at line 2102 of file saitam.h.

◆ sai_remove_tam_event_threshold_fn

typedef sai_status_t(* sai_remove_tam_event_threshold_fn) (_In_ sai_object_id_t tam_event_threshold_id)

Deletes a specified threshold object.

Parameters
[in]tam_event_threshold_idEvent Threshold object
Returns
SAI_STATUS_SUCCESS on success, failure status code on error

Definition at line 410 of file saitam.h.

◆ sai_remove_tam_fn

typedef sai_status_t(* sai_remove_tam_fn) (_In_ sai_object_id_t tam_id)

Deletes a specified tam object.

Deleting a TAM object also deletes all associated report and threshold objects.

Parameters
[in]tam_idTAM object to be removed.
Returns
SAI_STATUS_SUCCESS on success, failure status code on error

Definition at line 131 of file saitam.h.

◆ sai_remove_tam_int_fn

typedef sai_status_t(* sai_remove_tam_int_fn) (_In_ sai_object_id_t tam_int_id)

Deletes a specified INT object.

Parameters
[in]tam_int_idINT type object id
Returns
SAI_STATUS_SUCCESS on success, failure status code on error

Definition at line 835 of file saitam.h.

◆ sai_remove_tam_math_func_fn

typedef sai_status_t(* sai_remove_tam_math_func_fn) (_In_ sai_object_id_t tam_math_func_id)

Deletes a specified Match function object.

Parameters
[in]tam_math_func_idObject id for math function
Returns
SAI_STATUS_SUCCESS on success, failure status code on error

Definition at line 240 of file saitam.h.

◆ sai_remove_tam_report_fn

typedef sai_status_t(* sai_remove_tam_report_fn) (_In_ sai_object_id_t tam_report_id)

Deletes a specified report object.

Parameters
[in]tam_report_idReport object id
Returns
SAI_STATUS_SUCCESS on success, failure status code on error

Definition at line 1361 of file saitam.h.

◆ sai_remove_tam_tel_type_fn

typedef sai_status_t(* sai_remove_tam_tel_type_fn) (_In_ sai_object_id_t tam_tel_type_id)

Deletes a specified telemetry type object.

Parameters
[in]tam_tel_type_idTelemetry type object id
Returns
SAI_STATUS_SUCCESS on success, failure status code on error

Definition at line 1112 of file saitam.h.

◆ sai_remove_tam_telemetry_fn

typedef sai_status_t(* sai_remove_tam_telemetry_fn) (_In_ sai_object_id_t tam_telemetry_id)

Deletes a specified telemetry object.

Parameters
[in]tam_telemetry_idTelemetry object
Returns
SAI_STATUS_SUCCESS on success, failure status code on error

Definition at line 1502 of file saitam.h.

◆ sai_remove_tam_transport_fn

typedef sai_status_t(* sai_remove_tam_transport_fn) (_In_ sai_object_id_t tam_transport_id)

Deletes a specified transport object.

Parameters
[in]tam_transport_idTransport object id
Returns
SAI_STATUS_SUCCESS on success, failure status code on error

Definition at line 1678 of file saitam.h.

◆ sai_set_tam_attribute_fn

typedef sai_status_t(* sai_set_tam_attribute_fn) (_In_ sai_object_id_t tam_id, _In_ const sai_attribute_t *attr)

Set TAM attribute value(s).

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

Definition at line 142 of file saitam.h.

◆ sai_set_tam_collector_attribute_fn

typedef sai_status_t(* sai_set_tam_collector_attribute_fn) (_In_ sai_object_id_t tam_collector_id, _In_ const sai_attribute_t *attr)

Set value for a specified collector object attribute.

Parameters
[in]tam_collector_idCollector object id
[in]attrAttribute
Returns
SAI_STATUS_SUCCESS on success, failure status code on error

Definition at line 1847 of file saitam.h.

◆ sai_set_tam_counter_subscription_attribute_fn

typedef sai_status_t(* sai_set_tam_counter_subscription_attribute_fn) (_In_ sai_object_id_t tam_counter_subscription_id, _In_ const sai_attribute_t *attr)

Set value for a specified counter subscription object attribute.

Parameters
[in]tam_counter_subscription_idCounter Subscription object id
[in]attrAttribute
Returns
SAI_STATUS_SUCCESS on success, failure status code on error

Definition at line 2225 of file saitam.h.

◆ sai_set_tam_event_action_attribute_fn

typedef sai_status_t(* sai_set_tam_event_action_attribute_fn) (_In_ sai_object_id_t tam_event_action_id, _In_ const sai_attribute_t *attr)

Set value for a specified event object attribute.

Parameters
[in]tam_event_action_idEvent object id
[in]attrAttribute
Returns
SAI_STATUS_SUCCESS on success, failure status code on error

Definition at line 2006 of file saitam.h.

◆ sai_set_tam_event_attribute_fn

typedef sai_status_t(* sai_set_tam_event_attribute_fn) (_In_ sai_object_id_t tam_event_id, _In_ const sai_attribute_t *attr)

Set value for a specified event object attribute.

Parameters
[in]tam_event_idEvent object id
[in]attrAttribute
Returns
SAI_STATUS_SUCCESS on success, failure status code on error

Definition at line 2127 of file saitam.h.

◆ sai_set_tam_event_threshold_attribute_fn

typedef sai_status_t(* sai_set_tam_event_threshold_attribute_fn) (_In_ sai_object_id_t tam_event_threshold_id, _In_ const sai_attribute_t *attr)

Set value for a specified threshold object attribute.

Parameters
[in]tam_event_threshold_idEvent Threshold object
[in]attrAttribute
Returns
SAI_STATUS_SUCCESS on success, failure status code on error

Definition at line 435 of file saitam.h.

◆ sai_set_tam_int_attribute_fn

typedef sai_status_t(* sai_set_tam_int_attribute_fn) (_In_ sai_object_id_t tam_int_id, _In_ const sai_attribute_t *attr)

Set value for a specified INT object attribute.

Parameters
[in]tam_int_idINT object id
[in]attrAttribute
Returns
SAI_STATUS_SUCCESS on success, failure status code on error

Definition at line 860 of file saitam.h.

◆ sai_set_tam_math_func_attribute_fn

typedef sai_status_t(* sai_set_tam_math_func_attribute_fn) (_In_ sai_object_id_t tam_math_func_id, _In_ const sai_attribute_t *attr)

Set value for specified Math function attribute.

Parameters
[in]tam_math_func_idObject id for math function
[in]attrAttribute
Returns
SAI_STATUS_SUCCESS on success, failure status code on error

Definition at line 265 of file saitam.h.

◆ sai_set_tam_report_attribute_fn

typedef sai_status_t(* sai_set_tam_report_attribute_fn) (_In_ sai_object_id_t tam_report_id, _In_ const sai_attribute_t *attr)

Set value for a specified report object attribute.

Parameters
[in]tam_report_idReport object id
[in]attrAttribute
Returns
SAI_STATUS_SUCCESS on success, failure status code on error

Definition at line 1386 of file saitam.h.

◆ sai_set_tam_tel_type_attribute_fn

typedef sai_status_t(* sai_set_tam_tel_type_attribute_fn) (_In_ sai_object_id_t tam_tel_type_id, _In_ const sai_attribute_t *attr)

Set value for a specified telemetry type object attribute.

Parameters
[in]tam_tel_type_idTelemetry type object id
[in]attrAttribute
Returns
SAI_STATUS_SUCCESS on success, failure status code on error

Definition at line 1137 of file saitam.h.

◆ sai_set_tam_telemetry_attribute_fn

typedef sai_status_t(* sai_set_tam_telemetry_attribute_fn) (_In_ sai_object_id_t tam_telemetry_id, _In_ const sai_attribute_t *attr)

Set value for a specified telemetry object attribute.

Parameters
[in]tam_telemetry_idTelemetry object
[in]attrAttribute
Returns
SAI_STATUS_SUCCESS on success, failure status code on error

Definition at line 1527 of file saitam.h.

◆ sai_set_tam_transport_attribute_fn

typedef sai_status_t(* sai_set_tam_transport_attribute_fn) (_In_ sai_object_id_t tam_transport_id, _In_ const sai_attribute_t *attr)

Set value for a specified transport object attribute.

Parameters
[in]tam_transport_idTransport object id
[in]attrAttribute
Returns
SAI_STATUS_SUCCESS on success, failure status code on error

Definition at line 1703 of file saitam.h.

◆ sai_tam_event_notification_fn

typedef void(* sai_tam_event_notification_fn) (_In_ sai_object_id_t tam_event_id, _In_ sai_size_t buffer_size, _In_ const void *buffer, _In_ uint32_t attr_count, _In_ const sai_attribute_t *attr_list)

TAM event callback.

Count:
attr_list[attr_count]
Count:
buffer[buffer_size]
Allowed object types
attr_list SAI_OBJECT_TYPE_TAM_EVENT_ACTION
Allowed object types
tam_event_id SAI_OBJECT_TYPE_TAM_EVENT
Parameters
[in]tam_event_idCreate Event Object ID
[in]buffer_sizeActual buffer size in bytes
[in]bufferData buffer
[in]attr_countNumber of attributes
[in]attr_listArray of attributes

Definition at line 2257 of file saitam.h.

Enumeration Type Documentation

◆ _sai_tam_attr_t

TAM Attributes.

Enumerator
SAI_TAM_ATTR_START 

Start of Attributes.

SAI_TAM_ATTR_TELEMETRY_OBJECTS_LIST 

Tam telemetry objects associated with this tam.

Value Type:
sai_object_list_t
Flags:
CREATE_AND_SET
Allowed object types
SAI_OBJECT_TYPE_TAM_TELEMETRY
Default value:
empty
SAI_TAM_ATTR_EVENT_OBJECTS_LIST 

Tam event objects associated with this tam.

Value Type:
sai_object_list_t
Flags:
CREATE_AND_SET
Allowed object types
SAI_OBJECT_TYPE_TAM_EVENT
Default value:
empty
SAI_TAM_ATTR_INT_OBJECTS_LIST 

Tam INT objects associated with this tam.

Value Type:
sai_object_list_t
Flags:
CREATE_AND_SET
Allowed object types
SAI_OBJECT_TYPE_TAM_INT
Default value:
empty
SAI_TAM_ATTR_TAM_BIND_POINT_TYPE_LIST 

List of TAM bind points where this object will be applied.

TAM group bind point list - create only attribute required for TAM object to let the user specify his intention to allow the source to generate data.

Value Type:
sai_s32_list_t sai_tam_bind_point_type_t
Flags:
CREATE_ONLY
Default value:
empty
SAI_TAM_ATTR_END 

End of Attributes.

SAI_TAM_ATTR_CUSTOM_RANGE_START 

Custom range base value

SAI_TAM_ATTR_CUSTOM_RANGE_END 

End of custom range base

Definition at line 39 of file saitam.h.

◆ _sai_tam_collector_attr_t

TAM collector attributes.

Enumerator
SAI_TAM_COLLECTOR_ATTR_START 

Start of Attributes.

SAI_TAM_COLLECTOR_ATTR_SRC_IP 

Source IP address.

Note: Applicable only when SAI_TAM_TRANSPORT_ATTR_TRANSPORT_TYPE != SAI_TAM_TRANSPORT_TYPE_NONE

Value Type:
sai_ip_address_t
Flags:
MANDATORY_ON_CREATE | CREATE_AND_SET
SAI_TAM_COLLECTOR_ATTR_DST_IP 

Destination IP addresses.

Note: Applicable only when SAI_TAM_TRANSPORT_ATTR_TRANSPORT_TYPE != SAI_TAM_TRANSPORT_TYPE_NONE

Value Type:
sai_ip_address_t
Flags:
MANDATORY_ON_CREATE | CREATE_AND_SET
SAI_TAM_COLLECTOR_ATTR_LOCALHOST 

Destination local CPU.

Note: Applicable only when SAI_TAM_TRANSPORT_ATTR_TRANSPORT_TYPE == SAI_TAM_TRANSPORT_TYPE_NONE

Value Type:
bool
Flags:
CREATE_AND_SET
Default value:
true
SAI_TAM_COLLECTOR_ATTR_VIRTUAL_ROUTER_ID 

Virtual router ID.

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

Telemetry report truncate size.

Value Type:
sai_uint16_t
Flags:
CREATE_AND_SET
IsVlan:
false
Default value:
0
SAI_TAM_COLLECTOR_ATTR_TRANSPORT 

Transport attributes object.

Value Type:
sai_object_id_t
Flags:
MANDATORY_ON_CREATE | CREATE_AND_SET
Allowed object types
SAI_OBJECT_TYPE_TAM_TRANSPORT
SAI_TAM_COLLECTOR_ATTR_DSCP_VALUE 

DSCP value.

Value Type:
sai_uint8_t
Flags:
MANDATORY_ON_CREATE | CREATE_AND_SET
SAI_TAM_COLLECTOR_ATTR_END 

End of Attributes.

SAI_TAM_COLLECTOR_ATTR_CUSTOM_RANGE_START 

Custom range base value

SAI_TAM_COLLECTOR_ATTR_CUSTOM_RANGE_END 

End of custom range base

Definition at line 1710 of file saitam.h.

◆ _sai_tam_counter_subscription_attr_t

Counter Subscription attributes.

Enumerator
SAI_TAM_COUNTER_SUBSCRIPTION_ATTR_START 

Start of Attributes.

SAI_TAM_COUNTER_SUBSCRIPTION_ATTR_TEL_TYPE 

TAM telemetry type object.

Value Type:
sai_object_id_t
Flags:
MANDATORY_ON_CREATE | CREATE_ONLY
Allowed object types
SAI_OBJECT_TYPE_TAM_TEL_TYPE
SAI_TAM_COUNTER_SUBSCRIPTION_ATTR_OBJECT_ID 

Subscribed object.

Value Type:
sai_object_id_t
Flags:
MANDATORY_ON_CREATE | CREATE_ONLY
Allowed object types
SAI_OBJECT_TYPE_BUFFER_POOL, SAI_OBJECT_TYPE_INGRESS_PRIORITY_GROUP, SAI_OBJECT_TYPE_PORT, SAI_OBJECT_TYPE_QUEUE
SAI_TAM_COUNTER_SUBSCRIPTION_ATTR_STAT_ID 

Subscribed stat enum.

Value Type:
sai_uint32_t
Flags:
MANDATORY_ON_CREATE | CREATE_ONLY
SAI_TAM_COUNTER_SUBSCRIPTION_ATTR_LABEL 

Telemetry label.

Label to identify this counter in telemetry reports.

Value Type:
sai_uint64_t
Flags:
CREATE_ONLY
Default value:
0
SAI_TAM_COUNTER_SUBSCRIPTION_ATTR_END 

End of Attributes.

SAI_TAM_COUNTER_SUBSCRIPTION_ATTR_CUSTOM_RANGE_START 

Custom range base value

SAI_TAM_COUNTER_SUBSCRIPTION_ATTR_CUSTOM_RANGE_END 

End of custom range base

Definition at line 2134 of file saitam.h.

◆ _sai_tam_event_action_attr_t

Enum defining event types.

Enumerator
SAI_TAM_EVENT_ACTION_ATTR_START 

Start of Attributes.

SAI_TAM_EVENT_ACTION_ATTR_REPORT_TYPE 

Report Object.

Value Type:
sai_object_id_t
Flags:
MANDATORY_ON_CREATE | CREATE_AND_SET
Allowed object types
SAI_OBJECT_TYPE_TAM_REPORT
SAI_TAM_EVENT_ACTION_ATTR_QOS_ACTION_TYPE 

QOS action Type Object.

Value Type:
sai_uint32_t
Flags:
CREATE_AND_SET
Default value:
0
SAI_TAM_EVENT_ACTION_ATTR_END 

End of Attributes.

SAI_TAM_EVENT_ACTION_ATTR_CUSTOM_RANGE_START 

Custom range base value

SAI_TAM_EVENT_ACTION_ATTR_CUSTOM_RANGE_END 

End of custom range base

Definition at line 1920 of file saitam.h.

◆ _sai_tam_event_attr_t

Tam event attributes.

Enumerator
SAI_TAM_EVENT_ATTR_START 

Start of Attributes.

SAI_TAM_EVENT_ATTR_TYPE 

Tam event type.

Value Type:
sai_tam_event_type_t
Flags:
MANDATORY_ON_CREATE | CREATE_ONLY
SAI_TAM_EVENT_ATTR_ACTION_LIST 

Event action.

Value Type:
sai_object_list_t
Flags:
MANDATORY_ON_CREATE | CREATE_ONLY
Allowed object types
SAI_OBJECT_TYPE_TAM_EVENT_ACTION
SAI_TAM_EVENT_ATTR_COLLECTOR_LIST 

Collector object list.

Value Type:
sai_object_list_t
Flags:
MANDATORY_ON_CREATE | CREATE_ONLY
Allowed object types
SAI_OBJECT_TYPE_TAM_COLLECTOR
SAI_TAM_EVENT_ATTR_THRESHOLD 

Tam event threshold attr Object.

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

DSCP value.

Value Type:
sai_uint8_t
Flags:
CREATE_AND_SET
Default value:
0
SAI_TAM_EVENT_ATTR_END 

End of Attributes.

SAI_TAM_EVENT_ATTR_CUSTOM_RANGE_START 

Custom range base value

SAI_TAM_EVENT_ATTR_CUSTOM_RANGE_END 

End of custom range base

Definition at line 2013 of file saitam.h.

◆ _sai_tam_event_threshold_attr_t

Event Threshold Attributes.

Enumerator
SAI_TAM_EVENT_THRESHOLD_ATTR_START 

Start of Attributes.

SAI_TAM_EVENT_THRESHOLD_ATTR_HIGH_WATERMARK 

High water mark.

Value Type:
sai_uint32_t
Flags:
CREATE_AND_SET
Default value:
90
SAI_TAM_EVENT_THRESHOLD_ATTR_LOW_WATERMARK 

Low Water Mark.

Value Type:
sai_uint32_t
Flags:
CREATE_AND_SET
Default value:
10
SAI_TAM_EVENT_THRESHOLD_ATTR_LATENCY 

Latency in nanoseconds.

Value Type:
sai_uint32_t
Flags:
CREATE_AND_SET
Default value:
10
SAI_TAM_EVENT_THRESHOLD_ATTR_RATE 

Rate for specified event type.

Value Type:
sai_uint32_t
Flags:
CREATE_AND_SET
Default value:
0
SAI_TAM_EVENT_THRESHOLD_ATTR_ABS_VALUE 

Abs Value for specified Event.

Value Type:
sai_uint32_t
Flags:
CREATE_AND_SET
Default value:
0
SAI_TAM_EVENT_THRESHOLD_ATTR_UNIT 

Tam event threshold unit.

Value Type:
sai_tam_event_threshold_unit_t
Flags:
CREATE_AND_SET
Default value:
SAI_TAM_EVENT_THRESHOLD_UNIT_MSEC
SAI_TAM_EVENT_THRESHOLD_ATTR_END 

End of Attributes.

SAI_TAM_EVENT_THRESHOLD_ATTR_CUSTOM_RANGE_START 

Custom range base value

SAI_TAM_EVENT_THRESHOLD_ATTR_CUSTOM_RANGE_END 

End of custom range base

Definition at line 313 of file saitam.h.

◆ _sai_tam_event_threshold_unit_t

TAM event threshold unit.

Enumerator
SAI_TAM_EVENT_THRESHOLD_UNIT_NANOSEC 

Event threshold unit nanosecond.

SAI_TAM_EVENT_THRESHOLD_UNIT_USEC 

Event threshold unit micro second.

SAI_TAM_EVENT_THRESHOLD_UNIT_MSEC 

Event threshold unit millisecond.

SAI_TAM_EVENT_THRESHOLD_UNIT_PERCENT 

Event threshold unit percent.

SAI_TAM_EVENT_THRESHOLD_UNIT_BYTES 

Event threshold unit byte count.

SAI_TAM_EVENT_THRESHOLD_UNIT_PACKETS 

Event threshold unit packet count.

SAI_TAM_EVENT_THRESHOLD_UNIT_CELLS 

Event threshold unit cells.

Definition at line 272 of file saitam.h.

◆ _sai_tam_event_type_t

Enum defining event types.

Enumerator
SAI_TAM_EVENT_TYPE_FLOW_STATE 

New flow or flow state change event This event is used to monitoring the state of flow A flow can be learned, aged, or classified.

SAI_TAM_EVENT_TYPE_FLOW_WATCHLIST 

Watchlist event Instead of a single flow, a group flows can be monitored.

SAI_TAM_EVENT_TYPE_FLOW_TCPFLAG 

Flow TCP FLAGS event All TCP Flags are monitored for change.

SAI_TAM_EVENT_TYPE_QUEUE_THRESHOLD 

Queue depth or latency threshold event Queue occupancy threshold.

SAI_TAM_EVENT_TYPE_QUEUE_TAIL_DROP 

Queue tail drop event Number of packets dropped as tail drops because the queue is full.

SAI_TAM_EVENT_TYPE_PACKET_DROP 

Packet drop event Simple drop of packets for any reason.

SAI_TAM_EVENT_TYPE_RESOURCE_UTILIZATION 

Switch resource utilization threshold event Any resource utilization when exceeds a threshold For example, route table if 90% full can generate an event.

SAI_TAM_EVENT_TYPE_IPG_SHARED 

Ingress priority group shared occupancy threshold event.

SAI_TAM_EVENT_TYPE_IPG_XOFF_ROOM 

Ingress priority group XOFF room threshold event.

SAI_TAM_EVENT_TYPE_BSP 

Buffer service pool threshold event.

Definition at line 1854 of file saitam.h.

◆ _sai_tam_int_attr_t

Attributes for TAM INT.

Enumerator
SAI_TAM_INT_ATTR_START 

Start of Attributes.

SAI_TAM_INT_ATTR_TYPE 

Type of INT method.

Value Type:
sai_tam_int_type_t
Flags:
MANDATORY_ON_CREATE | CREATE_ONLY
SAI_TAM_INT_ATTR_DEVICE_ID 

Device Identifier.

Value Type:
sai_uint32_t
Flags:
MANDATORY_ON_CREATE | CREATE_ONLY
SAI_TAM_INT_ATTR_IOAM_TRACE_TYPE 

IOAM trace type.

Value Type:
sai_uint32_t
Flags:
CREATE_AND_SET
Default value:
0
Valid only when:
SAI_TAM_INT_ATTR_TYPE == SAI_TAM_INT_TYPE_IOAM
SAI_TAM_INT_ATTR_INT_PRESENCE_TYPE 

Type of indication of INT presence in a packet.

Value Type:
sai_tam_int_presence_type_t
Flags:
MANDATORY_ON_CREATE | CREATE_ONLY
SAI_TAM_INT_ATTR_INT_PRESENCE_PB1 

First 4 octets of Probe Marker value that indicates INT presence.

Value Type:
sai_uint32_t
Flags:
MANDATORY_ON_CREATE | CREATE_ONLY
Condition:
SAI_TAM_INT_ATTR_INT_PRESENCE_TYPE == SAI_TAM_INT_PRESENCE_TYPE_PB
SAI_TAM_INT_ATTR_INT_PRESENCE_PB2 

Second 4 octets of Probe Marker value that indicates INT presence.

Value Type:
sai_uint32_t
Flags:
MANDATORY_ON_CREATE | CREATE_ONLY
Condition:
SAI_TAM_INT_ATTR_INT_PRESENCE_TYPE == SAI_TAM_INT_PRESENCE_TYPE_PB
SAI_TAM_INT_ATTR_INT_PRESENCE_DSCP_VALUE 

DSCP value that indicates presence of INT in a packet.

Value Type:
sai_uint8_t
Flags:
MANDATORY_ON_CREATE | CREATE_ONLY
Condition:
SAI_TAM_INT_ATTR_INT_PRESENCE_TYPE == SAI_TAM_INT_PRESENCE_TYPE_DSCP
SAI_TAM_INT_ATTR_INLINE 

Inline or Clone mode Inline mode will insert header and metadata in live packet Clone mode will insert header and metadata in cloned packet.

Value Type:
bool
Flags:
MANDATORY_ON_CREATE | CREATE_ONLY
SAI_TAM_INT_ATTR_INT_PRESENCE_L3_PROTOCOL 

L3 protocol value that indicates presence of INT in a packet.

Value Type:
sai_uint8_t
Flags:
MANDATORY_ON_CREATE | CREATE_ONLY
Condition:
SAI_TAM_INT_ATTR_INT_PRESENCE_TYPE == SAI_TAM_INT_PRESENCE_TYPE_L3_PROTOCOL
SAI_TAM_INT_ATTR_TRACE_VECTOR 

Trace vector value trace vector is used to specified the fields of interest in metadata header.

Value Type:
sai_uint16_t
Flags:
CREATE_AND_SET
IsVlan:
false
Default value:
0
Valid only when:
SAI_TAM_INT_ATTR_TYPE == SAI_TAM_INT_TYPE_IFA1 or SAI_TAM_INT_ATTR_TYPE == SAI_TAM_INT_TYPE_IFA2
SAI_TAM_INT_ATTR_ACTION_VECTOR 

Action vector value action vector is used to specified the actions of interest on metadata header value of 0 means no actions of interest.

Value Type:
sai_uint16_t
Flags:
CREATE_AND_SET
IsVlan:
false
Default value:
0
Valid only when:
SAI_TAM_INT_ATTR_TYPE == SAI_TAM_INT_TYPE_IFA1 or SAI_TAM_INT_ATTR_TYPE == SAI_TAM_INT_TYPE_IFA2
SAI_TAM_INT_ATTR_P4_INT_INSTRUCTION_BITMAP 

P4 INT instruction bitmap.

Value Type:
sai_uint16_t
Flags:
CREATE_AND_SET
IsVlan:
false
Default value:
0
Valid only when:
SAI_TAM_INT_ATTR_TYPE == SAI_TAM_INT_TYPE_P4_INT_1 or SAI_TAM_INT_ATTR_TYPE == SAI_TAM_INT_TYPE_P4_INT_2
SAI_TAM_INT_ATTR_METADATA_FRAGMENT_ENABLE 

Enable metadata fragmentation.

When there is insufficient space in the packet to add INT metadata for this hop (e.g. MTU would be exceeded), the device may remove the metadata from the packet, send a report to the collector, and insert its metadata before forwarding the packet.

Note: Applicable only when SAI_TAM_INT_ATTR_TYPE != SAI_TAM_INT_TYPE_DIRECT_EXPORT

Value Type:
bool
Flags:
CREATE_AND_SET
Default value:
false
SAI_TAM_INT_ATTR_METADATA_CHECKSUM_ENABLE 

Enable checksum.

Enable checksum for metadata stack

Value Type:
bool
Flags:
CREATE_AND_SET
Default value:
false
Valid only when:
SAI_TAM_INT_ATTR_TYPE == SAI_TAM_INT_TYPE_IFA2
SAI_TAM_INT_ATTR_REPORT_ALL_PACKETS 

TAM INT should report all packets without filtering.

Value Type:
bool
Flags:
CREATE_AND_SET
Default value:
false
SAI_TAM_INT_ATTR_FLOW_LIVENESS_PERIOD 

TAM INT flow liveliness period in seconds.

Value Type:
sai_uint16_t
Flags:
CREATE_AND_SET
IsVlan:
false
Default value:
0
SAI_TAM_INT_ATTR_LATENCY_SENSITIVITY 

Latency sensitivity for flow state change detection in units of 2^n nanoseconds.

Value Type:
sai_uint8_t
Flags:
CREATE_AND_SET
Default value:
20
SAI_TAM_INT_ATTR_ACL_GROUP 

INT bind point for ACL object.

Bind (or unbind) an ACL table or ACL group. Enable/Update ACL table or ACL group filtering for INT insertion. Disable ingress filtering by assigning SAI_NULL_OBJECT_ID in the attribute value.

Value Type:
sai_object_id_t
Flags:
CREATE_AND_SET
Allowed object types
SAI_OBJECT_TYPE_ACL_TABLE, SAI_OBJECT_TYPE_ACL_TABLE_GROUP
Allows NULL object ID
true
Default value:
SAI_NULL_OBJECT_ID
SAI_TAM_INT_ATTR_MAX_HOP_COUNT 

Maximum number of hops allowed in the path.

Value Type:
sai_uint8_t
Flags:
CREATE_AND_SET
Default value:
0
SAI_TAM_INT_ATTR_MAX_LENGTH 

Maximum length of metadata stack, in units of 4 octet words.

Value Type:
sai_uint8_t
Flags:
CREATE_AND_SET
Default value:
0
SAI_TAM_INT_ATTR_NAME_SPACE_ID 

Metadata name space ID name space id defines the applicable format of metadata header.

Value Type:
sai_uint8_t
Flags:
CREATE_AND_SET
Default value:
0
SAI_TAM_INT_ATTR_NAME_SPACE_ID_GLOBAL 

Metadata name space ID scope name space id scope is global or local.

Value Type:
bool
Flags:
CREATE_AND_SET
Default value:
false
SAI_TAM_INT_ATTR_INGRESS_SAMPLEPACKET_ENABLE 

Enable/Disable Samplepacket session.

Enable ingress sampling by assigning samplepacket object id Disable ingress sampling by assigning SAI_NULL_OBJECT_ID as attribute value.

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

Collector object list.

Value Type:
sai_object_list_t
Flags:
CREATE_AND_SET
Allowed object types
SAI_OBJECT_TYPE_TAM_COLLECTOR
Default value:
empty
SAI_TAM_INT_ATTR_MATH_FUNC 

Math function attached.

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

Tam report type.

Value Type:
sai_object_id_t
Flags:
MANDATORY_ON_CREATE | CREATE_ONLY
Allowed object types
SAI_OBJECT_TYPE_TAM_REPORT
SAI_TAM_INT_ATTR_END 

End of Attributes.

SAI_TAM_INT_ATTR_CUSTOM_RANGE_START 

Custom range base value

SAI_TAM_INT_ATTR_CUSTOM_RANGE_END 

End of custom range base

Definition at line 519 of file saitam.h.

◆ _sai_tam_int_presence_type_t

Type of indication of INT presence in a packet.

Enumerator
SAI_TAM_INT_PRESENCE_TYPE_UNDEFINED 

Indication of INT presence in a packet is undefined.

This type can be used when all indications of INT presence in a packet are defined in well known specifications

SAI_TAM_INT_PRESENCE_TYPE_PB 

INT presence type probe marker.

SAI_TAM_INT_PRESENCE_TYPE_L3_PROTOCOL 

INT presence type L3 protocol.

SAI_TAM_INT_PRESENCE_TYPE_DSCP 

INT presence type DSCP.

Definition at line 489 of file saitam.h.

◆ _sai_tam_int_type_t

TAM INT types.

Enumerator
SAI_TAM_INT_TYPE_IOAM 

INT type IOAM.

SAI_TAM_INT_TYPE_IFA1 

INT type IFA1.

SAI_TAM_INT_TYPE_IFA2 

INT type IFA2.

SAI_TAM_INT_TYPE_P4_INT_1 

INT type P4 INT v1.

SAI_TAM_INT_TYPE_P4_INT_2 

INT type P4 INT v2.

SAI_TAM_INT_TYPE_DIRECT_EXPORT 

Direct Export (aka postcard)

SAI_TAM_INT_TYPE_IFA1_TAILSTAMP 

Telemetry data at the end of the packet.

SAI_TAM_INT_TYPE_PATH_TRACING 

INT type Path Tracing.

Definition at line 442 of file saitam.h.

◆ _sai_tam_math_func_attr_t

Attributes for Math function.

Enumerator
SAI_TAM_MATH_FUNC_ATTR_START 

Start of Attributes.

SAI_TAM_MATH_FUNC_ATTR_TAM_TEL_MATH_FUNC_TYPE 

Type of math function.

Value Type:
sai_tam_tel_math_func_type_t
Flags:
CREATE_AND_SET
Default value:
SAI_TAM_TEL_MATH_FUNC_TYPE_NONE
SAI_TAM_MATH_FUNC_ATTR_END 

End of Attributes.

SAI_TAM_MATH_FUNC_ATTR_CUSTOM_RANGE_START 

Custom range base value

SAI_TAM_MATH_FUNC_ATTR_CUSTOM_RANGE_END 

End of custom range base

Definition at line 188 of file saitam.h.

◆ _sai_tam_report_attr_t

Attributes for TAM report.

Enumerator
SAI_TAM_REPORT_ATTR_START 

Start of Attributes.

SAI_TAM_REPORT_ATTR_TYPE 

Type of reporting method.

Value Type:
sai_tam_report_type_t
Flags:
MANDATORY_ON_CREATE | CREATE_AND_SET
SAI_TAM_REPORT_ATTR_HISTOGRAM_NUMBER_OF_BINS 

Statistic for this histogram.

Value Type:
sai_uint32_t
Flags:
CREATE_ONLY
Default value:
0
Valid only when:
SAI_TAM_REPORT_ATTR_TYPE == SAI_TAM_REPORT_TYPE_HISTOGRAM
SAI_TAM_REPORT_ATTR_HISTOGRAM_BIN_BOUNDARY 

Histogram Bins Lower Boundaries.

List of lower boundary of each bin for this HISTOGRAM in number referred object units. The upper boundary of a bin is the lower boundary of next bin. The upper boundary of the last bin is infinity.

Value Type:
sai_u32_list_t
Flags:
CREATE_ONLY
Default value:
empty
Valid only when:
SAI_TAM_REPORT_ATTR_TYPE == SAI_TAM_REPORT_TYPE_HISTOGRAM
SAI_TAM_REPORT_ATTR_QUOTA 

Maximum number of reports to generate after an event.

Note: The value 0 indicates that there is no quota

Value Type:
sai_uint32_t
Flags:
CREATE_AND_SET
Default value:
0
SAI_TAM_REPORT_ATTR_REPORT_MODE 

Report Mode.

Value Type:
sai_tam_report_mode_t
Flags:
CREATE_ONLY
Default value:
SAI_TAM_REPORT_MODE_ALL
SAI_TAM_REPORT_ATTR_REPORT_INTERVAL 

Report Interval.

Value Type:
sai_uint32_t
Flags:
CREATE_AND_SET
Default value:
1000
Valid only when:
SAI_TAM_REPORT_ATTR_REPORT_MODE == SAI_TAM_REPORT_MODE_BULK
SAI_TAM_REPORT_ATTR_ENTERPRISE_NUMBER 

Enterprise number.

Value Type:
sai_uint32_t
Flags:
CREATE_AND_SET
Default value:
0
Valid only when:
SAI_TAM_REPORT_ATTR_TYPE == SAI_TAM_REPORT_TYPE_IPFIX
SAI_TAM_REPORT_ATTR_TEMPLATE_REPORT_INTERVAL 

Template report interval in minutes.

Value Type:
sai_uint32_t
Flags:
CREATE_AND_SET
Default value:
15
Valid only when:
SAI_TAM_REPORT_ATTR_TYPE == SAI_TAM_REPORT_TYPE_IPFIX
SAI_TAM_REPORT_ATTR_REPORT_INTERVAL_UNIT 

Report Interval Units.

Value Type:
sai_tam_report_interval_unit_t
Flags:
CREATE_AND_SET
Default value:
SAI_TAM_REPORT_INTERVAL_UNIT_USEC
Valid only when:
SAI_TAM_REPORT_ATTR_REPORT_MODE == SAI_TAM_REPORT_MODE_BULK
SAI_TAM_REPORT_ATTR_END 

End of Attributes.

SAI_TAM_REPORT_ATTR_CUSTOM_RANGE_START 

Custom range base value

SAI_TAM_REPORT_ATTR_CUSTOM_RANGE_END 

End of custom range base

Definition at line 1225 of file saitam.h.

◆ _sai_tam_report_interval_unit_t

TAM report interval units.

Enumerator
SAI_TAM_REPORT_INTERVAL_UNIT_NANOSEC 

Report interval unit nanosecond.

SAI_TAM_REPORT_INTERVAL_UNIT_USEC 

Report interval unit microsecond.

SAI_TAM_REPORT_INTERVAL_UNIT_MSEC 

Report interval unit millisecond.

Definition at line 1203 of file saitam.h.

◆ _sai_tam_report_mode_t

Enum defining reporting modes.

Enumerator
SAI_TAM_REPORT_MODE_ALL 

Report all events

SAI_TAM_REPORT_MODE_BULK 

Report in a bulk mode

Definition at line 1190 of file saitam.h.

◆ _sai_tam_report_type_t

TAM report types.

Enumerator
SAI_TAM_REPORT_TYPE_SFLOW 

Report using SFLOW.

SAI_TAM_REPORT_TYPE_IPFIX 

Report using IPFIX.

SAI_TAM_REPORT_TYPE_PROTO 

Report using GPB.

SAI_TAM_REPORT_TYPE_THRIFT 

Report using THRIFT.

SAI_TAM_REPORT_TYPE_JSON 

Report using JSON.

SAI_TAM_REPORT_TYPE_P4_EXTN 

Report using P4 format.

SAI_TAM_REPORT_TYPE_HISTOGRAM 

Report using Histogram.

SAI_TAM_REPORT_TYPE_VENDOR_EXTN 

Report using vendor extensions.

Definition at line 1144 of file saitam.h.

◆ _sai_tam_reporting_unit_t

TAM reporting unit.

Enumerator
SAI_TAM_REPORTING_UNIT_SEC 

Report Unit second.

SAI_TAM_REPORTING_UNIT_MINUTE 

Report unit minute.

SAI_TAM_REPORTING_UNIT_HOUR 

Report unit hour.

SAI_TAM_REPORTING_UNIT_DAY 

Report unit day.

Definition at line 1393 of file saitam.h.

◆ _sai_tam_tel_math_func_type_t

TAM Telemetry Math Function types.

Enumerator
SAI_TAM_TEL_MATH_FUNC_TYPE_NONE 

None

SAI_TAM_TEL_MATH_FUNC_TYPE_GEO_MEAN 

Geometric mean

SAI_TAM_TEL_MATH_FUNC_TYPE_ALGEBRAIC_MEAN 

Algebraic mean

SAI_TAM_TEL_MATH_FUNC_TYPE_AVERAGE 

Average

SAI_TAM_TEL_MATH_FUNC_TYPE_MODE 

Statistical function Mode

SAI_TAM_TEL_MATH_FUNC_TYPE_RATE 

Packet Rate computation

Definition at line 163 of file saitam.h.

◆ _sai_tam_tel_type_attr_t

Telemetry type attributes.

Enumerator
SAI_TAM_TEL_TYPE_ATTR_START 

Start of Attributes.

SAI_TAM_TEL_TYPE_ATTR_TAM_TELEMETRY_TYPE 

Telemetry type.

Value Type:
sai_tam_telemetry_type_t
Flags:
MANDATORY_ON_CREATE | CREATE_ONLY
SAI_TAM_TEL_TYPE_ATTR_INT_SWITCH_IDENTIFIER 

INT - Switch Identifier.

Switch Identifier can be an encoded number or an IP address

Value Type:
sai_uint32_t
Flags:
CREATE_AND_SET
Default value:
0
SAI_TAM_TEL_TYPE_ATTR_SWITCH_ENABLE_PORT_STATS 

Switch - Collect Port stats.

Value Type:
bool
Flags:
CREATE_AND_SET
Default value:
false
SAI_TAM_TEL_TYPE_ATTR_SWITCH_ENABLE_PORT_STATS_INGRESS 

Switch - Collect Port stats ingress.

Value Type:
bool
Flags:
CREATE_AND_SET
Default value:
false
SAI_TAM_TEL_TYPE_ATTR_SWITCH_ENABLE_PORT_STATS_EGRESS 

Switch - Collect Port stats egress.

Value Type:
bool
Flags:
CREATE_AND_SET
Default value:
false
SAI_TAM_TEL_TYPE_ATTR_SWITCH_ENABLE_VIRTUAL_QUEUE_STATS 

Switch - Collect virtual queue stats.

Value Type:
bool
Flags:
CREATE_AND_SET
Default value:
false
SAI_TAM_TEL_TYPE_ATTR_SWITCH_ENABLE_OUTPUT_QUEUE_STATS 

Switch - Collect output queue stats.

Value Type:
bool
Flags:
CREATE_AND_SET
Default value:
false
SAI_TAM_TEL_TYPE_ATTR_SWITCH_ENABLE_MMU_STATS 

Switch - Collect MMU stats.

Value Type:
bool
Flags:
CREATE_AND_SET
Default value:
false
SAI_TAM_TEL_TYPE_ATTR_SWITCH_ENABLE_FABRIC_STATS 

Switch - Collect fabric stats.

Value Type:
bool
Flags:
CREATE_AND_SET
Default value:
false
SAI_TAM_TEL_TYPE_ATTR_SWITCH_ENABLE_FILTER_STATS 

Switch - Collect filter stats.

Value Type:
bool
Flags:
CREATE_AND_SET
Default value:
false
SAI_TAM_TEL_TYPE_ATTR_SWITCH_ENABLE_RESOURCE_UTILIZATION_STATS 

Switch - Collect Resource utilization stats.

Value Type:
bool
Flags:
CREATE_AND_SET
Default value:
false
SAI_TAM_TEL_TYPE_ATTR_FABRIC_Q 

Fabric - Collect Queue information.

Value Type:
bool
Flags:
CREATE_AND_SET
Default value:
false
SAI_TAM_TEL_TYPE_ATTR_NE_ENABLE 

NE - Collect information of networking element.

Value Type:
bool
Flags:
CREATE_AND_SET
Default value:
false
SAI_TAM_TEL_TYPE_ATTR_DSCP_VALUE 

DSCP value.

Value Type:
sai_uint8_t
Flags:
CREATE_AND_SET
Default value:
0
SAI_TAM_TEL_TYPE_ATTR_MATH_FUNC 

Math function attached.

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

Tam report type.

Value Type:
sai_object_id_t
Flags:
MANDATORY_ON_CREATE | CREATE_ONLY
Allowed object types
SAI_OBJECT_TYPE_TAM_REPORT
SAI_TAM_TEL_TYPE_ATTR_COUNTER_SUBSCRIPTION_LIST 

List of Tam counter subscription objects.

Value Type:
sai_object_list_t
Flags:
READ_ONLY
Allowed object types
SAI_OBJECT_TYPE_TAM_COUNTER_SUBSCRIPTION
SAI_TAM_TEL_TYPE_ATTR_END 

End of Attributes.

SAI_TAM_TEL_TYPE_ATTR_CUSTOM_RANGE_START 

Custom range base value

SAI_TAM_TEL_TYPE_ATTR_CUSTOM_RANGE_END 

End of custom range base

Definition at line 914 of file saitam.h.

◆ _sai_tam_telemetry_attr_t

TAM telemetry attributes.

Enumerator
SAI_TAM_TELEMETRY_ATTR_START 

Start of Attributes.

SAI_TAM_TELEMETRY_ATTR_TAM_TYPE_LIST 

TAM tel type object list.

Value Type:
sai_object_list_t
Flags:
CREATE_AND_SET
Allowed object types
SAI_OBJECT_TYPE_TAM_TEL_TYPE
Default value:
empty
SAI_TAM_TELEMETRY_ATTR_COLLECTOR_LIST 

Collector object list.

Value Type:
sai_object_list_t
Flags:
MANDATORY_ON_CREATE | CREATE_ONLY
Allowed object types
SAI_OBJECT_TYPE_TAM_COLLECTOR
SAI_TAM_TELEMETRY_ATTR_TAM_REPORTING_UNIT 

Tam telemetry reporting unit.

Value Type:
sai_tam_reporting_unit_t
Flags:
CREATE_AND_SET
Default value:
SAI_TAM_REPORTING_UNIT_SEC
SAI_TAM_TELEMETRY_ATTR_REPORTING_INTERVAL 

Tam event reporting interval.

defines the gap between two reports

Value Type:
sai_uint32_t
Flags:
CREATE_AND_SET
Default value:
1
SAI_TAM_TELEMETRY_ATTR_END 

End of Attributes.

SAI_TAM_TELEMETRY_ATTR_CUSTOM_RANGE_START 

Custom range base value

SAI_TAM_TELEMETRY_ATTR_CUSTOM_RANGE_END 

End of custom range base

Definition at line 1420 of file saitam.h.

◆ _sai_tam_telemetry_type_t

TAM telemetry types supported.

Enumerator
SAI_TAM_TELEMETRY_TYPE_NE 

Networking element TAM All the data relevant to networking element e.g. thermal, optics, switch interconnect.

SAI_TAM_TELEMETRY_TYPE_SWITCH 

Switch silicon TAM All the data relevant to switch e.g. route, port, queue statistics.

SAI_TAM_TELEMETRY_TYPE_FABRIC 

Fabric TAM All the data relevant to switch fabric.

SAI_TAM_TELEMETRY_TYPE_FLOW 

Flow TAM All the data relevant to a given flow.

SAI_TAM_TELEMETRY_TYPE_INT 

INT TAM All the data relevant on a per packet basis.

SAI_TAM_TELEMETRY_TYPE_COUNTER_SUBSCRIPTION 

Data based on counter subscriptions.

Collect statistics for specific counters, using SAI_TAM_COUNTER_SUBSCRIPTION objects

Definition at line 867 of file saitam.h.

◆ _sai_tam_transport_attr_t

Transport object Attributes.

Enumerator
SAI_TAM_TRANSPORT_ATTR_START 

Start of Attributes.

SAI_TAM_TRANSPORT_ATTR_TRANSPORT_TYPE 

Transport type.

Value Type:
sai_tam_transport_type_t
Flags:
MANDATORY_ON_CREATE | CREATE_ONLY
SAI_TAM_TRANSPORT_ATTR_SRC_PORT 

Transport src port Value of -1 can be used a hint to compute ephemeral or entropy value.

Value Type:
sai_uint32_t
Flags:
CREATE_AND_SET
Default value:
31337
SAI_TAM_TRANSPORT_ATTR_DST_PORT 

Transport dst port.

Value Type:
sai_uint32_t
Flags:
CREATE_AND_SET
Default value:
31337
SAI_TAM_TRANSPORT_ATTR_TRANSPORT_AUTH_TYPE 

Transport authentication.

Value Type:
sai_tam_transport_auth_type_t
Flags:
CREATE_AND_SET
Default value:
SAI_TAM_TRANSPORT_AUTH_TYPE_NONE
SAI_TAM_TRANSPORT_ATTR_MTU 

Transport MTU size Driver must ensure the size of packet do not exceed MTU size.

Value Type:
sai_uint32_t
Flags:
CREATE_AND_SET
Default value:
1500
SAI_TAM_TRANSPORT_ATTR_END 

End of Attributes.

SAI_TAM_TRANSPORT_ATTR_CUSTOM_RANGE_START 

Custom range base value

SAI_TAM_TRANSPORT_ATTR_CUSTOM_RANGE_END 

End of custom range base

Definition at line 1588 of file saitam.h.

◆ _sai_tam_transport_auth_type_t

Transport Authentication Types.

Enumerator
SAI_TAM_TRANSPORT_AUTH_TYPE_NONE 

No Authentication.

SAI_TAM_TRANSPORT_AUTH_TYPE_SSL 

Authenticate using SSL.

SAI_TAM_TRANSPORT_AUTH_TYPE_TLS 

Authenticate using TLS.

Definition at line 1566 of file saitam.h.

◆ _sai_tam_transport_type_t

Transport Types.

Enumerator
SAI_TAM_TRANSPORT_TYPE_NONE 

Transport None This is usually used for local host.

SAI_TAM_TRANSPORT_TYPE_TCP 

Transport TCP.

SAI_TAM_TRANSPORT_TYPE_UDP 

Transport UDP.

SAI_TAM_TRANSPORT_TYPE_GRPC 

Transport GRPC.

SAI_TAM_TRANSPORT_TYPE_MIRROR 

Transport MIRROR session.

Definition at line 1534 of file saitam.h.

Function Documentation

◆ sai_tam_telemetry_get_data()

sai_status_t sai_tam_telemetry_get_data ( _In_ sai_object_id_t  switch_id,
_In_ sai_object_list_t  obj_list,
_In_ bool  clear_on_read,
_Inout_ sai_size_t *  buffer_size,
_Out_ void *  buffer 
)

TAM telemetry data get API.

Parameters
[in]switch_idSAI Switch object id
[in]obj_listSAI Switch object list
[in]clear_on_readFlag to clear the read data
[in,out]buffer_sizeActual buffer size in bytes
[out]bufferData buffer
Returns
SAI_STATUS_SUCCESS on success, failure status code on error