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

This module defines SAI portable types. More...

#include <stdint.h>
#include <stdbool.h>
#include <sys/types.h>

Go to the source code of this file.

Classes

struct  _sai_timespec_t
 
struct  _sai_object_list_t
 Defines a list of SAI object ids used as SAI attribute value. More...
 
struct  _sai_u8_list_t
 
struct  _sai_s8_list_t
 Defines a s8 list or string. More...
 
struct  _sai_u16_list_t
 
struct  _sai_s16_list_t
 
struct  _sai_u32_list_t
 
struct  _sai_s32_list_t
 
struct  _sai_u32_range_t
 
struct  _sai_s32_range_t
 
struct  _sai_u16_range_t
 
struct  _sai_u16_range_list_t
 
struct  _sai_vlan_list_t
 Defines a vlan list data structure. More...
 
union  _sai_ip_addr_t
 
struct  _sai_ip_address_t
 
struct  _sai_ip_address_list_t
 
struct  _sai_ip_prefix_t
 
struct  _sai_ip_prefix_list_t
 
struct  _sai_prbs_rx_state_t
 
struct  _sai_latch_status_t
 
struct  _sai_port_lane_latch_status_t
 
struct  _sai_port_lane_latch_status_list_t
 
union  _sai_acl_field_data_mask_t
 Field match mask. More...
 
union  _sai_acl_field_data_data_t
 ACL field data union. More...
 
struct  _sai_acl_field_data_t
 Defines a single ACL filter. More...
 
union  _sai_acl_action_parameter_t
 
struct  _sai_acl_action_data_t
 Defines a single ACL action. More...
 
struct  _sai_qos_map_params_t
 Defines QOS map types. More...
 
struct  _sai_qos_map_t
 
struct  _sai_qos_map_list_t
 
struct  _sai_map_t
 
struct  _sai_map_list_t
 
struct  _sai_acl_chain_t
 Structure for ACL chain stage and corresponding table type. More...
 
struct  _sai_acl_chain_list_t
 
struct  _sai_acl_capability_t
 Structure for ACL attributes supported at each stage. action_list alone is added now. Qualifier list can also be added when needed. More...
 
struct  _sai_acl_resource_t
 Structure for ACL Resource Count. More...
 
struct  _sai_acl_resource_list_t
 List of available ACL resources at each stage and each binding point. This shall be returned when queried for SAI_SWITCH_ATTR_AVAILABLE_ACL_TABLE or SAI_SWITCH_ATTR_AVAILABLE_ACL_TABLE_GROUP. More...
 
struct  _sai_hmac_t
 Segment Routing Hash-based Message Authentication Code Tag Length Value Format. More...
 
union  _sai_tlv_entry_t
 
struct  _sai_tlv_t
 Segment Routing Tag Length Value entry. More...
 
struct  _sai_tlv_list_t
 List of Segment Routing Tag Length Value entries. More...
 
struct  _sai_segment_list_t
 List of Segment Routing segment entries. More...
 
struct  _sai_json_t
 JSON data type "attributes": [ { "attribute_name": { "sai_metadata": { "sai_attr_value_type": "<SAI_ATTR_VALUE_TYPE_T>", "brief": "Brief Attribute Description", "sai_attr_flags": "<SAI_ATTR_FLAGS_T>", "allowed_object_types": [ "<LIST OF ALLOWED OBJECT TYPES>" ], "default_value": "<DEFAULT ATTR VALUE>" }, "value": } } ] attributes - Mandatory top-level key where JSON parsing begins attribute_name - Name of one attribute in the list of attributes sai_attr_value_type - Data type of the attribute brief - Optional description of the field sai_attr_flags - Optional Usage flags for the field allowed_object_types - If data type is OID, then this is the list of object types allowed as data. More...
 
struct  _sai_port_lane_eye_values_t
 Defines a lane with its eye values with the up and down values being in mV and left and right being in mUI. More...
 
struct  _sai_port_eye_values_list_t
 Defines a port's lanes eye values list. More...
 
struct  _sai_port_frequency_offset_ppm_values_t
 Defines a lane with its frequency offset ppm. More...
 
struct  _sai_port_frequency_offset_ppm_list_t
 Defines a port's lanes frequency offset ppm list. More...
 
struct  _sai_port_snr_values_t
 Defines a lane with its SNR. More...
 
struct  _sai_port_snr_list_t
 Defines a port's lanes SNR list. More...
 
struct  _sai_system_port_config_t
 System port configuration attributes. More...
 
struct  _sai_system_port_config_list_t
 System port configuration list. More...
 
struct  _sai_fabric_port_reachability_t
 Fabric port reachability. More...
 
struct  _sai_port_err_status_list_t
 Attribute data for SAI_PORT_ATTR_ERR_STATUS_LIST. More...
 
union  _sai_attribute_value_t
 Data Type. More...
 
struct  _sai_attribute_t
 
struct  _sai_stat_capability_t
 
struct  _sai_stat_capability_list_t
 
struct  _sai_switch_health_data_t
 

Macros

#define _In_
 
#define _Out_
 
#define _Inout_
 
#define _In_reads_z_(_LEN_)
 
#define _In_reads_opt_z_(_LEN_)
 
#define SAI_NULL_OBJECT_ID   0L
 

Typedefs

typedef int32_t sai_status_t
 
typedef uint32_t sai_switch_profile_id_t
 
typedef uint16_t sai_vlan_id_t
 
typedef uint32_t sai_attr_id_t
 
typedef uint8_t sai_cos_t
 
typedef uint8_t sai_queue_index_t
 
typedef uint8_t sai_mac_t[6]
 
typedef uint32_t sai_ip4_t
 
typedef uint8_t sai_ip6_t[16]
 
typedef uint32_t sai_switch_hash_seed_t
 
typedef uint32_t sai_label_id_t
 
typedef uint32_t sai_stat_id_t
 
typedef uint8_t sai_encrypt_key_t[32]
 
typedef uint8_t sai_auth_key_t[16]
 
typedef uint8_t sai_macsec_sak_t[32]
 
typedef uint8_t sai_macsec_auth_key_t[16]
 
typedef uint8_t sai_macsec_salt_t[12]
 
typedef uint64_t sai_uint64_t
 
typedef int64_t sai_int64_t
 
typedef uint32_t sai_uint32_t
 
typedef int32_t sai_int32_t
 
typedef uint16_t sai_uint16_t
 
typedef int16_t sai_int16_t
 
typedef uint8_t sai_uint8_t
 
typedef int8_t sai_int8_t
 
typedef size_t sai_size_t
 
typedef uint64_t sai_object_id_t
 
typedef void * sai_pointer_t
 
typedef uint64_t sai_api_version_t
 
typedef struct _sai_timespec_t sai_timespec_t
 
typedef struct _sai_object_list_t sai_object_list_t
 Defines a list of SAI object ids used as SAI attribute value.
 
typedef enum _sai_common_api_t sai_common_api_t
 SAI common API type.
 
typedef enum _sai_object_type_t sai_object_type_t
 SAI object type.
 
typedef struct _sai_u8_list_t sai_u8_list_t
 
typedef struct _sai_s8_list_t sai_s8_list_t
 Defines a s8 list or string.
 
typedef struct _sai_u16_list_t sai_u16_list_t
 
typedef struct _sai_s16_list_t sai_s16_list_t
 
typedef struct _sai_u32_list_t sai_u32_list_t
 
typedef struct _sai_s32_list_t sai_s32_list_t
 
typedef struct _sai_u32_range_t sai_u32_range_t
 
typedef struct _sai_s32_range_t sai_s32_range_t
 
typedef struct _sai_u16_range_t sai_u16_range_t
 
typedef struct _sai_u16_range_list_t sai_u16_range_list_t
 
typedef struct _sai_vlan_list_t sai_vlan_list_t
 Defines a vlan list data structure.
 
typedef enum _sai_ip_addr_family_t sai_ip_addr_family_t
 
typedef union _sai_ip_addr_t sai_ip_addr_t
 
typedef struct _sai_ip_address_t sai_ip_address_t
 
typedef struct _sai_ip_address_list_t sai_ip_address_list_t
 
typedef struct _sai_ip_prefix_t sai_ip_prefix_t
 
typedef struct _sai_ip_prefix_list_t sai_ip_prefix_list_t
 
typedef enum _sai_port_prbs_rx_status_t sai_port_prbs_rx_status_t
 Attribute data for SAI_PORT_ATTR_PRBS_RX_STATUS.
 
typedef struct _sai_prbs_rx_state_t sai_prbs_rx_state_t
 
typedef struct _sai_latch_status_t sai_latch_status_t
 
typedef struct _sai_port_lane_latch_status_t sai_port_lane_latch_status_t
 
typedef struct _sai_port_lane_latch_status_list_t sai_port_lane_latch_status_list_t
 
typedef union _sai_acl_field_data_mask_t sai_acl_field_data_mask_t
 Field match mask.
 
typedef union _sai_acl_field_data_data_t sai_acl_field_data_data_t
 ACL field data union.
 
typedef struct _sai_acl_field_data_t sai_acl_field_data_t
 Defines a single ACL filter.
 
typedef union _sai_acl_action_parameter_t sai_acl_action_parameter_t
 
typedef struct _sai_acl_action_data_t sai_acl_action_data_t
 Defines a single ACL action.
 
typedef enum _sai_packet_color_t sai_packet_color_t
 Packet Color.
 
typedef struct _sai_qos_map_params_t sai_qos_map_params_t
 Defines QOS map types.
 
typedef struct _sai_qos_map_t sai_qos_map_t
 
typedef struct _sai_qos_map_list_t sai_qos_map_list_t
 
typedef struct _sai_map_t sai_map_t
 
typedef struct _sai_map_list_t sai_map_list_t
 
typedef enum _sai_acl_table_supported_match_type_t sai_acl_table_supported_match_type_t
 Attribute data for SAI_ACL_TABLE_ATTR_SUPPORTED_MATCH_TYPE.
 
typedef enum _sai_acl_table_chain_group_stage_t sai_acl_table_chain_group_stage_t
 Attribute data for SAI_ACL_TABLE_CHAIN_GROUP_ATTR_STAGE.
 
typedef struct _sai_acl_chain_t sai_acl_chain_t
 Structure for ACL chain stage and corresponding table type.
 
typedef struct _sai_acl_chain_list_t sai_acl_chain_list_t
 
typedef struct _sai_acl_capability_t sai_acl_capability_t
 Structure for ACL attributes supported at each stage. action_list alone is added now. Qualifier list can also be added when needed.
 
typedef enum _sai_acl_stage_t sai_acl_stage_t
 Attribute data for SAI_ACL_TABLE_ATTR_STAGE.
 
typedef enum _sai_acl_bind_point_type_t sai_acl_bind_point_type_t
 Attribute data for SAI_ACL_TABLE_ATTR_BIND_POINT.
 
typedef enum _sai_acl_table_match_type_t sai_acl_table_match_type_t
 Attribute data for SAI_ACL_TABLE_ATTR_MATCH_TYPE.
 
typedef enum _sai_tam_bind_point_type_t sai_tam_bind_point_type_t
 Attribute data for SAI_TAM_TABLE_ATTR_BIND_POINT.
 
typedef struct _sai_acl_resource_t sai_acl_resource_t
 Structure for ACL Resource Count.
 
typedef struct _sai_acl_resource_list_t sai_acl_resource_list_t
 List of available ACL resources at each stage and each binding point. This shall be returned when queried for SAI_SWITCH_ATTR_AVAILABLE_ACL_TABLE or SAI_SWITCH_ATTR_AVAILABLE_ACL_TABLE_GROUP.
 
typedef enum _sai_tlv_type_t sai_tlv_type_t
 Segment Routing Tag Length Value Types.
 
typedef struct _sai_hmac_t sai_hmac_t
 Segment Routing Hash-based Message Authentication Code Tag Length Value Format.
 
typedef union _sai_tlv_entry_t sai_tlv_entry_t
 
typedef struct _sai_tlv_t sai_tlv_t
 Segment Routing Tag Length Value entry.
 
typedef struct _sai_tlv_list_t sai_tlv_list_t
 List of Segment Routing Tag Length Value entries.
 
typedef struct _sai_segment_list_t sai_segment_list_t
 List of Segment Routing segment entries.
 
typedef struct _sai_json_t sai_json_t
 JSON data type "attributes": [ { "attribute_name": { "sai_metadata": { "sai_attr_value_type": "<SAI_ATTR_VALUE_TYPE_T>", "brief": "Brief Attribute Description", "sai_attr_flags": "<SAI_ATTR_FLAGS_T>", "allowed_object_types": [ "<LIST OF ALLOWED OBJECT TYPES>" ], "default_value": "<DEFAULT ATTR VALUE>" }, "value": } } ] attributes - Mandatory top-level key where JSON parsing begins attribute_name - Name of one attribute in the list of attributes sai_attr_value_type - Data type of the attribute brief - Optional description of the field sai_attr_flags - Optional Usage flags for the field allowed_object_types - If data type is OID, then this is the list of object types allowed as data.
 
typedef struct _sai_port_lane_eye_values_t sai_port_lane_eye_values_t
 Defines a lane with its eye values with the up and down values being in mV and left and right being in mUI.
 
typedef struct _sai_port_eye_values_list_t sai_port_eye_values_list_t
 Defines a port's lanes eye values list.
 
typedef struct _sai_port_frequency_offset_ppm_values_t sai_port_frequency_offset_ppm_values_t
 Defines a lane with its frequency offset ppm.
 
typedef struct _sai_port_frequency_offset_ppm_list_t sai_port_frequency_offset_ppm_list_t
 Defines a port's lanes frequency offset ppm list.
 
typedef struct _sai_port_snr_values_t sai_port_snr_values_t
 Defines a lane with its SNR.
 
typedef struct _sai_port_snr_list_t sai_port_snr_list_t
 Defines a port's lanes SNR list.
 
typedef enum _sai_outseg_type_t sai_outseg_type_t
 Enum defining MPLS out segment type.
 
typedef enum _sai_outseg_ttl_mode_t sai_outseg_ttl_mode_t
 Enum defining TTL mode for MPLS out segment.
 
typedef enum _sai_outseg_exp_mode_t sai_outseg_exp_mode_t
 Enum defining MPLS EXP mode for MPLS out segment.
 
typedef struct _sai_system_port_config_t sai_system_port_config_t
 System port configuration attributes.
 
typedef struct _sai_system_port_config_list_t sai_system_port_config_list_t
 System port configuration list.
 
typedef struct _sai_fabric_port_reachability_t sai_fabric_port_reachability_t
 Fabric port reachability.
 
typedef enum _sai_port_err_status_t sai_port_err_status_t
 Port error status.
 
typedef struct _sai_port_err_status_list_t sai_port_err_status_list_t
 Attribute data for SAI_PORT_ATTR_ERR_STATUS_LIST.
 
typedef union _sai_attribute_value_t sai_attribute_value_t
 Data Type.
 
typedef struct _sai_attribute_t sai_attribute_t
 
typedef enum _sai_bulk_op_error_mode_t sai_bulk_op_error_mode_t
 
typedef 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.
 
typedef 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.
 
typedef sai_status_t(* sai_bulk_object_set_attribute_fn) (_In_ uint32_t object_count, _In_ const sai_object_id_t *object_id, _In_ const sai_attribute_t *attr_list, _In_ sai_bulk_op_error_mode_t mode, _Out_ sai_status_t *object_statuses)
 Bulk objects set attributes.
 
typedef sai_status_t(* sai_bulk_object_get_attribute_fn) (_In_ uint32_t object_count, _In_ const sai_object_id_t *object_id, _In_ const uint32_t *attr_count, _Inout_ sai_attribute_t **attr_list, _In_ sai_bulk_op_error_mode_t mode, _Out_ sai_status_t *object_statuses)
 Bulk objects get attributes.
 
typedef enum _sai_stats_mode_t sai_stats_mode_t
 SAI statistics modes.
 
typedef struct _sai_stat_capability_t sai_stat_capability_t
 
typedef struct _sai_stat_capability_list_t sai_stat_capability_list_t
 
typedef enum _sai_object_stage_t sai_object_stage_t
 
typedef enum _sai_health_data_type_t sai_health_data_type_t
 
typedef struct _sai_switch_health_data_t sai_switch_health_data_t
 

Enumerations

enum  _sai_common_api_t {
  SAI_COMMON_API_CREATE = 0 , SAI_COMMON_API_REMOVE = 1 , SAI_COMMON_API_SET = 2 , SAI_COMMON_API_GET = 3 ,
  SAI_COMMON_API_BULK_CREATE = 4 , SAI_COMMON_API_BULK_REMOVE = 5 , SAI_COMMON_API_BULK_SET = 6 , SAI_COMMON_API_BULK_GET = 7 ,
  SAI_COMMON_API_MAX = 8
}
 SAI common API type. More...
 
enum  _sai_object_type_t {
  SAI_OBJECT_TYPE_NULL = 0 , SAI_OBJECT_TYPE_PORT = 1 , SAI_OBJECT_TYPE_LAG = 2 , SAI_OBJECT_TYPE_VIRTUAL_ROUTER = 3 ,
  SAI_OBJECT_TYPE_NEXT_HOP = 4 , SAI_OBJECT_TYPE_NEXT_HOP_GROUP = 5 , SAI_OBJECT_TYPE_ROUTER_INTERFACE = 6 , SAI_OBJECT_TYPE_ACL_TABLE = 7 ,
  SAI_OBJECT_TYPE_ACL_ENTRY = 8 , SAI_OBJECT_TYPE_ACL_COUNTER = 9 , SAI_OBJECT_TYPE_ACL_RANGE = 10 , SAI_OBJECT_TYPE_ACL_TABLE_GROUP = 11 ,
  SAI_OBJECT_TYPE_ACL_TABLE_GROUP_MEMBER = 12 , SAI_OBJECT_TYPE_HOSTIF = 13 , SAI_OBJECT_TYPE_MIRROR_SESSION = 14 , SAI_OBJECT_TYPE_SAMPLEPACKET = 15 ,
  SAI_OBJECT_TYPE_STP = 16 , SAI_OBJECT_TYPE_HOSTIF_TRAP_GROUP = 17 , SAI_OBJECT_TYPE_POLICER = 18 , SAI_OBJECT_TYPE_WRED = 19 ,
  SAI_OBJECT_TYPE_QOS_MAP = 20 , SAI_OBJECT_TYPE_QUEUE = 21 , SAI_OBJECT_TYPE_SCHEDULER = 22 , SAI_OBJECT_TYPE_SCHEDULER_GROUP = 23 ,
  SAI_OBJECT_TYPE_BUFFER_POOL = 24 , SAI_OBJECT_TYPE_BUFFER_PROFILE = 25 , SAI_OBJECT_TYPE_INGRESS_PRIORITY_GROUP = 26 , SAI_OBJECT_TYPE_LAG_MEMBER = 27 ,
  SAI_OBJECT_TYPE_HASH = 28 , SAI_OBJECT_TYPE_UDF = 29 , SAI_OBJECT_TYPE_UDF_MATCH = 30 , SAI_OBJECT_TYPE_UDF_GROUP = 31 ,
  SAI_OBJECT_TYPE_FDB_ENTRY = 32 , SAI_OBJECT_TYPE_SWITCH = 33 , SAI_OBJECT_TYPE_HOSTIF_TRAP = 34 , SAI_OBJECT_TYPE_HOSTIF_TABLE_ENTRY = 35 ,
  SAI_OBJECT_TYPE_NEIGHBOR_ENTRY = 36 , SAI_OBJECT_TYPE_ROUTE_ENTRY = 37 , SAI_OBJECT_TYPE_VLAN = 38 , SAI_OBJECT_TYPE_VLAN_MEMBER = 39 ,
  SAI_OBJECT_TYPE_HOSTIF_PACKET = 40 , SAI_OBJECT_TYPE_TUNNEL_MAP = 41 , SAI_OBJECT_TYPE_TUNNEL = 42 , SAI_OBJECT_TYPE_TUNNEL_TERM_TABLE_ENTRY = 43 ,
  SAI_OBJECT_TYPE_FDB_FLUSH = 44 , SAI_OBJECT_TYPE_NEXT_HOP_GROUP_MEMBER = 45 , SAI_OBJECT_TYPE_STP_PORT = 46 , SAI_OBJECT_TYPE_RPF_GROUP = 47 ,
  SAI_OBJECT_TYPE_RPF_GROUP_MEMBER = 48 , SAI_OBJECT_TYPE_L2MC_GROUP = 49 , SAI_OBJECT_TYPE_L2MC_GROUP_MEMBER = 50 , SAI_OBJECT_TYPE_IPMC_GROUP = 51 ,
  SAI_OBJECT_TYPE_IPMC_GROUP_MEMBER = 52 , SAI_OBJECT_TYPE_L2MC_ENTRY = 53 , SAI_OBJECT_TYPE_IPMC_ENTRY = 54 , SAI_OBJECT_TYPE_MCAST_FDB_ENTRY = 55 ,
  SAI_OBJECT_TYPE_HOSTIF_USER_DEFINED_TRAP = 56 , SAI_OBJECT_TYPE_BRIDGE = 57 , SAI_OBJECT_TYPE_BRIDGE_PORT = 58 , SAI_OBJECT_TYPE_TUNNEL_MAP_ENTRY = 59 ,
  SAI_OBJECT_TYPE_TAM = 60 , SAI_OBJECT_TYPE_SRV6_SIDLIST = 61 , SAI_OBJECT_TYPE_PORT_POOL = 62 , SAI_OBJECT_TYPE_INSEG_ENTRY = 63 ,
  SAI_OBJECT_TYPE_DTEL = 64 , SAI_OBJECT_TYPE_DTEL_QUEUE_REPORT = 65 , SAI_OBJECT_TYPE_DTEL_INT_SESSION = 66 , SAI_OBJECT_TYPE_DTEL_REPORT_SESSION = 67 ,
  SAI_OBJECT_TYPE_DTEL_EVENT = 68 , SAI_OBJECT_TYPE_BFD_SESSION = 69 , SAI_OBJECT_TYPE_ISOLATION_GROUP = 70 , SAI_OBJECT_TYPE_ISOLATION_GROUP_MEMBER = 71 ,
  SAI_OBJECT_TYPE_TAM_MATH_FUNC = 72 , SAI_OBJECT_TYPE_TAM_REPORT = 73 , SAI_OBJECT_TYPE_TAM_EVENT_THRESHOLD = 74 , SAI_OBJECT_TYPE_TAM_TEL_TYPE = 75 ,
  SAI_OBJECT_TYPE_TAM_TRANSPORT = 76 , SAI_OBJECT_TYPE_TAM_TELEMETRY = 77 , SAI_OBJECT_TYPE_TAM_COLLECTOR = 78 , SAI_OBJECT_TYPE_TAM_EVENT_ACTION = 79 ,
  SAI_OBJECT_TYPE_TAM_EVENT = 80 , SAI_OBJECT_TYPE_NAT_ZONE_COUNTER = 81 , SAI_OBJECT_TYPE_NAT_ENTRY = 82 , SAI_OBJECT_TYPE_TAM_INT = 83 ,
  SAI_OBJECT_TYPE_COUNTER = 84 , SAI_OBJECT_TYPE_DEBUG_COUNTER = 85 , SAI_OBJECT_TYPE_PORT_CONNECTOR = 86 , SAI_OBJECT_TYPE_PORT_SERDES = 87 ,
  SAI_OBJECT_TYPE_MACSEC = 88 , SAI_OBJECT_TYPE_MACSEC_PORT = 89 , SAI_OBJECT_TYPE_MACSEC_FLOW = 90 , SAI_OBJECT_TYPE_MACSEC_SC = 91 ,
  SAI_OBJECT_TYPE_MACSEC_SA = 92 , SAI_OBJECT_TYPE_SYSTEM_PORT = 93 , SAI_OBJECT_TYPE_FINE_GRAINED_HASH_FIELD = 94 , SAI_OBJECT_TYPE_SWITCH_TUNNEL = 95 ,
  SAI_OBJECT_TYPE_MY_SID_ENTRY = 96 , SAI_OBJECT_TYPE_MY_MAC = 97 , SAI_OBJECT_TYPE_NEXT_HOP_GROUP_MAP = 98 , SAI_OBJECT_TYPE_IPSEC = 99 ,
  SAI_OBJECT_TYPE_IPSEC_PORT = 100 , SAI_OBJECT_TYPE_IPSEC_SA = 101 , SAI_OBJECT_TYPE_GENERIC_PROGRAMMABLE = 102 , SAI_OBJECT_TYPE_ARS_PROFILE = 103 ,
  SAI_OBJECT_TYPE_ARS = 104 , SAI_OBJECT_TYPE_ACL_TABLE_CHAIN_GROUP = 105 , SAI_OBJECT_TYPE_TWAMP_SESSION = 106 , SAI_OBJECT_TYPE_TAM_COUNTER_SUBSCRIPTION = 107 ,
  SAI_OBJECT_TYPE_MAX , SAI_OBJECT_TYPE_CUSTOM_RANGE_START = 256 , SAI_OBJECT_TYPE_CUSTOM_RANGE_END
}
 SAI object type. More...
 
enum  _sai_ip_addr_family_t { SAI_IP_ADDR_FAMILY_IPV4 , SAI_IP_ADDR_FAMILY_IPV6 }
 
enum  _sai_port_prbs_rx_status_t { SAI_PORT_PRBS_RX_STATUS_OK , SAI_PORT_PRBS_RX_STATUS_LOCK_WITH_ERRORS , SAI_PORT_PRBS_RX_STATUS_NOT_LOCKED , SAI_PORT_PRBS_RX_STATUS_LOST_LOCK }
 Attribute data for SAI_PORT_ATTR_PRBS_RX_STATUS. More...
 
enum  _sai_packet_color_t { SAI_PACKET_COLOR_GREEN , SAI_PACKET_COLOR_YELLOW , SAI_PACKET_COLOR_RED }
 Packet Color. More...
 
enum  _sai_acl_table_supported_match_type_t { SAI_ACL_TABLE_SUPPORTED_MATCH_TYPE_TERNARY , SAI_ACL_TABLE_SUPPORTED_MATCH_TYPE_EXACT }
 Attribute data for SAI_ACL_TABLE_ATTR_SUPPORTED_MATCH_TYPE. More...
 
enum  _sai_acl_table_chain_group_stage_t { SAI_ACL_TABLE_CHAIN_GROUP_STAGE_0 , SAI_ACL_TABLE_CHAIN_GROUP_STAGE_1 , SAI_ACL_TABLE_CHAIN_GROUP_STAGE_2 , SAI_ACL_TABLE_CHAIN_GROUP_STAGE_3 }
 Attribute data for SAI_ACL_TABLE_CHAIN_GROUP_ATTR_STAGE. More...
 
enum  _sai_acl_stage_t {
  SAI_ACL_STAGE_INGRESS , SAI_ACL_STAGE_EGRESS , SAI_ACL_STAGE_INGRESS_MACSEC , SAI_ACL_STAGE_EGRESS_MACSEC ,
  SAI_ACL_STAGE_PRE_INGRESS , SAI_ACL_STAGE_POST_INGRESS
}
 Attribute data for SAI_ACL_TABLE_ATTR_STAGE. More...
 
enum  _sai_acl_bind_point_type_t {
  SAI_ACL_BIND_POINT_TYPE_PORT , SAI_ACL_BIND_POINT_TYPE_LAG , SAI_ACL_BIND_POINT_TYPE_VLAN , SAI_ACL_BIND_POINT_TYPE_ROUTER_INTERFACE ,
  SAI_ACL_BIND_POINT_TYPE_ROUTER_INTF = SAI_ACL_BIND_POINT_TYPE_ROUTER_INTERFACE , SAI_ACL_BIND_POINT_TYPE_SWITCH
}
 Attribute data for SAI_ACL_TABLE_ATTR_BIND_POINT. More...
 
enum  _sai_acl_table_match_type_t { SAI_ACL_TABLE_MATCH_TYPE_TERNARY , SAI_ACL_TABLE_MATCH_TYPE_EXACT }
 Attribute data for SAI_ACL_TABLE_ATTR_MATCH_TYPE. More...
 
enum  _sai_tam_bind_point_type_t {
  SAI_TAM_BIND_POINT_TYPE_QUEUE , SAI_TAM_BIND_POINT_TYPE_PORT , SAI_TAM_BIND_POINT_TYPE_LAG , SAI_TAM_BIND_POINT_TYPE_VLAN ,
  SAI_TAM_BIND_POINT_TYPE_SWITCH , SAI_TAM_BIND_POINT_TYPE_IPG , SAI_TAM_BIND_POINT_TYPE_BSP
}
 Attribute data for SAI_TAM_TABLE_ATTR_BIND_POINT. More...
 
enum  _sai_tlv_type_t { SAI_TLV_TYPE_INGRESS , SAI_TLV_TYPE_EGRESS , SAI_TLV_TYPE_OPAQUE , SAI_TLV_TYPE_HMAC }
 Segment Routing Tag Length Value Types. More...
 
enum  _sai_outseg_type_t { SAI_OUTSEG_TYPE_PUSH , SAI_OUTSEG_TYPE_SWAP }
 Enum defining MPLS out segment type. More...
 
enum  _sai_outseg_ttl_mode_t { SAI_OUTSEG_TTL_MODE_UNIFORM , SAI_OUTSEG_TTL_MODE_PIPE }
 Enum defining TTL mode for MPLS out segment. More...
 
enum  _sai_outseg_exp_mode_t { SAI_OUTSEG_EXP_MODE_UNIFORM , SAI_OUTSEG_EXP_MODE_PIPE }
 Enum defining MPLS EXP mode for MPLS out segment. More...
 
enum  _sai_port_err_status_t {
  SAI_PORT_ERR_STATUS_DATA_UNIT_CRC_ERROR , SAI_PORT_ERR_STATUS_DATA_UNIT_SIZE , SAI_PORT_ERR_STATUS_DATA_UNIT_MISALIGNMENT_ERROR , SAI_PORT_ERR_STATUS_CODE_GROUP_ERROR ,
  SAI_PORT_ERR_STATUS_SIGNAL_LOCAL_ERROR , SAI_PORT_ERR_STATUS_NO_RX_REACHABILITY , SAI_PORT_ERR_STATUS_CRC_RATE , SAI_PORT_ERR_STATUS_REMOTE_FAULT_STATUS ,
  SAI_PORT_ERR_STATUS_MAX
}
 Port error status. More...
 
enum  _sai_bulk_op_error_mode_t { SAI_BULK_OP_ERROR_MODE_STOP_ON_ERROR , SAI_BULK_OP_ERROR_MODE_IGNORE_ERROR }
 
enum  _sai_stats_mode_t {
  SAI_STATS_MODE_READ = 1 << 0 , SAI_STATS_MODE_READ_AND_CLEAR = 1 << 1 , SAI_STATS_MODE_BULK_READ = 1 << 2 , SAI_STATS_MODE_BULK_CLEAR = 1 << 3 ,
  SAI_STATS_MODE_BULK_READ_AND_CLEAR = 1 << 4
}
 SAI statistics modes. More...
 
enum  _sai_object_stage_t { SAI_OBJECT_STAGE_BOTH , SAI_OBJECT_STAGE_INGRESS , SAI_OBJECT_STAGE_EGRESS }
 
enum  _sai_health_data_type_t { SAI_HEALTH_DATA_TYPE_GENERAL }
 

Detailed Description

This module defines SAI portable types.

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 saitypes.h.