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

This module defines SAI Port interface. More...

#include <saitypes.h>

Go to the source code of this file.

Classes

struct  _sai_port_oper_status_notification_t
 Defines the operational status of the port. More...
 
struct  _sai_port_api_t
 Port methods table retrieved with sai_api_query() More...
 

Typedefs

typedef enum _sai_port_type_t sai_port_type_t
 Attribute data for SAI_PORT_ATTR_TYPE.
 
typedef enum _sai_port_oper_status_t sai_port_oper_status_t
 Attribute data for SAI_PORT_ATTR_OPER_STATUS.
 
typedef struct _sai_port_oper_status_notification_t sai_port_oper_status_notification_t
 Defines the operational status of the port.
 
typedef enum _sai_port_flow_control_mode_t sai_port_flow_control_mode_t
 Attribute data for SAI_PORT_ATTR_GLOBAL_FLOW_CONTROL_MODE.
 
typedef enum _sai_port_internal_loopback_mode_t sai_port_internal_loopback_mode_t
 Attribute data for SAI_PORT_ATTR_INTERNAL_LOOPBACK_MODE To be deprecated, use sai_port_loopback_mode_t instead.
 
typedef enum _sai_port_loopback_mode_t sai_port_loopback_mode_t
 Attribute data for SAI_PORT_ATTR_LOOPBACK_MODE.
 
typedef enum _sai_port_media_type_t sai_port_media_type_t
 Attribute data for SAI_PORT_ATTR_MEDIA_TYPE.
 
typedef enum _sai_port_cable_pair_state_t sai_port_cable_pair_state_t
 Attribute data for SAI_PORT_ATTR_CABLE_PAIR_STATE Copper cable pair states.
 
typedef enum _sai_port_cable_type_t sai_port_cable_type_t
 Attribute data for SAI_PORT_ATTR_CABLE_TYPE Copper cable types.
 
typedef enum _sai_port_breakout_mode_type_t sai_port_breakout_mode_type_t
 Breakout Mode types based on number of SerDes lanes used in a port.
 
typedef enum _sai_port_fec_mode_t sai_port_fec_mode_t
 Attribute data for SAI_PORT_ATTR_FEC_MODE.
 
typedef enum _sai_port_fec_mode_extended_t sai_port_fec_mode_extended_t
 Attribute data for SAI_PORT_ATTR_FEC_MODE_EXTENDED.
 
typedef enum _sai_port_datapath_enable_t sai_port_datapath_enable_t
 Attribute data for SAI_PORT_ATTR_DATAPATH_ENABLE.
 
typedef enum _sai_port_priority_flow_control_mode_t sai_port_priority_flow_control_mode_t
 Priority flow control mode.
 
typedef enum _sai_port_ptp_mode_t sai_port_ptp_mode_t
 PTP mode.
 
typedef enum _sai_port_interface_type_t sai_port_interface_type_t
 Attribute data for SAI_PORT_ATTR_INTERFACE_TYPE Used for selecting electrical interface with specific electrical pin and signal quality.
 
typedef enum _sai_port_link_training_failure_status_t sai_port_link_training_failure_status_t
 Attribute data for SAI_PORT_ATTR_LINK_TRAINING_FAILURE_STATUS Used for Link Training failure status and error codes.
 
typedef enum _sai_port_link_training_rx_status_t sai_port_link_training_rx_status_t
 Attribute data for SAI_PORT_ATTR_LINK_TRAINING_RX_STATUS Used for receiver status for link training.
 
typedef enum _sai_port_prbs_config_t sai_port_prbs_config_t
 Attribute data for SAI_PORT_ATTR_PRBS_CONFIG PRBS configuration to enable transmitter, receiver or both.
 
typedef enum _sai_port_connector_failover_mode_t sai_port_connector_failover_mode_t
 Attribute data for SAI_PORT_CONNECTOR_ATTR_FAILOVER_MODE Used for Failover mode configuration on port.
 
typedef enum _sai_port_mdix_mode_status_t sai_port_mdix_mode_status_t
 Attribute data for SAI_PORT_ATTR_MDIX_MODE_STATUS Used for MDIX mode status.
 
typedef enum _sai_port_mdix_mode_config_t sai_port_mdix_mode_config_t
 Attribute data for SAI_PORT_ATTR_MDIX_MODE_CONFIG Used for MDIX mode configuration.
 
typedef enum _sai_port_auto_neg_config_mode_t sai_port_auto_neg_config_mode_t
 Attribute data for SAI_PORT_ATTR_AUTO_NEG_CONFIG_MODE Used for auto negotiation mode to configure master or slave mode.
 
typedef enum _sai_port_module_type_t sai_port_module_type_t
 Attribute data for SAI_PORT_ATTR_MODULE_TYPE Used for configuring Fiber module type.
 
typedef enum _sai_port_dual_media_t sai_port_dual_media_t
 Attribute data for SAI_PORT_ATTR_DUAL_MEDIA Used to configure media type for dual media supported PHY.
 
typedef enum _sai_port_host_tx_ready_status_t sai_port_host_tx_ready_status_t
 Attribute data for SAI_PORT_ATTR_HOST_TX_READY_STATUS.
 
typedef enum _sai_port_path_tracing_timestamp_type_t sai_port_path_tracing_timestamp_type_t
 Attribute data for SAI_PORT_ATTR_PATH_TRACING_TIMESTAMP_TYPE.
 
typedef enum _sai_port_attr_t sai_port_attr_t
 Attribute Id in sai_set_port_attribute() and sai_get_port_attribute() calls.
 
typedef enum _sai_port_stat_t sai_port_stat_t
 Port counter IDs in sai_get_port_stats() call.
 
typedef sai_status_t(* sai_create_port_fn) (_Out_ sai_object_id_t *port_id, _In_ sai_object_id_t switch_id, _In_ uint32_t attr_count, _In_ const sai_attribute_t *attr_list)
 Create port.
 
typedef sai_status_t(* sai_remove_port_fn) (_In_ sai_object_id_t port_id)
 Remove port.
 
typedef sai_status_t(* sai_set_port_attribute_fn) (_In_ sai_object_id_t port_id, _In_ const sai_attribute_t *attr)
 Set port attribute value.
 
typedef sai_status_t(* sai_get_port_attribute_fn) (_In_ sai_object_id_t port_id, _In_ uint32_t attr_count, _Inout_ sai_attribute_t *attr_list)
 Get port attribute value.
 
typedef sai_status_t(* sai_get_port_stats_fn) (_In_ sai_object_id_t port_id, _In_ uint32_t number_of_counters, _In_ const sai_stat_id_t *counter_ids, _Out_ uint64_t *counters)
 Get port statistics counters. Deprecated for backward compatibility.
 
typedef sai_status_t(* sai_get_port_stats_ext_fn) (_In_ sai_object_id_t port_id, _In_ uint32_t number_of_counters, _In_ const sai_stat_id_t *counter_ids, _In_ sai_stats_mode_t mode, _Out_ uint64_t *counters)
 Get port statistics counters extended.
 
typedef sai_status_t(* sai_clear_port_stats_fn) (_In_ sai_object_id_t port_id, _In_ uint32_t number_of_counters, _In_ const sai_stat_id_t *counter_ids)
 Clear port statistics counters.
 
typedef sai_status_t(* sai_clear_port_all_stats_fn) (_In_ sai_object_id_t port_id)
 Clear port's all statistics counters.
 
typedef void(* sai_port_state_change_notification_fn) (_In_ uint32_t count, _In_ const sai_port_oper_status_notification_t *data)
 Port state change notification.
 
typedef void(* sai_port_host_tx_ready_notification_fn) (_In_ sai_object_id_t switch_id, _In_ sai_object_id_t port_id, _In_ sai_port_host_tx_ready_status_t host_tx_ready_status)
 Port host tx ready notification.
 
typedef enum _sai_port_pool_attr_t sai_port_pool_attr_t
 List of Port buffer pool attributes.
 
typedef enum _sai_port_pool_stat_t sai_port_pool_stat_t
 Port pool counter IDs in sai_get_port_pool_stats() call.
 
typedef sai_status_t(* sai_create_port_pool_fn) (_Out_ sai_object_id_t *port_pool_id, _In_ sai_object_id_t switch_id, _In_ uint32_t attr_count, _In_ const sai_attribute_t *attr_list)
 Create port pool.
 
typedef sai_status_t(* sai_remove_port_pool_fn) (_In_ sai_object_id_t port_pool_id)
 Remove port pool.
 
typedef sai_status_t(* sai_set_port_pool_attribute_fn) (_In_ sai_object_id_t port_pool_id, _In_ const sai_attribute_t *attr)
 Set port pool attribute value.
 
typedef sai_status_t(* sai_get_port_pool_attribute_fn) (_In_ sai_object_id_t port_pool_id, _In_ uint32_t attr_count, _Inout_ sai_attribute_t *attr_list)
 Get port pool attribute value.
 
typedef sai_status_t(* sai_get_port_pool_stats_fn) (_In_ sai_object_id_t port_pool_id, _In_ uint32_t number_of_counters, _In_ const sai_stat_id_t *counter_ids, _Out_ uint64_t *counters)
 Get port pool statistics counters. Deprecated for backward compatibility.
 
typedef sai_status_t(* sai_get_port_pool_stats_ext_fn) (_In_ sai_object_id_t port_pool_id, _In_ uint32_t number_of_counters, _In_ const sai_stat_id_t *counter_ids, _In_ sai_stats_mode_t mode, _Out_ uint64_t *counters)
 Get port pool statistics counters extended.
 
typedef sai_status_t(* sai_clear_port_pool_stats_fn) (_In_ sai_object_id_t port_pool_id, _In_ uint32_t number_of_counters, _In_ const sai_stat_id_t *counter_ids)
 Clear port pool statistics counters.
 
typedef enum _sai_port_serdes_attr_t sai_port_serdes_attr_t
 List of Port Serdes attributes.
 
typedef sai_status_t(* sai_create_port_serdes_fn) (_Out_ sai_object_id_t *port_serdes_id, _In_ sai_object_id_t switch_id, _In_ uint32_t attr_count, _In_ const sai_attribute_t *attr_list)
 Create port serdes.
 
typedef sai_status_t(* sai_remove_port_serdes_fn) (_In_ sai_object_id_t port_serdes_id)
 Remove port serdes.
 
typedef sai_status_t(* sai_set_port_serdes_attribute_fn) (_In_ sai_object_id_t port_serdes_id, _In_ const sai_attribute_t *attr)
 Set Port serdes attribute value.
 
typedef sai_status_t(* sai_get_port_serdes_attribute_fn) (_In_ sai_object_id_t port_serdes_id, _In_ uint32_t attr_count, _Inout_ sai_attribute_t *attr_list)
 Get Port serdes attribute value.
 
typedef enum _sai_port_connector_attr_t sai_port_connector_attr_t
 List of Port connector attributes.
 
typedef sai_status_t(* sai_create_port_connector_fn) (_Out_ sai_object_id_t *port_connector_id, _In_ sai_object_id_t switch_id, _In_ uint32_t attr_count, _In_ const sai_attribute_t *attr_list)
 Create port connector Port connector uses to define logical relation between system side port to line side port.
 
typedef sai_status_t(* sai_remove_port_connector_fn) (_In_ sai_object_id_t port_connector_id)
 Remove port connector.
 
typedef sai_status_t(* sai_set_port_connector_attribute_fn) (_In_ sai_object_id_t port_connector_id, _In_ const sai_attribute_t *attr)
 Set port connector attribute value.
 
typedef sai_status_t(* sai_get_port_connector_attribute_fn) (_In_ sai_object_id_t port_connector_id, _In_ uint32_t attr_count, _Inout_ sai_attribute_t *attr_list)
 Get port connector attribute value.
 
typedef struct _sai_port_api_t sai_port_api_t
 Port methods table retrieved with sai_api_query()
 

Enumerations

enum  _sai_port_type_t { SAI_PORT_TYPE_LOGICAL , SAI_PORT_TYPE_CPU , SAI_PORT_TYPE_FABRIC , SAI_PORT_TYPE_RECYCLE }
 Attribute data for SAI_PORT_ATTR_TYPE. More...
 
enum  _sai_port_oper_status_t {
  SAI_PORT_OPER_STATUS_UNKNOWN , SAI_PORT_OPER_STATUS_UP , SAI_PORT_OPER_STATUS_DOWN , SAI_PORT_OPER_STATUS_TESTING ,
  SAI_PORT_OPER_STATUS_NOT_PRESENT
}
 Attribute data for SAI_PORT_ATTR_OPER_STATUS. More...
 
enum  _sai_port_flow_control_mode_t { SAI_PORT_FLOW_CONTROL_MODE_DISABLE , SAI_PORT_FLOW_CONTROL_MODE_TX_ONLY , SAI_PORT_FLOW_CONTROL_MODE_RX_ONLY , SAI_PORT_FLOW_CONTROL_MODE_BOTH_ENABLE }
 Attribute data for SAI_PORT_ATTR_GLOBAL_FLOW_CONTROL_MODE. More...
 
enum  _sai_port_internal_loopback_mode_t { SAI_PORT_INTERNAL_LOOPBACK_MODE_NONE , SAI_PORT_INTERNAL_LOOPBACK_MODE_PHY , SAI_PORT_INTERNAL_LOOPBACK_MODE_MAC }
 Attribute data for SAI_PORT_ATTR_INTERNAL_LOOPBACK_MODE To be deprecated, use sai_port_loopback_mode_t instead. More...
 
enum  _sai_port_loopback_mode_t {
  SAI_PORT_LOOPBACK_MODE_NONE , SAI_PORT_LOOPBACK_MODE_PHY , SAI_PORT_LOOPBACK_MODE_MAC , SAI_PORT_LOOPBACK_MODE_PHY_REMOTE ,
  SAI_PORT_LOOPBACK_MODE_MAC_REMOTE
}
 Attribute data for SAI_PORT_ATTR_LOOPBACK_MODE. More...
 
enum  _sai_port_media_type_t {
  SAI_PORT_MEDIA_TYPE_NOT_PRESENT , SAI_PORT_MEDIA_TYPE_UNKNOWN , SAI_PORT_MEDIA_TYPE_FIBER , SAI_PORT_MEDIA_TYPE_COPPER ,
  SAI_PORT_MEDIA_TYPE_BACKPLANE
}
 Attribute data for SAI_PORT_ATTR_MEDIA_TYPE. More...
 
enum  _sai_port_cable_pair_state_t {
  SAI_PORT_CABLE_PAIR_STATE_OK , SAI_PORT_CABLE_PAIR_STATE_OPEN , SAI_PORT_CABLE_PAIR_STATE_SHORT , SAI_PORT_CABLE_PAIR_STATE_CROSSTALK ,
  SAI_PORT_CABLE_PAIR_STATE_UNKNOWN
}
 Attribute data for SAI_PORT_ATTR_CABLE_PAIR_STATE Copper cable pair states. More...
 
enum  _sai_port_cable_type_t {
  SAI_PORT_CABLE_TYPE_UNKNOWN , SAI_PORT_CABLE_TYPE_CAT5 , SAI_PORT_CABLE_TYPE_CAT5E , SAI_PORT_CABLE_TYPE_CAT6 ,
  SAI_PORT_CABLE_TYPE_CAT6A , SAI_PORT_CABLE_TYPE_CAT7
}
 Attribute data for SAI_PORT_ATTR_CABLE_TYPE Copper cable types. More...
 
enum  _sai_port_breakout_mode_type_t { SAI_PORT_BREAKOUT_MODE_TYPE_1_LANE = 0 , SAI_PORT_BREAKOUT_MODE_TYPE_2_LANE = 1 , SAI_PORT_BREAKOUT_MODE_TYPE_4_LANE = 2 , SAI_PORT_BREAKOUT_MODE_TYPE_MAX }
 Breakout Mode types based on number of SerDes lanes used in a port. More...
 
enum  _sai_port_fec_mode_t { SAI_PORT_FEC_MODE_NONE , SAI_PORT_FEC_MODE_RS , SAI_PORT_FEC_MODE_FC }
 Attribute data for SAI_PORT_ATTR_FEC_MODE. More...
 
enum  _sai_port_fec_mode_extended_t {
  SAI_PORT_FEC_MODE_EXTENDED_NONE , SAI_PORT_FEC_MODE_EXTENDED_RS528 , SAI_PORT_FEC_MODE_EXTENDED_RS544 , SAI_PORT_FEC_MODE_EXTENDED_RS544_INTERLEAVED ,
  SAI_PORT_FEC_MODE_EXTENDED_FC
}
 Attribute data for SAI_PORT_ATTR_FEC_MODE_EXTENDED. More...
 
enum  _sai_port_datapath_enable_t { SAI_PORT_DATAPATH_ENABLE_PASS_THROUGH_MODE , SAI_PORT_DATAPATH_ENABLE_PCS_IEEE_MODE }
 Attribute data for SAI_PORT_ATTR_DATAPATH_ENABLE. More...
 
enum  _sai_port_priority_flow_control_mode_t { SAI_PORT_PRIORITY_FLOW_CONTROL_MODE_COMBINED , SAI_PORT_PRIORITY_FLOW_CONTROL_MODE_SEPARATE }
 Priority flow control mode. More...
 
enum  _sai_port_ptp_mode_t { SAI_PORT_PTP_MODE_NONE , SAI_PORT_PTP_MODE_SINGLE_STEP_TIMESTAMP , SAI_PORT_PTP_MODE_TWO_STEP_TIMESTAMP }
 PTP mode. More...
 
enum  _sai_port_interface_type_t {
  SAI_PORT_INTERFACE_TYPE_NONE , SAI_PORT_INTERFACE_TYPE_CR , SAI_PORT_INTERFACE_TYPE_CR2 , SAI_PORT_INTERFACE_TYPE_CR4 ,
  SAI_PORT_INTERFACE_TYPE_SR , SAI_PORT_INTERFACE_TYPE_SR2 , SAI_PORT_INTERFACE_TYPE_SR4 , SAI_PORT_INTERFACE_TYPE_LR ,
  SAI_PORT_INTERFACE_TYPE_LR4 , SAI_PORT_INTERFACE_TYPE_KR , SAI_PORT_INTERFACE_TYPE_KR4 , SAI_PORT_INTERFACE_TYPE_CAUI ,
  SAI_PORT_INTERFACE_TYPE_GMII , SAI_PORT_INTERFACE_TYPE_SFI , SAI_PORT_INTERFACE_TYPE_XLAUI , SAI_PORT_INTERFACE_TYPE_KR2 ,
  SAI_PORT_INTERFACE_TYPE_CAUI4 , SAI_PORT_INTERFACE_TYPE_XAUI , SAI_PORT_INTERFACE_TYPE_XFI , SAI_PORT_INTERFACE_TYPE_XGMII ,
  SAI_PORT_INTERFACE_TYPE_CR8 , SAI_PORT_INTERFACE_TYPE_KR8 , SAI_PORT_INTERFACE_TYPE_SR8 , SAI_PORT_INTERFACE_TYPE_LR8 ,
  SAI_PORT_INTERFACE_TYPE_USXGMII , SAI_PORT_INTERFACE_TYPE_MAX
}
 Attribute data for SAI_PORT_ATTR_INTERFACE_TYPE Used for selecting electrical interface with specific electrical pin and signal quality. More...
 
enum  _sai_port_link_training_failure_status_t { SAI_PORT_LINK_TRAINING_FAILURE_STATUS_NO_ERROR , SAI_PORT_LINK_TRAINING_FAILURE_STATUS_FRAME_LOCK_ERROR , SAI_PORT_LINK_TRAINING_FAILURE_STATUS_SNR_LOWER_THRESHOLD , SAI_PORT_LINK_TRAINING_FAILURE_STATUS_TIME_OUT }
 Attribute data for SAI_PORT_ATTR_LINK_TRAINING_FAILURE_STATUS Used for Link Training failure status and error codes. More...
 
enum  _sai_port_link_training_rx_status_t { SAI_PORT_LINK_TRAINING_RX_STATUS_NOT_TRAINED , SAI_PORT_LINK_TRAINING_RX_STATUS_TRAINED }
 Attribute data for SAI_PORT_ATTR_LINK_TRAINING_RX_STATUS Used for receiver status for link training. More...
 
enum  _sai_port_prbs_config_t { SAI_PORT_PRBS_CONFIG_DISABLE , SAI_PORT_PRBS_CONFIG_ENABLE_TX_RX , SAI_PORT_PRBS_CONFIG_ENABLE_RX , SAI_PORT_PRBS_CONFIG_ENABLE_TX }
 Attribute data for SAI_PORT_ATTR_PRBS_CONFIG PRBS configuration to enable transmitter, receiver or both. More...
 
enum  _sai_port_connector_failover_mode_t { SAI_PORT_CONNECTOR_FAILOVER_MODE_DISABLE , SAI_PORT_CONNECTOR_FAILOVER_MODE_PRIMARY , SAI_PORT_CONNECTOR_FAILOVER_MODE_SECONDARY }
 Attribute data for SAI_PORT_CONNECTOR_ATTR_FAILOVER_MODE Used for Failover mode configuration on port. More...
 
enum  _sai_port_mdix_mode_status_t { SAI_PORT_MDIX_MODE_STATUS_STRAIGHT , SAI_PORT_MDIX_MODE_STATUS_CROSSOVER }
 Attribute data for SAI_PORT_ATTR_MDIX_MODE_STATUS Used for MDIX mode status. More...
 
enum  _sai_port_mdix_mode_config_t { SAI_PORT_MDIX_MODE_CONFIG_AUTO , SAI_PORT_MDIX_MODE_CONFIG_STRAIGHT , SAI_PORT_MDIX_MODE_CONFIG_CROSSOVER }
 Attribute data for SAI_PORT_ATTR_MDIX_MODE_CONFIG Used for MDIX mode configuration. More...
 
enum  _sai_port_auto_neg_config_mode_t { SAI_PORT_AUTO_NEG_CONFIG_MODE_DISABLED , SAI_PORT_AUTO_NEG_CONFIG_MODE_AUTO , SAI_PORT_AUTO_NEG_CONFIG_MODE_SLAVE , SAI_PORT_AUTO_NEG_CONFIG_MODE_MASTER }
 Attribute data for SAI_PORT_ATTR_AUTO_NEG_CONFIG_MODE Used for auto negotiation mode to configure master or slave mode. More...
 
enum  _sai_port_module_type_t { SAI_PORT_MODULE_TYPE_1000BASE_X , SAI_PORT_MODULE_TYPE_100FX , SAI_PORT_MODULE_TYPE_SGMII_SLAVE }
 Attribute data for SAI_PORT_ATTR_MODULE_TYPE Used for configuring Fiber module type. More...
 
enum  _sai_port_dual_media_t {
  SAI_PORT_DUAL_MEDIA_NONE , SAI_PORT_DUAL_MEDIA_COPPER_ONLY , SAI_PORT_DUAL_MEDIA_FIBER_ONLY , SAI_PORT_DUAL_MEDIA_COPPER_PREFERRED ,
  SAI_PORT_DUAL_MEDIA_FIBER_PREFERRED
}
 Attribute data for SAI_PORT_ATTR_DUAL_MEDIA Used to configure media type for dual media supported PHY. More...
 
enum  _sai_port_host_tx_ready_status_t { SAI_PORT_HOST_TX_READY_STATUS_NOT_READY , SAI_PORT_HOST_TX_READY_STATUS_READY }
 Attribute data for SAI_PORT_ATTR_HOST_TX_READY_STATUS. More...
 
enum  _sai_port_path_tracing_timestamp_type_t { SAI_PORT_PATH_TRACING_TIMESTAMP_TYPE_8_15 , SAI_PORT_PATH_TRACING_TIMESTAMP_TYPE_12_19 , SAI_PORT_PATH_TRACING_TIMESTAMP_TYPE_16_23 , SAI_PORT_PATH_TRACING_TIMESTAMP_TYPE_20_27 }
 Attribute data for SAI_PORT_ATTR_PATH_TRACING_TIMESTAMP_TYPE. More...
 
enum  _sai_port_attr_t {
  SAI_PORT_ATTR_START , SAI_PORT_ATTR_TYPE = SAI_PORT_ATTR_START , SAI_PORT_ATTR_OPER_STATUS , SAI_PORT_ATTR_SUPPORTED_BREAKOUT_MODE_TYPE ,
  SAI_PORT_ATTR_CURRENT_BREAKOUT_MODE_TYPE , SAI_PORT_ATTR_QOS_NUMBER_OF_QUEUES , SAI_PORT_ATTR_QOS_QUEUE_LIST , SAI_PORT_ATTR_QOS_NUMBER_OF_SCHEDULER_GROUPS ,
  SAI_PORT_ATTR_QOS_SCHEDULER_GROUP_LIST , SAI_PORT_ATTR_QOS_MAXIMUM_HEADROOM_SIZE , SAI_PORT_ATTR_SUPPORTED_SPEED , SAI_PORT_ATTR_SUPPORTED_FEC_MODE ,
  SAI_PORT_ATTR_SUPPORTED_FEC_MODE_EXTENDED , SAI_PORT_ATTR_SUPPORTED_HALF_DUPLEX_SPEED , SAI_PORT_ATTR_SUPPORTED_AUTO_NEG_MODE , SAI_PORT_ATTR_SUPPORTED_FLOW_CONTROL_MODE ,
  SAI_PORT_ATTR_SUPPORTED_ASYMMETRIC_PAUSE_MODE , SAI_PORT_ATTR_SUPPORTED_MEDIA_TYPE , SAI_PORT_ATTR_REMOTE_ADVERTISED_SPEED , SAI_PORT_ATTR_REMOTE_ADVERTISED_FEC_MODE ,
  SAI_PORT_ATTR_REMOTE_ADVERTISED_FEC_MODE_EXTENDED , SAI_PORT_ATTR_REMOTE_ADVERTISED_HALF_DUPLEX_SPEED , SAI_PORT_ATTR_REMOTE_ADVERTISED_AUTO_NEG_MODE , SAI_PORT_ATTR_REMOTE_ADVERTISED_FLOW_CONTROL_MODE ,
  SAI_PORT_ATTR_REMOTE_ADVERTISED_ASYMMETRIC_PAUSE_MODE , SAI_PORT_ATTR_REMOTE_ADVERTISED_MEDIA_TYPE , SAI_PORT_ATTR_REMOTE_ADVERTISED_OUI_CODE , SAI_PORT_ATTR_NUMBER_OF_INGRESS_PRIORITY_GROUPS ,
  SAI_PORT_ATTR_INGRESS_PRIORITY_GROUP_LIST , SAI_PORT_ATTR_EYE_VALUES , SAI_PORT_ATTR_OPER_SPEED , SAI_PORT_ATTR_HW_LANE_LIST ,
  SAI_PORT_ATTR_SPEED , SAI_PORT_ATTR_FULL_DUPLEX_MODE , SAI_PORT_ATTR_AUTO_NEG_MODE , SAI_PORT_ATTR_ADMIN_STATE ,
  SAI_PORT_ATTR_MEDIA_TYPE , SAI_PORT_ATTR_ADVERTISED_SPEED , SAI_PORT_ATTR_ADVERTISED_FEC_MODE , SAI_PORT_ATTR_ADVERTISED_FEC_MODE_EXTENDED ,
  SAI_PORT_ATTR_ADVERTISED_HALF_DUPLEX_SPEED , SAI_PORT_ATTR_ADVERTISED_AUTO_NEG_MODE , SAI_PORT_ATTR_ADVERTISED_FLOW_CONTROL_MODE , SAI_PORT_ATTR_ADVERTISED_ASYMMETRIC_PAUSE_MODE ,
  SAI_PORT_ATTR_ADVERTISED_MEDIA_TYPE , SAI_PORT_ATTR_ADVERTISED_OUI_CODE , SAI_PORT_ATTR_PORT_VLAN_ID , SAI_PORT_ATTR_DEFAULT_VLAN_PRIORITY ,
  SAI_PORT_ATTR_DROP_UNTAGGED , SAI_PORT_ATTR_DROP_TAGGED , SAI_PORT_ATTR_INTERNAL_LOOPBACK_MODE , SAI_PORT_ATTR_USE_EXTENDED_FEC ,
  SAI_PORT_ATTR_FEC_MODE , SAI_PORT_ATTR_FEC_MODE_EXTENDED , SAI_PORT_ATTR_UPDATE_DSCP , SAI_PORT_ATTR_MTU ,
  SAI_PORT_ATTR_FLOOD_STORM_CONTROL_POLICER_ID , SAI_PORT_ATTR_BROADCAST_STORM_CONTROL_POLICER_ID , SAI_PORT_ATTR_MULTICAST_STORM_CONTROL_POLICER_ID , SAI_PORT_ATTR_GLOBAL_FLOW_CONTROL_MODE ,
  SAI_PORT_ATTR_INGRESS_ACL , SAI_PORT_ATTR_EGRESS_ACL , SAI_PORT_ATTR_INGRESS_MACSEC_ACL , SAI_PORT_ATTR_EGRESS_MACSEC_ACL ,
  SAI_PORT_ATTR_MACSEC_PORT_LIST , SAI_PORT_ATTR_INGRESS_MIRROR_SESSION , SAI_PORT_ATTR_EGRESS_MIRROR_SESSION , SAI_PORT_ATTR_INGRESS_SAMPLEPACKET_ENABLE ,
  SAI_PORT_ATTR_EGRESS_SAMPLEPACKET_ENABLE , SAI_PORT_ATTR_INGRESS_SAMPLE_MIRROR_SESSION , SAI_PORT_ATTR_EGRESS_SAMPLE_MIRROR_SESSION , SAI_PORT_ATTR_POLICER_ID ,
  SAI_PORT_ATTR_QOS_DEFAULT_TC , SAI_PORT_ATTR_QOS_DOT1P_TO_TC_MAP , SAI_PORT_ATTR_QOS_DOT1P_TO_COLOR_MAP , SAI_PORT_ATTR_QOS_DSCP_TO_TC_MAP ,
  SAI_PORT_ATTR_QOS_DSCP_TO_COLOR_MAP , SAI_PORT_ATTR_QOS_TC_TO_QUEUE_MAP , SAI_PORT_ATTR_QOS_TC_AND_COLOR_TO_DOT1P_MAP , SAI_PORT_ATTR_QOS_TC_AND_COLOR_TO_DSCP_MAP ,
  SAI_PORT_ATTR_QOS_TC_TO_PRIORITY_GROUP_MAP , SAI_PORT_ATTR_QOS_PFC_PRIORITY_TO_PRIORITY_GROUP_MAP , SAI_PORT_ATTR_QOS_PFC_PRIORITY_TO_QUEUE_MAP , SAI_PORT_ATTR_QOS_SCHEDULER_PROFILE_ID ,
  SAI_PORT_ATTR_QOS_INGRESS_BUFFER_PROFILE_LIST , SAI_PORT_ATTR_QOS_EGRESS_BUFFER_PROFILE_LIST , SAI_PORT_ATTR_PRIORITY_FLOW_CONTROL_MODE , SAI_PORT_ATTR_PRIORITY_FLOW_CONTROL ,
  SAI_PORT_ATTR_PRIORITY_FLOW_CONTROL_RX , SAI_PORT_ATTR_PRIORITY_FLOW_CONTROL_TX , SAI_PORT_ATTR_META_DATA , SAI_PORT_ATTR_EGRESS_BLOCK_PORT_LIST ,
  SAI_PORT_ATTR_HW_PROFILE_ID , SAI_PORT_ATTR_EEE_ENABLE , SAI_PORT_ATTR_EEE_IDLE_TIME , SAI_PORT_ATTR_EEE_WAKE_TIME ,
  SAI_PORT_ATTR_PORT_POOL_LIST , SAI_PORT_ATTR_ISOLATION_GROUP , SAI_PORT_ATTR_PKT_TX_ENABLE , SAI_PORT_ATTR_TAM_OBJECT ,
  SAI_PORT_ATTR_SERDES_PREEMPHASIS , SAI_PORT_ATTR_SERDES_IDRIVER , SAI_PORT_ATTR_SERDES_IPREDRIVER , SAI_PORT_ATTR_LINK_TRAINING_ENABLE ,
  SAI_PORT_ATTR_PTP_MODE , SAI_PORT_ATTR_INTERFACE_TYPE , SAI_PORT_ATTR_ADVERTISED_INTERFACE_TYPE , SAI_PORT_ATTR_REFERENCE_CLOCK ,
  SAI_PORT_ATTR_PRBS_POLYNOMIAL , SAI_PORT_ATTR_PORT_SERDES_ID , SAI_PORT_ATTR_LINK_TRAINING_FAILURE_STATUS , SAI_PORT_ATTR_LINK_TRAINING_RX_STATUS ,
  SAI_PORT_ATTR_PRBS_CONFIG , SAI_PORT_ATTR_PRBS_LOCK_STATUS , SAI_PORT_ATTR_PRBS_LOCK_LOSS_STATUS , SAI_PORT_ATTR_PRBS_RX_STATUS ,
  SAI_PORT_ATTR_PRBS_RX_STATE , SAI_PORT_ATTR_AUTO_NEG_STATUS , SAI_PORT_ATTR_DISABLE_DECREMENT_TTL , SAI_PORT_ATTR_QOS_MPLS_EXP_TO_TC_MAP ,
  SAI_PORT_ATTR_QOS_MPLS_EXP_TO_COLOR_MAP , SAI_PORT_ATTR_QOS_TC_AND_COLOR_TO_MPLS_EXP_MAP , SAI_PORT_ATTR_TPID , SAI_PORT_ATTR_ERR_STATUS_LIST ,
  SAI_PORT_ATTR_FABRIC_ATTACHED , SAI_PORT_ATTR_FABRIC_ATTACHED_SWITCH_TYPE , SAI_PORT_ATTR_FABRIC_ATTACHED_SWITCH_ID , SAI_PORT_ATTR_FABRIC_ATTACHED_PORT_INDEX ,
  SAI_PORT_ATTR_FABRIC_REACHABILITY , SAI_PORT_ATTR_SYSTEM_PORT , SAI_PORT_ATTR_AUTO_NEG_FEC_MODE_OVERRIDE , SAI_PORT_ATTR_LOOPBACK_MODE ,
  SAI_PORT_ATTR_MDIX_MODE_STATUS , SAI_PORT_ATTR_MDIX_MODE_CONFIG , SAI_PORT_ATTR_AUTO_NEG_CONFIG_MODE , SAI_PORT_ATTR_1000X_SGMII_SLAVE_AUTODETECT ,
  SAI_PORT_ATTR_MODULE_TYPE , SAI_PORT_ATTR_DUAL_MEDIA , SAI_PORT_ATTR_AUTO_NEG_FEC_MODE_EXTENDED , SAI_PORT_ATTR_IPG ,
  SAI_PORT_ATTR_GLOBAL_FLOW_CONTROL_FORWARD , SAI_PORT_ATTR_PRIORITY_FLOW_CONTROL_FORWARD , SAI_PORT_ATTR_QOS_DSCP_TO_FORWARDING_CLASS_MAP , SAI_PORT_ATTR_QOS_MPLS_EXP_TO_FORWARDING_CLASS_MAP ,
  SAI_PORT_ATTR_IPSEC_PORT , SAI_PORT_ATTR_PFC_TC_DLD_INTERVAL_RANGE , SAI_PORT_ATTR_PFC_TC_DLD_INTERVAL , SAI_PORT_ATTR_PFC_TC_DLR_INTERVAL_RANGE ,
  SAI_PORT_ATTR_PFC_TC_DLR_INTERVAL , SAI_PORT_ATTR_SUPPORTED_LINK_TRAINING_MODE , SAI_PORT_ATTR_RX_SIGNAL_DETECT , SAI_PORT_ATTR_RX_LOCK_STATUS ,
  SAI_PORT_ATTR_PCS_RX_LINK_STATUS , SAI_PORT_ATTR_FEC_ALIGNMENT_LOCK , SAI_PORT_ATTR_FABRIC_ISOLATE , SAI_PORT_ATTR_MAX_FEC_SYMBOL_ERRORS_DETECTABLE ,
  SAI_PORT_ATTR_ARS_ENABLE , SAI_PORT_ATTR_ARS_PORT_LOAD_SCALING_FACTOR , SAI_PORT_ATTR_ARS_PORT_LOAD_PAST_ENABLE , SAI_PORT_ATTR_ARS_PORT_LOAD_FUTURE_ENABLE ,
  SAI_PORT_ATTR_ARS_ALTERNATE_PATH , SAI_PORT_ATTR_JSON_FORMATTED_DEBUG_DATA , SAI_PORT_ATTR_ECMP_HASH_ALGORITHM , SAI_PORT_ATTR_ECMP_HASH_SEED ,
  SAI_PORT_ATTR_ECMP_HASH_OFFSET , SAI_PORT_ATTR_OPER_PORT_FEC_MODE , SAI_PORT_ATTR_HOST_TX_SIGNAL_ENABLE , SAI_PORT_ATTR_HOST_TX_READY_STATUS ,
  SAI_PORT_ATTR_PATH_TRACING_INTF , SAI_PORT_ATTR_PATH_TRACING_TIMESTAMP_TYPE , SAI_PORT_ATTR_RX_FREQUENCY_OFFSET_PPM , SAI_PORT_ATTR_RX_SNR ,
  SAI_PORT_ATTR_DATAPATH_ENABLE , SAI_PORT_ATTR_CABLE_PAIR_STATE , SAI_PORT_ATTR_CABLE_PAIR_LENGTH , SAI_PORT_ATTR_CABLE_TYPE ,
  SAI_PORT_ATTR_END , SAI_PORT_ATTR_CUSTOM_RANGE_START = 0x10000000 , SAI_PORT_ATTR_CUSTOM_RANGE_END
}
 Attribute Id in sai_set_port_attribute() and sai_get_port_attribute() calls. More...
 
enum  _sai_port_stat_t {
  SAI_PORT_STAT_START , SAI_PORT_STAT_IF_IN_OCTETS = SAI_PORT_STAT_START , SAI_PORT_STAT_IF_IN_UCAST_PKTS , SAI_PORT_STAT_IF_IN_NON_UCAST_PKTS ,
  SAI_PORT_STAT_IF_IN_DISCARDS , SAI_PORT_STAT_IF_IN_ERRORS , SAI_PORT_STAT_IF_IN_UNKNOWN_PROTOS , SAI_PORT_STAT_IF_IN_BROADCAST_PKTS ,
  SAI_PORT_STAT_IF_IN_MULTICAST_PKTS , SAI_PORT_STAT_IF_IN_VLAN_DISCARDS , SAI_PORT_STAT_IF_OUT_OCTETS , SAI_PORT_STAT_IF_OUT_UCAST_PKTS ,
  SAI_PORT_STAT_IF_OUT_NON_UCAST_PKTS , SAI_PORT_STAT_IF_OUT_DISCARDS , SAI_PORT_STAT_IF_OUT_ERRORS , SAI_PORT_STAT_IF_OUT_QLEN ,
  SAI_PORT_STAT_IF_OUT_BROADCAST_PKTS , SAI_PORT_STAT_IF_OUT_MULTICAST_PKTS , SAI_PORT_STAT_ETHER_STATS_DROP_EVENTS , SAI_PORT_STAT_ETHER_STATS_MULTICAST_PKTS ,
  SAI_PORT_STAT_ETHER_STATS_BROADCAST_PKTS , SAI_PORT_STAT_ETHER_STATS_UNDERSIZE_PKTS , SAI_PORT_STAT_ETHER_STATS_FRAGMENTS , SAI_PORT_STAT_ETHER_STATS_PKTS_64_OCTETS ,
  SAI_PORT_STAT_ETHER_STATS_PKTS_65_TO_127_OCTETS , SAI_PORT_STAT_ETHER_STATS_PKTS_128_TO_255_OCTETS , SAI_PORT_STAT_ETHER_STATS_PKTS_256_TO_511_OCTETS , SAI_PORT_STAT_ETHER_STATS_PKTS_512_TO_1023_OCTETS ,
  SAI_PORT_STAT_ETHER_STATS_PKTS_1024_TO_1518_OCTETS , SAI_PORT_STAT_ETHER_STATS_PKTS_1519_TO_2047_OCTETS , SAI_PORT_STAT_ETHER_STATS_PKTS_2048_TO_4095_OCTETS , SAI_PORT_STAT_ETHER_STATS_PKTS_4096_TO_9216_OCTETS ,
  SAI_PORT_STAT_ETHER_STATS_PKTS_9217_TO_16383_OCTETS , SAI_PORT_STAT_ETHER_STATS_OVERSIZE_PKTS , SAI_PORT_STAT_ETHER_RX_OVERSIZE_PKTS , SAI_PORT_STAT_ETHER_TX_OVERSIZE_PKTS ,
  SAI_PORT_STAT_ETHER_STATS_JABBERS , SAI_PORT_STAT_ETHER_STATS_OCTETS , SAI_PORT_STAT_ETHER_STATS_PKTS , SAI_PORT_STAT_ETHER_STATS_COLLISIONS ,
  SAI_PORT_STAT_ETHER_STATS_CRC_ALIGN_ERRORS , SAI_PORT_STAT_ETHER_STATS_TX_NO_ERRORS , SAI_PORT_STAT_ETHER_STATS_RX_NO_ERRORS , SAI_PORT_STAT_IP_IN_RECEIVES ,
  SAI_PORT_STAT_IP_IN_OCTETS , SAI_PORT_STAT_IP_IN_UCAST_PKTS , SAI_PORT_STAT_IP_IN_NON_UCAST_PKTS , SAI_PORT_STAT_IP_IN_DISCARDS ,
  SAI_PORT_STAT_IP_OUT_OCTETS , SAI_PORT_STAT_IP_OUT_UCAST_PKTS , SAI_PORT_STAT_IP_OUT_NON_UCAST_PKTS , SAI_PORT_STAT_IP_OUT_DISCARDS ,
  SAI_PORT_STAT_IPV6_IN_RECEIVES , SAI_PORT_STAT_IPV6_IN_OCTETS , SAI_PORT_STAT_IPV6_IN_UCAST_PKTS , SAI_PORT_STAT_IPV6_IN_NON_UCAST_PKTS ,
  SAI_PORT_STAT_IPV6_IN_MCAST_PKTS , SAI_PORT_STAT_IPV6_IN_DISCARDS , SAI_PORT_STAT_IPV6_OUT_OCTETS , SAI_PORT_STAT_IPV6_OUT_UCAST_PKTS ,
  SAI_PORT_STAT_IPV6_OUT_NON_UCAST_PKTS , SAI_PORT_STAT_IPV6_OUT_MCAST_PKTS , SAI_PORT_STAT_IPV6_OUT_DISCARDS , SAI_PORT_STAT_GREEN_WRED_DROPPED_PACKETS ,
  SAI_PORT_STAT_GREEN_WRED_DROPPED_BYTES , SAI_PORT_STAT_YELLOW_WRED_DROPPED_PACKETS , SAI_PORT_STAT_YELLOW_WRED_DROPPED_BYTES , SAI_PORT_STAT_RED_WRED_DROPPED_PACKETS ,
  SAI_PORT_STAT_RED_WRED_DROPPED_BYTES , SAI_PORT_STAT_WRED_DROPPED_PACKETS , SAI_PORT_STAT_WRED_DROPPED_BYTES , SAI_PORT_STAT_ECN_MARKED_PACKETS ,
  SAI_PORT_STAT_ETHER_IN_PKTS_64_OCTETS , SAI_PORT_STAT_ETHER_IN_PKTS_65_TO_127_OCTETS , SAI_PORT_STAT_ETHER_IN_PKTS_128_TO_255_OCTETS , SAI_PORT_STAT_ETHER_IN_PKTS_256_TO_511_OCTETS ,
  SAI_PORT_STAT_ETHER_IN_PKTS_512_TO_1023_OCTETS , SAI_PORT_STAT_ETHER_IN_PKTS_1024_TO_1518_OCTETS , SAI_PORT_STAT_ETHER_IN_PKTS_1519_TO_2047_OCTETS , SAI_PORT_STAT_ETHER_IN_PKTS_2048_TO_4095_OCTETS ,
  SAI_PORT_STAT_ETHER_IN_PKTS_4096_TO_9216_OCTETS , SAI_PORT_STAT_ETHER_IN_PKTS_9217_TO_16383_OCTETS , SAI_PORT_STAT_ETHER_OUT_PKTS_64_OCTETS , SAI_PORT_STAT_ETHER_OUT_PKTS_65_TO_127_OCTETS ,
  SAI_PORT_STAT_ETHER_OUT_PKTS_128_TO_255_OCTETS , SAI_PORT_STAT_ETHER_OUT_PKTS_256_TO_511_OCTETS , SAI_PORT_STAT_ETHER_OUT_PKTS_512_TO_1023_OCTETS , SAI_PORT_STAT_ETHER_OUT_PKTS_1024_TO_1518_OCTETS ,
  SAI_PORT_STAT_ETHER_OUT_PKTS_1519_TO_2047_OCTETS , SAI_PORT_STAT_ETHER_OUT_PKTS_2048_TO_4095_OCTETS , SAI_PORT_STAT_ETHER_OUT_PKTS_4096_TO_9216_OCTETS , SAI_PORT_STAT_ETHER_OUT_PKTS_9217_TO_16383_OCTETS ,
  SAI_PORT_STAT_IN_CURR_OCCUPANCY_BYTES , SAI_PORT_STAT_IN_WATERMARK_BYTES , SAI_PORT_STAT_IN_SHARED_CURR_OCCUPANCY_BYTES , SAI_PORT_STAT_IN_SHARED_WATERMARK_BYTES ,
  SAI_PORT_STAT_OUT_CURR_OCCUPANCY_BYTES , SAI_PORT_STAT_OUT_WATERMARK_BYTES , SAI_PORT_STAT_OUT_SHARED_CURR_OCCUPANCY_BYTES , SAI_PORT_STAT_OUT_SHARED_WATERMARK_BYTES ,
  SAI_PORT_STAT_IN_DROPPED_PKTS , SAI_PORT_STAT_OUT_DROPPED_PKTS , SAI_PORT_STAT_PAUSE_RX_PKTS , SAI_PORT_STAT_PAUSE_TX_PKTS ,
  SAI_PORT_STAT_PFC_0_RX_PKTS , SAI_PORT_STAT_PFC_0_TX_PKTS , SAI_PORT_STAT_PFC_1_RX_PKTS , SAI_PORT_STAT_PFC_1_TX_PKTS ,
  SAI_PORT_STAT_PFC_2_RX_PKTS , SAI_PORT_STAT_PFC_2_TX_PKTS , SAI_PORT_STAT_PFC_3_RX_PKTS , SAI_PORT_STAT_PFC_3_TX_PKTS ,
  SAI_PORT_STAT_PFC_4_RX_PKTS , SAI_PORT_STAT_PFC_4_TX_PKTS , SAI_PORT_STAT_PFC_5_RX_PKTS , SAI_PORT_STAT_PFC_5_TX_PKTS ,
  SAI_PORT_STAT_PFC_6_RX_PKTS , SAI_PORT_STAT_PFC_6_TX_PKTS , SAI_PORT_STAT_PFC_7_RX_PKTS , SAI_PORT_STAT_PFC_7_TX_PKTS ,
  SAI_PORT_STAT_PFC_0_RX_PAUSE_DURATION , SAI_PORT_STAT_PFC_0_TX_PAUSE_DURATION , SAI_PORT_STAT_PFC_1_RX_PAUSE_DURATION , SAI_PORT_STAT_PFC_1_TX_PAUSE_DURATION ,
  SAI_PORT_STAT_PFC_2_RX_PAUSE_DURATION , SAI_PORT_STAT_PFC_2_TX_PAUSE_DURATION , SAI_PORT_STAT_PFC_3_RX_PAUSE_DURATION , SAI_PORT_STAT_PFC_3_TX_PAUSE_DURATION ,
  SAI_PORT_STAT_PFC_4_RX_PAUSE_DURATION , SAI_PORT_STAT_PFC_4_TX_PAUSE_DURATION , SAI_PORT_STAT_PFC_5_RX_PAUSE_DURATION , SAI_PORT_STAT_PFC_5_TX_PAUSE_DURATION ,
  SAI_PORT_STAT_PFC_6_RX_PAUSE_DURATION , SAI_PORT_STAT_PFC_6_TX_PAUSE_DURATION , SAI_PORT_STAT_PFC_7_RX_PAUSE_DURATION , SAI_PORT_STAT_PFC_7_TX_PAUSE_DURATION ,
  SAI_PORT_STAT_PFC_0_RX_PAUSE_DURATION_US , SAI_PORT_STAT_PFC_0_TX_PAUSE_DURATION_US , SAI_PORT_STAT_PFC_1_RX_PAUSE_DURATION_US , SAI_PORT_STAT_PFC_1_TX_PAUSE_DURATION_US ,
  SAI_PORT_STAT_PFC_2_RX_PAUSE_DURATION_US , SAI_PORT_STAT_PFC_2_TX_PAUSE_DURATION_US , SAI_PORT_STAT_PFC_3_RX_PAUSE_DURATION_US , SAI_PORT_STAT_PFC_3_TX_PAUSE_DURATION_US ,
  SAI_PORT_STAT_PFC_4_RX_PAUSE_DURATION_US , SAI_PORT_STAT_PFC_4_TX_PAUSE_DURATION_US , SAI_PORT_STAT_PFC_5_RX_PAUSE_DURATION_US , SAI_PORT_STAT_PFC_5_TX_PAUSE_DURATION_US ,
  SAI_PORT_STAT_PFC_6_RX_PAUSE_DURATION_US , SAI_PORT_STAT_PFC_6_TX_PAUSE_DURATION_US , SAI_PORT_STAT_PFC_7_RX_PAUSE_DURATION_US , SAI_PORT_STAT_PFC_7_TX_PAUSE_DURATION_US ,
  SAI_PORT_STAT_PFC_0_ON2OFF_RX_PKTS , SAI_PORT_STAT_PFC_1_ON2OFF_RX_PKTS , SAI_PORT_STAT_PFC_2_ON2OFF_RX_PKTS , SAI_PORT_STAT_PFC_3_ON2OFF_RX_PKTS ,
  SAI_PORT_STAT_PFC_4_ON2OFF_RX_PKTS , SAI_PORT_STAT_PFC_5_ON2OFF_RX_PKTS , SAI_PORT_STAT_PFC_6_ON2OFF_RX_PKTS , SAI_PORT_STAT_PFC_7_ON2OFF_RX_PKTS ,
  SAI_PORT_STAT_DOT3_STATS_ALIGNMENT_ERRORS , SAI_PORT_STAT_DOT3_STATS_FCS_ERRORS , SAI_PORT_STAT_DOT3_STATS_SINGLE_COLLISION_FRAMES , SAI_PORT_STAT_DOT3_STATS_MULTIPLE_COLLISION_FRAMES ,
  SAI_PORT_STAT_DOT3_STATS_SQE_TEST_ERRORS , SAI_PORT_STAT_DOT3_STATS_DEFERRED_TRANSMISSIONS , SAI_PORT_STAT_DOT3_STATS_LATE_COLLISIONS , SAI_PORT_STAT_DOT3_STATS_EXCESSIVE_COLLISIONS ,
  SAI_PORT_STAT_DOT3_STATS_INTERNAL_MAC_TRANSMIT_ERRORS , SAI_PORT_STAT_DOT3_STATS_CARRIER_SENSE_ERRORS , SAI_PORT_STAT_DOT3_STATS_FRAME_TOO_LONGS , SAI_PORT_STAT_DOT3_STATS_INTERNAL_MAC_RECEIVE_ERRORS ,
  SAI_PORT_STAT_DOT3_STATS_SYMBOL_ERRORS , SAI_PORT_STAT_DOT3_CONTROL_IN_UNKNOWN_OPCODES , SAI_PORT_STAT_EEE_TX_EVENT_COUNT , SAI_PORT_STAT_EEE_RX_EVENT_COUNT ,
  SAI_PORT_STAT_EEE_TX_DURATION , SAI_PORT_STAT_EEE_RX_DURATION , SAI_PORT_STAT_PRBS_ERROR_COUNT , SAI_PORT_STAT_IF_IN_FEC_CORRECTABLE_FRAMES ,
  SAI_PORT_STAT_IF_IN_FEC_NOT_CORRECTABLE_FRAMES , SAI_PORT_STAT_IF_IN_FEC_SYMBOL_ERRORS , SAI_PORT_STAT_IF_IN_FABRIC_DATA_UNITS , SAI_PORT_STAT_IF_OUT_FABRIC_DATA_UNITS ,
  SAI_PORT_STAT_IF_IN_FEC_CODEWORD_ERRORS_S0 , SAI_PORT_STAT_IF_IN_FEC_CODEWORD_ERRORS_S1 , SAI_PORT_STAT_IF_IN_FEC_CODEWORD_ERRORS_S2 , SAI_PORT_STAT_IF_IN_FEC_CODEWORD_ERRORS_S3 ,
  SAI_PORT_STAT_IF_IN_FEC_CODEWORD_ERRORS_S4 , SAI_PORT_STAT_IF_IN_FEC_CODEWORD_ERRORS_S5 , SAI_PORT_STAT_IF_IN_FEC_CODEWORD_ERRORS_S6 , SAI_PORT_STAT_IF_IN_FEC_CODEWORD_ERRORS_S7 ,
  SAI_PORT_STAT_IF_IN_FEC_CODEWORD_ERRORS_S8 , SAI_PORT_STAT_IF_IN_FEC_CODEWORD_ERRORS_S9 , SAI_PORT_STAT_IF_IN_FEC_CODEWORD_ERRORS_S10 , SAI_PORT_STAT_IF_IN_FEC_CODEWORD_ERRORS_S11 ,
  SAI_PORT_STAT_IF_IN_FEC_CODEWORD_ERRORS_S12 , SAI_PORT_STAT_IF_IN_FEC_CODEWORD_ERRORS_S13 , SAI_PORT_STAT_IF_IN_FEC_CODEWORD_ERRORS_S14 , SAI_PORT_STAT_IF_IN_FEC_CODEWORD_ERRORS_S15 ,
  SAI_PORT_STAT_IF_IN_FEC_CODEWORD_ERRORS_S16 , SAI_PORT_STAT_IF_IN_FEC_CORRECTED_BITS , SAI_PORT_STAT_IN_DROP_REASON_RANGE_BASE = 0x00001000 , SAI_PORT_STAT_IN_CONFIGURED_DROP_REASONS_0_DROPPED_PKTS = SAI_PORT_STAT_IN_DROP_REASON_RANGE_BASE ,
  SAI_PORT_STAT_IN_CONFIGURED_DROP_REASONS_1_DROPPED_PKTS , SAI_PORT_STAT_IN_CONFIGURED_DROP_REASONS_2_DROPPED_PKTS , SAI_PORT_STAT_IN_CONFIGURED_DROP_REASONS_3_DROPPED_PKTS , SAI_PORT_STAT_IN_CONFIGURED_DROP_REASONS_4_DROPPED_PKTS ,
  SAI_PORT_STAT_IN_CONFIGURED_DROP_REASONS_5_DROPPED_PKTS , SAI_PORT_STAT_IN_CONFIGURED_DROP_REASONS_6_DROPPED_PKTS , SAI_PORT_STAT_IN_CONFIGURED_DROP_REASONS_7_DROPPED_PKTS , SAI_PORT_STAT_IN_DROP_REASON_RANGE_END = 0x00001fff ,
  SAI_PORT_STAT_OUT_DROP_REASON_RANGE_BASE = 0x00002000 , SAI_PORT_STAT_OUT_CONFIGURED_DROP_REASONS_0_DROPPED_PKTS = SAI_PORT_STAT_OUT_DROP_REASON_RANGE_BASE , SAI_PORT_STAT_OUT_CONFIGURED_DROP_REASONS_1_DROPPED_PKTS , SAI_PORT_STAT_OUT_CONFIGURED_DROP_REASONS_2_DROPPED_PKTS ,
  SAI_PORT_STAT_OUT_CONFIGURED_DROP_REASONS_3_DROPPED_PKTS , SAI_PORT_STAT_OUT_CONFIGURED_DROP_REASONS_4_DROPPED_PKTS , SAI_PORT_STAT_OUT_CONFIGURED_DROP_REASONS_5_DROPPED_PKTS , SAI_PORT_STAT_OUT_CONFIGURED_DROP_REASONS_6_DROPPED_PKTS ,
  SAI_PORT_STAT_OUT_CONFIGURED_DROP_REASONS_7_DROPPED_PKTS , SAI_PORT_STAT_OUT_DROP_REASON_RANGE_END = 0x00002fff , SAI_PORT_STAT_END
}
 Port counter IDs in sai_get_port_stats() call. More...
 
enum  _sai_port_pool_attr_t {
  SAI_PORT_POOL_ATTR_START , SAI_PORT_POOL_ATTR_PORT_ID = SAI_PORT_POOL_ATTR_START , SAI_PORT_POOL_ATTR_BUFFER_POOL_ID , SAI_PORT_POOL_ATTR_QOS_WRED_PROFILE_ID ,
  SAI_PORT_POOL_ATTR_END , SAI_PORT_POOL_ATTR_CUSTOM_RANGE_START = 0x10000000 , SAI_PORT_POOL_ATTR_CUSTOM_RANGE_END
}
 List of Port buffer pool attributes. More...
 
enum  _sai_port_pool_stat_t {
  SAI_PORT_POOL_STAT_IF_OCTETS , SAI_PORT_POOL_STAT_GREEN_WRED_DROPPED_PACKETS , SAI_PORT_POOL_STAT_GREEN_WRED_DROPPED_BYTES , SAI_PORT_POOL_STAT_YELLOW_WRED_DROPPED_PACKETS ,
  SAI_PORT_POOL_STAT_YELLOW_WRED_DROPPED_BYTES , SAI_PORT_POOL_STAT_RED_WRED_DROPPED_PACKETS , SAI_PORT_POOL_STAT_RED_WRED_DROPPED_BYTES , SAI_PORT_POOL_STAT_WRED_DROPPED_PACKETS ,
  SAI_PORT_POOL_STAT_WRED_DROPPED_BYTES , SAI_PORT_POOL_STAT_GREEN_WRED_ECN_MARKED_PACKETS , SAI_PORT_POOL_STAT_GREEN_WRED_ECN_MARKED_BYTES , SAI_PORT_POOL_STAT_YELLOW_WRED_ECN_MARKED_PACKETS ,
  SAI_PORT_POOL_STAT_YELLOW_WRED_ECN_MARKED_BYTES , SAI_PORT_POOL_STAT_RED_WRED_ECN_MARKED_PACKETS , SAI_PORT_POOL_STAT_RED_WRED_ECN_MARKED_BYTES , SAI_PORT_POOL_STAT_WRED_ECN_MARKED_PACKETS ,
  SAI_PORT_POOL_STAT_WRED_ECN_MARKED_BYTES , SAI_PORT_POOL_STAT_CURR_OCCUPANCY_BYTES , SAI_PORT_POOL_STAT_WATERMARK_BYTES , SAI_PORT_POOL_STAT_SHARED_CURR_OCCUPANCY_BYTES ,
  SAI_PORT_POOL_STAT_SHARED_WATERMARK_BYTES , SAI_PORT_POOL_STAT_DROPPED_PKTS
}
 Port pool counter IDs in sai_get_port_pool_stats() call. More...
 
enum  _sai_port_serdes_attr_t {
  SAI_PORT_SERDES_ATTR_START , SAI_PORT_SERDES_ATTR_PORT_ID = SAI_PORT_SERDES_ATTR_START , SAI_PORT_SERDES_ATTR_PREEMPHASIS , SAI_PORT_SERDES_ATTR_IDRIVER ,
  SAI_PORT_SERDES_ATTR_IPREDRIVER , SAI_PORT_SERDES_ATTR_TX_FIR_PRE1 , SAI_PORT_SERDES_ATTR_TX_FIR_PRE2 , SAI_PORT_SERDES_ATTR_TX_FIR_PRE3 ,
  SAI_PORT_SERDES_ATTR_TX_FIR_MAIN , SAI_PORT_SERDES_ATTR_TX_FIR_POST1 , SAI_PORT_SERDES_ATTR_TX_FIR_POST2 , SAI_PORT_SERDES_ATTR_TX_FIR_POST3 ,
  SAI_PORT_SERDES_ATTR_TX_FIR_ATTN , SAI_PORT_SERDES_ATTR_TX_PAM4_RATIO , SAI_PORT_SERDES_ATTR_TX_OUT_COMMON_MODE , SAI_PORT_SERDES_ATTR_TX_PMOS_COMMON_MODE ,
  SAI_PORT_SERDES_ATTR_TX_NMOS_COMMON_MODE , SAI_PORT_SERDES_ATTR_TX_PMOS_VLTG_REG , SAI_PORT_SERDES_ATTR_TX_NMOS_VLTG_REG , SAI_PORT_SERDES_ATTR_TX_PRECODING ,
  SAI_PORT_SERDES_ATTR_RX_PRECODING , SAI_PORT_SERDES_ATTR_END , SAI_PORT_SERDES_ATTR_CUSTOM_RANGE_START = 0x10000000 , SAI_PORT_SERDES_ATTR_CUSTOM_RANGE_END
}
 List of Port Serdes attributes. More...
 
enum  _sai_port_connector_attr_t {
  SAI_PORT_CONNECTOR_ATTR_START , SAI_PORT_CONNECTOR_ATTR_SYSTEM_SIDE_PORT_ID = SAI_PORT_CONNECTOR_ATTR_START , SAI_PORT_CONNECTOR_ATTR_LINE_SIDE_PORT_ID , SAI_PORT_CONNECTOR_ATTR_SYSTEM_SIDE_FAILOVER_PORT_ID ,
  SAI_PORT_CONNECTOR_ATTR_LINE_SIDE_FAILOVER_PORT_ID , SAI_PORT_CONNECTOR_ATTR_FAILOVER_MODE , SAI_PORT_CONNECTOR_ATTR_END , SAI_PORT_CONNECTOR_ATTR_CUSTOM_RANGE_START = 0x10000000 ,
  SAI_PORT_CONNECTOR_ATTR_CUSTOM_RANGE_END
}
 List of Port connector attributes. More...
 

Detailed Description

This module defines SAI Port interface.

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