SAI Metadata
|
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 } |
#define _In_ |
Definition at line 110 of file saitypes.h.
#define _In_reads_opt_z_ | ( | _LEN_ | ) |
Definition at line 114 of file saitypes.h.
#define _In_reads_z_ | ( | _LEN_ | ) |
Definition at line 113 of file saitypes.h.
#define _Inout_ |
Definition at line 112 of file saitypes.h.
#define _Out_ |
Definition at line 111 of file saitypes.h.
#define SAI_NULL_OBJECT_ID 0L |
SAI NULL object ID
Definition at line 145 of file saitypes.h.
typedef struct _sai_acl_action_data_t sai_acl_action_data_t |
Defines a single ACL action.
typedef union _sai_acl_action_parameter_t sai_acl_action_parameter_t |
typedef union _sai_acl_field_data_data_t sai_acl_field_data_data_t |
ACL field data union.
typedef union _sai_acl_field_data_mask_t sai_acl_field_data_mask_t |
Field match mask.
typedef struct _sai_acl_field_data_t sai_acl_field_data_t |
Defines a single ACL filter.
typedef uint64_t sai_api_version_t |
Definition at line 133 of file saitypes.h.
typedef uint32_t sai_attr_id_t |
Definition at line 95 of file saitypes.h.
typedef struct _sai_attribute_t sai_attribute_t |
typedef union _sai_attribute_value_t sai_attribute_value_t |
Data Type.
To use enum values as attribute value is sai_int32_t s32
typedef uint8_t sai_auth_key_t[16] |
Definition at line 105 of file saitypes.h.
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.
[in] | switch_id | SAI Switch object id |
[in] | object_count | Number of objects to create |
[in] | attr_count | List of attr_count. Caller passes the number of attribute for each object to create. |
[in] | attr_list | List of attributes for every object. |
[in] | mode | Bulk operation error handling mode. |
[out] | object_id | List of object ids returned |
[out] | object_statuses | List of status for every object. Caller needs to allocate the buffer. |
Definition at line 1577 of file saitypes.h.
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.
[in] | object_count | Number of objects to get on attribute |
[in] | object_id | List of object ids |
[in] | attr_count | List of attr_count. Caller passes the number of attribute for each object to get. |
[in,out] | attr_list | List of attributes for every object. |
[in] | mode | Bulk operation error handling mode. |
[out] | object_statuses | List of status for every object. Caller needs to allocate the buffer. |
Definition at line 1641 of file saitypes.h.
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.
[in] | object_count | Number of objects to create |
[in] | object_id | List of object ids |
[in] | mode | Bulk operation error handling mode. |
[out] | object_statuses | List of status for every object. Caller needs to allocate the buffer. |
Definition at line 1598 of file saitypes.h.
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.
[in] | object_count | Number of objects to set on attribute |
[in] | object_id | List of object ids |
[in] | attr_list | List of attributes for every object, one per object. |
[in] | mode | Bulk operation error handling mode. |
[out] | object_statuses | List of status for every object. Caller needs to allocate the buffer. |
Definition at line 1618 of file saitypes.h.
typedef uint8_t sai_cos_t |
Definition at line 96 of file saitypes.h.
typedef uint8_t sai_encrypt_key_t[32] |
Definition at line 104 of file saitypes.h.
typedef int16_t sai_int16_t |
Definition at line 127 of file saitypes.h.
typedef int32_t sai_int32_t |
Definition at line 125 of file saitypes.h.
typedef int64_t sai_int64_t |
Definition at line 123 of file saitypes.h.
typedef int8_t sai_int8_t |
Definition at line 129 of file saitypes.h.
typedef uint32_t sai_ip4_t |
Definition at line 99 of file saitypes.h.
typedef uint8_t sai_ip6_t[16] |
Definition at line 100 of file saitypes.h.
typedef union _sai_ip_addr_t sai_ip_addr_t |
typedef uint32_t sai_label_id_t |
Definition at line 102 of file saitypes.h.
typedef uint8_t sai_mac_t[6] |
Definition at line 98 of file saitypes.h.
typedef uint8_t sai_macsec_auth_key_t[16] |
Definition at line 107 of file saitypes.h.
typedef uint8_t sai_macsec_sak_t[32] |
Definition at line 106 of file saitypes.h.
typedef uint8_t sai_macsec_salt_t[12] |
Definition at line 108 of file saitypes.h.
typedef uint64_t sai_object_id_t |
Definition at line 131 of file saitypes.h.
typedef struct _sai_object_list_t sai_object_list_t |
Defines a list of SAI object ids used as SAI attribute value.
In set attribute function call, the count member defines the number of objects.
In get attribute function call, the function call returns a list of objects to the caller in the list member. The caller is responsible for allocating the buffer for the list member and set the count member to the size of allocated object list. If the size is large enough to accommodate the list of object id, the callee will then fill the list member and set the count member to the actual number of objects. If the list size is not large enough, the callee will set the count member to the actual number of object id and return SAI_STATUS_BUFFER_OVERFLOW. Once the caller gets such return code, it should use the returned count member to re-allocate list and retry.
typedef void* sai_pointer_t |
Definition at line 132 of file saitypes.h.
typedef struct _sai_port_eye_values_list_t sai_port_eye_values_list_t |
Defines a port's lanes eye values list.
In get_port_attribute function call, the count member defines the number of objects which will be returned to the caller in the list member. The caller must allocate the buffer for the list member and set the count member to the size of the allocated objects in the list member.
If the size is large enough to accommodate the list of objects, the callee must fill the list member and set the count member to the actual number of objects filled. If the size is not large enough, the callee must set the count member to the actual number of objects filled in the list member and return SAI_STATUS_BUFFER_OVERFLOW. Once the caller gets such a return code, it may use the returned count member to re-allocate the list and retry.
typedef struct _sai_port_snr_values_t sai_port_snr_values_t |
Defines a lane with its SNR.
Each SNR value is encoded as U16 in units of 1/256 dB. For example, a value of 5248 represents a SNR of 20.5 dB
typedef struct _sai_qos_map_params_t sai_qos_map_params_t |
Defines QOS map types.
dot1p/DSCP/MPLS_EXP --> TC dot1p/DSCP/MPLS_EXP --> Color dot1p/DSCP/MPLS_EXP --> TC + Color DSCP/MPLS_EXP --> FC TC --> dot1p/DSCP/MPLS_EXP. TC + color --> dot1p/DSCP/MPLS_EXP. TC --> Egress Queue.
typedef uint8_t sai_queue_index_t |
Definition at line 97 of file saitypes.h.
typedef struct _sai_s8_list_t sai_s8_list_t |
Defines a s8 list or string.
String should be null terminated and count should include '\0'.
typedef size_t sai_size_t |
Definition at line 130 of file saitypes.h.
typedef uint32_t sai_stat_id_t |
Definition at line 103 of file saitypes.h.
typedef enum _sai_stats_mode_t sai_stats_mode_t |
SAI statistics modes.
Used in get statistics extended or query statistics capabilities Note enum values must be powers of 2 to be used as bit mask for query statistics capabilities
typedef int32_t sai_status_t |
Definition at line 92 of file saitypes.h.
typedef uint32_t sai_switch_hash_seed_t |
Definition at line 101 of file saitypes.h.
typedef uint32_t sai_switch_profile_id_t |
Definition at line 93 of file saitypes.h.
typedef struct _sai_system_port_config_t sai_system_port_config_t |
System port configuration attributes.
Speed parameter should be the same value as SAI_PORT_ATTR_SPEED. This is used for VOQ scheduling.
All elements are mandatory
typedef union _sai_tlv_entry_t sai_tlv_entry_t |
typedef uint16_t sai_uint16_t |
Definition at line 126 of file saitypes.h.
typedef uint32_t sai_uint32_t |
Definition at line 124 of file saitypes.h.
typedef uint64_t sai_uint64_t |
Definition at line 122 of file saitypes.h.
typedef uint8_t sai_uint8_t |
Definition at line 128 of file saitypes.h.
typedef uint16_t sai_vlan_id_t |
Definition at line 94 of file saitypes.h.
Attribute data for SAI_ACL_TABLE_ATTR_BIND_POINT.
Definition at line 920 of file saitypes.h.
enum _sai_acl_stage_t |
Attribute data for SAI_ACL_TABLE_ATTR_STAGE.
Definition at line 895 of file saitypes.h.
Attribute data for SAI_ACL_TABLE_CHAIN_GROUP_ATTR_STAGE.
Enumerator | |
---|---|
SAI_ACL_TABLE_CHAIN_GROUP_STAGE_0 | Stage 0 |
SAI_ACL_TABLE_CHAIN_GROUP_STAGE_1 | Stage 0 |
SAI_ACL_TABLE_CHAIN_GROUP_STAGE_2 | Stage 1 |
SAI_ACL_TABLE_CHAIN_GROUP_STAGE_3 | Stage 2 |
Definition at line 813 of file saitypes.h.
Attribute data for SAI_ACL_TABLE_ATTR_MATCH_TYPE.
Enumerator | |
---|---|
SAI_ACL_TABLE_MATCH_TYPE_TERNARY | Match Type Ternary |
SAI_ACL_TABLE_MATCH_TYPE_EXACT | Match Type Exact |
Definition at line 945 of file saitypes.h.
Attribute data for SAI_ACL_TABLE_ATTR_SUPPORTED_MATCH_TYPE.
Enumerator | |
---|---|
SAI_ACL_TABLE_SUPPORTED_MATCH_TYPE_TERNARY | Ternary |
SAI_ACL_TABLE_SUPPORTED_MATCH_TYPE_EXACT | Exact |
Definition at line 800 of file saitypes.h.
Definition at line 1545 of file saitypes.h.
enum _sai_common_api_t |
SAI common API type.
Definition at line 172 of file saitypes.h.
Enumerator | |
---|---|
SAI_HEALTH_DATA_TYPE_GENERAL | General health data type |
Definition at line 1722 of file saitypes.h.
enum _sai_ip_addr_family_t |
Definition at line 387 of file saitypes.h.
enum _sai_object_stage_t |
Enumerator | |
---|---|
SAI_OBJECT_STAGE_BOTH | Common stage |
SAI_OBJECT_STAGE_INGRESS | Ingress stage |
SAI_OBJECT_STAGE_EGRESS | Egress stage |
Definition at line 1709 of file saitypes.h.
enum _sai_object_type_t |
SAI object type.
Definition at line 188 of file saitypes.h.
Enum defining MPLS EXP mode for MPLS out segment.
Definition at line 1226 of file saitypes.h.
Enum defining TTL mode for MPLS out segment.
Definition at line 1215 of file saitypes.h.
enum _sai_outseg_type_t |
Enum defining MPLS out segment type.
Enumerator | |
---|---|
SAI_OUTSEG_TYPE_PUSH | Out segment of ingress node, label stack depth is at least one |
SAI_OUTSEG_TYPE_SWAP | Out segment of intermediate node, label stack depth is one |
Definition at line 1202 of file saitypes.h.
enum _sai_packet_color_t |
Packet Color.
Enumerator | |
---|---|
SAI_PACKET_COLOR_GREEN | Color Green. |
SAI_PACKET_COLOR_YELLOW | Color Yellow. |
SAI_PACKET_COLOR_RED | Color Red. |
Definition at line 691 of file saitypes.h.
Port error status.
Definition at line 1291 of file saitypes.h.
Attribute data for SAI_PORT_ATTR_PRBS_RX_STATUS.
Definition at line 441 of file saitypes.h.
enum _sai_stats_mode_t |
SAI statistics modes.
Used in get statistics extended or query statistics capabilities Note enum values must be powers of 2 to be used as bit mask for query statistics capabilities
Definition at line 1657 of file saitypes.h.
Attribute data for SAI_TAM_TABLE_ATTR_BIND_POINT.
Definition at line 958 of file saitypes.h.
enum _sai_tlv_type_t |
Segment Routing Tag Length Value Types.
Definition at line 1018 of file saitypes.h.