Open Ethernet Networking (OpEN) API Guide and Reference Manual  3.6.0.3
Data Structures | Macros | Typedefs | Enumerations | Functions
Instrumentation Specific APIs [OPENAPI_INSTRU_BST]

Data Structures

struct  _open_bst_error_data_
 Structure to hold error info during multi threshold set. More...
 
struct  OPEN_BST_EGRESS_CPU_QUEUE_DATA_t::_open_cpuq_data_
 
struct  OPEN_BST_EGRESS_MC_QUEUE_DATA_t::_open_emcq_data_
 
struct  OPEN_BST_EGRESS_PORT_SP_DATA_t::_open_epsp_data_
 
struct  OPEN_BST_EGRESS_SP_DATA_t::_open_esp_data_
 
struct  OPEN_BST_EGRESS_UC_QUEUE_DATA_t::_open_eucq_data_
 
struct  OPEN_BST_EGRESS_UC_QUEUEGROUPS_DATA_t::_open_eucqg_data_
 
struct  OPEN_BST_INGRESS_PORT_PG_DATA_t::_open_ippg_data_
 
struct  OPEN_BST_INGRESS_PORT_SP_DATA_t::_open_ipsp_data_
 
struct  OPEN_BST_INGRESS_SP_DATA_t::_open_isp_data_
 
struct  OPEN_BST_EGRESS_RQE_QUEUE_DATA_t::_open_rqeq_data_
 
struct  OPEN_ASIC_CAPABILITIES_t
 
struct  OPEN_ASIC_PORT_MAP_t
 
struct  OPEN_BST_ASIC_SNAPSHOT_DATA_COMPRESSED_t
 A Complete Data set for a 'snapshot'. More...
 
struct  OPEN_BST_ASIC_SNAPSHOT_DATA_t
 A Complete Data set for a 'snapshot'. More...
 
struct  OPEN_BST_CONFIG_t
 Feature Configuration. More...
 
struct  OPEN_BST_DEVICE_DATA_t
 Buffer Count for the device. More...
 
struct  OPEN_BST_DEVICE_THRESHOLD_t
 Profile configuration for the device level buffers. More...
 
struct  OPEN_BST_EGRESS_CPU_QUEUE_DATA_t
 Buffer Count for CPU Queues. More...
 
struct  OPEN_BST_EGRESS_CPU_QUEUE_THRESHOLD_t
 Profile configuration for CPU Queues. More...
 
struct  OPEN_BST_EGRESS_MC_QUEUE_DATA_t
 Buffer Count for Egress Multicast Queues. More...
 
struct  OPEN_BST_EGRESS_MC_QUEUE_THRESHOLD_t
 Profile configuration for Egress Multicast Queues. More...
 
struct  OPEN_BST_EGRESS_PORT_SP_DATA_t
 Buffer Count for Egress Port + Service Pools. More...
 
struct  OPEN_BST_EGRESS_PORT_SP_THRESHOLD_t
 Profile configuration for Egress Port + Service Pools. More...
 
struct  OPEN_BST_EGRESS_RQE_QUEUE_DATA_t
 Buffer Count for RQE Queues. More...
 
struct  OPEN_BST_EGRESS_RQE_QUEUE_THRESHOLD_t
 Profile configuration for RQE Queues. More...
 
struct  OPEN_BST_EGRESS_SP_DATA_t
 Buffer Count for Egress Service Pools. More...
 
struct  OPEN_BST_EGRESS_SP_THRESHOLD_t
 Profile configuration for Egress Service Pools. More...
 
struct  OPEN_BST_EGRESS_UC_QUEUE_DATA_t
 Buffer Count for Egress Unicast Queues. More...
 
struct  OPEN_BST_EGRESS_UC_QUEUE_THRESHOLD_t
 Profile configuration for Egress Unicast Queues. More...
 
struct  OPEN_BST_EGRESS_UC_QUEUEGROUPS_DATA_t
 Buffer Count for Egress Unicast Queue Groups. More...
 
struct  OPEN_BST_EGRESS_UC_QUEUEGROUPS_THRESHOLD_t
 Profile configuration for Egress Unicast Queue Groups. More...
 
struct  OPEN_BST_INGRESS_PORT_PG_DATA_t
 Buffer Count for Ingress Port + Priority Groups. More...
 
struct  OPEN_BST_INGRESS_PORT_PG_THRESHOLD_t
 Profile configuration for Ingress Port + Priority Groups. More...
 
struct  OPEN_BST_INGRESS_PORT_SP_DATA_t
 Buffer Count for Ingress Port + Service Pools. More...
 
struct  OPEN_BST_INGRESS_PORT_SP_THRESHOLD_t
 Profile configuration for Ingress Port + Service Pools. More...
 
struct  OPEN_BST_INGRESS_SP_DATA_t
 Buffer Count for Ingress Service Pools. More...
 
struct  OPEN_BST_INGRESS_SP_THRESHOLD_t
 Profile configuration for Ingress Service Pools. More...
 
struct  OPEN_BST_TRIGGER_INFO_t
 
struct  OPEN_SYSTEM_COSQ_HWQ_MAP_t
 Structure of cosq H/W queue map. More...
 
struct  OPEN_SYSTEM_COSQ_HWQ_MAP_V2_t
 Structure of cosq H/W queue map version 2. More...
 
struct  OPEN_SYSTEM_PORT_COSQ_HWQ_MAP_t
 Structure of port-cosq-hwqueue map. More...
 
struct  OPEN_SYSTEM_PORT_COSQ_HWQ_MAP_V2_t
 Structure of port-cosq-hwqueue map version 2. More...
 

Macros

#define BVIEW_MAX_STRING_NAME_LEN   256
 
#define OPEN_ASIC_BST_MAX_PORTS   OPEN_ASIC_ICOS_BST_MAX_PORTS
 
#define OPEN_ASIC_ICOS_BST_MAX_PORTS   300
 Maximum number of ports. More...
 
#define OPEN_ASIC_ICOS_MAX_PORTS   300
 OPEN_ASIC_ICOS_MAX_PORTS may be deprecated in the future, use OPEN_ASIC_MAX_PORTS.
 
#define OPEN_ASIC_MAX_COMMON_POOLS   1
 Number of maximum service pools.
 
#define OPEN_ASIC_MAX_CPU_QUEUES   8
 Number of maximum CPU queues.
 
#define OPEN_ASIC_MAX_INGRESS_SERVICE_POOLS   (OPEN_ASIC_MAX_SERVICE_POOLS + OPEN_ASIC_MAX_COMMON_POOLS)
 Number of maximum total service pools.
 
#define OPEN_ASIC_MAX_MC_QUEUES   1040
 Number of maximum multicast queues.
 
#define OPEN_ASIC_MAX_PORTS   OPEN_ASIC_ICOS_MAX_PORTS
 
#define OPEN_ASIC_MAX_PRIORITY_GROUPS   8
 Number of maximum priority groups.
 
#define OPEN_ASIC_MAX_RQE_QUEUE_POOLS   4
 Number of maximum RQE queue pools.
 
#define OPEN_ASIC_MAX_RQE_QUEUES   11
 Number of maximum RQE queues.
 
#define OPEN_ASIC_MAX_SERVICE_POOLS   4
 Number of maximum common pools.
 
#define OPEN_ASIC_MAX_UC_MC_QUEUES   (OPEN_ASIC_MAX_UC_QUEUES + OPEN_ASIC_MAX_MC_QUEUES)
 
#define OPEN_ASIC_MAX_UC_QUEUE_GROUPS   4096
 Number of maximum unicast queue groups.
 
#define OPEN_ASIC_MAX_UC_QUEUES   16384
 Number maximum of unicast queues.
 
#define OPEN_BST_INVALID_THRESHOLD_FIELD   0xFFFFFFFFFFFFFFFFLL
 
#define OPEN_BST_INVALID_THRESHOLD_FIELD_32   0xFFFFFFFF
 
#define OPEN_SYSTEM_NUM_COS_PORT   8
 Number of maximum COS queue per port.
 

Typedefs

typedef struct _open_bst_error_data_ OPEN_BST_ERROR_DATA_t
 Structure to hold error info during multi threshold set.
 
typedef enum _open_bst_threshold_realm_ OPEN_BST_THRESHOLD_TYPE_t
 Threshold types enum.
 
typedef open_error_t(* OPEN_BST_TRIGGER_CALLBACK_t) (int asic, void *handle, OPEN_BST_TRIGGER_INFO_t *info)
 Callback to be invoked when a configured threshold is breached.
 

Enumerations

enum  _open_bst_threshold_realm_ {
  OPEN_BST_DEVICE_THRESHOLD = 1, OPEN_BST_EGRESS_PORT_SP_THRESHOLD, OPEN_BST_EGRESS_SP_THRESHOLD, OPEN_BST_EGRESS_UC_QUEUE_THRESHOLD,
  OPEN_BST_EGRESS_UC_QUEUEGROUPS_THRESHOLD, OPEN_BST_EGRESS_MC_QUEUE_THRESHOLD, OPEN_BST_EGRESS_CPU_QUEUE_THRESHOLD, OPEN_BST_EGRESS_RQE_QUEUE_THRESHOLD,
  OPEN_BST_INGRESS_PORT_PG_THRESHOLD, OPEN_BST_INGRESS_PORT_SP_THRESHOLD, OPEN_BST_INGRESS_SP_THRESHOLD
}
 Threshold types enum.
 
enum  OPEN_BST_COLLECTION_MODE { OPEN_BST_MODE_CURRENT = 1, OPEN_BST_MODE_PEAK = 2 }
 Statistics collection mode.
 
enum  OPEN_BST_TRIGGER_TYPE { OPEN_BST_TRIGGER_DEVICE = 1, OPEN_BST_TRIGGER_INGRESS = 2, OPEN_BST_TRIGGER_EGRESS = 4 }
 Trigger Type.
 

Functions

open_error_t openapiBstAsicCapabilityGet (openapiClientHandle_t *clientHandle, int asic, OPEN_ASIC_CAPABILITIES_t *asicCap)
 BST feature configuration get function. More...
 
open_error_t openapiBstCgsnDropCtrsClear (openapiClientHandle_t *clientHandle, int asic)
 Clear congestion drop counters. More...
 
open_error_t openapiBstConfigGet (openapiClientHandle_t *clientHandle, int asic, OPEN_BST_CONFIG_t *bstCfg)
 BST feature configuration get function. More...
 
open_error_t openapiBstConfigSet (openapiClientHandle_t *clientHandle, int asic, OPEN_BST_CONFIG_t *bstCfg)
 BST feature configuration set function. More...
 
open_error_t openapiBstCpuqDataGet (openapiClientHandle_t *clientHandle, int asic, OPEN_BST_EGRESS_CPU_QUEUE_DATA_t *data, time_t *time)
 Obtain CPU Queues Statistics. More...
 
open_error_t openapiBstCpuqThresholdSet (openapiClientHandle_t *clientHandle, int asic, int cpuQueue, OPEN_BST_EGRESS_CPU_QUEUE_THRESHOLD_t *thre)
 Set profile configuration for Egress CPU Queues Statistics. More...
 
open_error_t openapiBstDefaultSnapshotGet (openapiClientHandle_t *clientHandle, int asic, OPEN_BST_ASIC_SNAPSHOT_DATA_t *data1, OPEN_BST_EGRESS_UC_QUEUE_DATA_t *data2, OPEN_BST_EGRESS_MC_QUEUE_DATA_t *data3)
 Obtain Complete ASIC Default Statistics Report. More...
 
open_error_t openapiBstDeviceDataGet (openapiClientHandle_t *clientHandle, int asic, OPEN_BST_DEVICE_DATA_t *data, time_t *time)
 Obtain Device Statistics. More...
 
open_error_t openapiBstDeviceThresholdSet (openapiClientHandle_t *clientHandle, int asic, OPEN_BST_DEVICE_THRESHOLD_t *thre)
 Set profile configuration for Device Statistics. More...
 
open_error_t openapiBstEmcqDataGet (openapiClientHandle_t *clientHandle, int asic, OPEN_BST_EGRESS_MC_QUEUE_DATA_t *data, time_t *time)
 Obtain Egress Multicast Queues Statistics. More...
 
open_error_t openapiBstEmcqThresholdSet (openapiClientHandle_t *clientHandle, int asic, int mcQueue, OPEN_BST_EGRESS_MC_QUEUE_THRESHOLD_t *thre)
 Set profile configuration for Egress Multicast Queues Statistics. More...
 
open_error_t openapiBstEpspDataGet (openapiClientHandle_t *clientHandle, int asic, OPEN_BST_EGRESS_PORT_SP_DATA_t *data, time_t *time)
 Obtain Egress Service Pools Statistics. More...
 
open_error_t openapiBstEpspThresholdSet (openapiClientHandle_t *clientHandle, int asic, int port, int sp, OPEN_BST_EGRESS_PORT_SP_THRESHOLD_t *thre)
 Set Profile configuration for Egress Port + Service Pools Statistics. More...
 
open_error_t openapiBstEspDataGet (openapiClientHandle_t *clientHandle, int asic, OPEN_BST_EGRESS_SP_DATA_t *data, time_t *time)
 Obtain Egress Service Pools Statistics. More...
 
open_error_t openapiBstEspThresholdSet (openapiClientHandle_t *clientHandle, int asic, int sp, OPEN_BST_EGRESS_SP_THRESHOLD_t *thre)
 Set profile configuration for Egress Service Pools Statistics. More...
 
open_error_t openapiBstEucqDataGet (openapiClientHandle_t *clientHandle, int asic, OPEN_BST_EGRESS_UC_QUEUE_DATA_t *data, time_t *time)
 Obtain Egress Unicast Queues Statistics. More...
 
open_error_t openapiBstEucqgDataGet (openapiClientHandle_t *clientHandle, int asic, OPEN_BST_EGRESS_UC_QUEUEGROUPS_DATA_t *data, time_t *time)
 Obtain Egress Unicast Queue Groups Statistics. More...
 
open_error_t openapiBstEucqgThresholdSet (openapiClientHandle_t *clientHandle, int asic, int ucQueueGrp, OPEN_BST_EGRESS_UC_QUEUEGROUPS_THRESHOLD_t *thre)
 Set profile configuration for Egress Unicast Queue Groups Statistics. More...
 
open_error_t openapiBstEucqThresholdSet (openapiClientHandle_t *clientHandle, int asic, int ucQueue, OPEN_BST_EGRESS_UC_QUEUE_THRESHOLD_t *thre)
 Set profile configuration for Egress Unicast Queues Statistics. More...
 
open_error_t openapiBstIppgDataGet (openapiClientHandle_t *clientHandle, int asic, OPEN_BST_INGRESS_PORT_PG_DATA_t *data, time_t *time)
 Obtain Ingress Port + Priority Groups Statistics. More...
 
open_error_t openapiBstIppgThresholdSet (openapiClientHandle_t *clientHandle, int asic, int port, int pg, OPEN_BST_INGRESS_PORT_PG_THRESHOLD_t *thre)
 Set profile configuration for Ingress Port + Priority Groups Statistics. More...
 
open_error_t openapiBstIpspDataGet (openapiClientHandle_t *clientHandle, int asic, OPEN_BST_INGRESS_PORT_SP_DATA_t *data, time_t *time)
 Obtain Ingress Port + Service Pools Statistics. More...
 
open_error_t openapiBstIpspThresholdSet (openapiClientHandle_t *clientHandle, int asic, int port, int sp, OPEN_BST_INGRESS_PORT_SP_THRESHOLD_t *thre)
 Set profile configuration for Ingress Port + Service Pools Statistics. More...
 
open_error_t openapiBstIspDataGet (openapiClientHandle_t *clientHandle, int asic, OPEN_BST_INGRESS_SP_DATA_t *data, time_t *time)
 Obtain Ingress Service Pools Statistics. More...
 
open_error_t openapiBstIspThresholdSet (openapiClientHandle_t *clientHandle, int asic, int sp, OPEN_BST_INGRESS_SP_THRESHOLD_t *thre)
 Set profile configuration for Ingress Service Pools Statistics. More...
 
open_error_t openapiBstMultiRealmThresholdSet (openapiClientHandle_t *clientHandle, int asic, int realmMask, open_buffdesc *compSnapshot, OPEN_BST_ERROR_DATA_t *errorData)
 Set threshold configurations for multiple realms. More...
 
open_error_t openapiBstMultiThresholdSet (openapiClientHandle_t *clientHandle, int asic, int realmMask, open_buffdesc *compSnapshot)
 Set threshold configurations for multiple realms. More...
 
open_error_t openapiBstPortMcastCgsDropGet (openapiClientHandle_t *clientHandle, int asic, int port, int queue, uint64_t *dropCount)
 Get Multicast congestion drop counter of a particular port-queue combination. More...
 
open_error_t openapiBstPortTotalCgsDropGet (openapiClientHandle_t *clientHandle, int asic, int port, uint64_t *dropCount)
 Get total congestion drop counter. More...
 
open_error_t openapiBstPortUcastCgsDropGet (openapiClientHandle_t *clientHandle, int asic, int port, int queue, uint64_t *dropCount)
 Get Unicast congestion drop counter of a particular port-queue combination. More...
 
open_error_t openapiBstRqeqDataGet (openapiClientHandle_t *clientHandle, int asic, OPEN_BST_EGRESS_RQE_QUEUE_DATA_t *data, time_t *time)
 Obtain RQE Queues Statistics. More...
 
open_error_t openapiBstRqeqThresholdSet (openapiClientHandle_t *clientHandle, int asic, int rqeQueue, OPEN_BST_EGRESS_RQE_QUEUE_THRESHOLD_t *thre)
 Set profile configuration for Egress RQE Queues Statistics. More...
 
open_error_t openapiBstSnapshotCompressedGet (openapiClientHandle_t *clientHandle, int asic, open_buffdesc *compSnapshot, time_t *time)
 Obtain compressed complete ASIC Statistics Report. More...
 
open_error_t openapiBstSnapshotGet (openapiClientHandle_t *clientHandle, int asic, OPEN_BST_ASIC_SNAPSHOT_DATA_t *data1, OPEN_BST_EGRESS_UC_QUEUE_DATA_t *data2, OPEN_BST_EGRESS_MC_QUEUE_DATA_t *data3, time_t *time)
 Obtain Complete ASIC Statistics Report. More...
 
open_error_t openapiBstStatsClear (openapiClientHandle_t *clientHandle, int asic)
 Clear stats. More...
 
open_error_t openapiBstThresholdCompressedGet (openapiClientHandle_t *clientHandle, int asic, open_buffdesc *compSnapshot, time_t *time)
 Get compressed snapshot of all thresholds configured. More...
 
open_error_t openapiBstThresholdGet (openapiClientHandle_t *clientHandle, int asic, OPEN_BST_ASIC_SNAPSHOT_DATA_t *thre1, OPEN_BST_EGRESS_UC_QUEUE_DATA_t *thre2, OPEN_BST_EGRESS_MC_QUEUE_DATA_t *thre3, time_t *time)
 Get snapshot of all thresholds configured. More...
 
open_error_t openapiBstThresholdsClear (openapiClientHandle_t *clientHandle, int asic)
 Restore threshold configuration. More...
 
open_error_t openapiBstTriggerDeRegister (openapiClientHandle_t *clientHandle, int asic, OPEN_BST_TRIGGER_CALLBACK_t openCallback, void *context)
 DeRegister BST trigger callback. More...
 
open_error_t openapiBstTriggerEnable (openapiClientHandle_t *clientHandle, int asic, int enable, int pid, int *clientId)
 Enable BST trigger event in network operating system. More...
 
open_error_t openapiBstTriggerRegister (openapiClientHandle_t *clientHandle, int asic, int clientId, OPEN_BST_TRIGGER_CALLBACK_t openCallback, void *context)
 Register BST trigger callback. More...
 
open_error_t openapiClearInstruConfig (openapiClientHandle_t *clientHandle, int asic)
 Clear all persistent instrumentation related configurations from fastpath. More...
 
open_error_t openapiPortMappingGet (openapiClientHandle_t *clientHandle, int asic, OPEN_ASIC_PORT_MAP_t *data)
 Get port map data for bcm to front panel port conversion. More...
 

Detailed Description

Macro Definition Documentation

#define OPEN_ASIC_ICOS_BST_MAX_PORTS   300

Maximum number of ports.

OPEN_ASIC_ICOS_BST_MAX_PORTS may be deprecated in the future, use OPEN_ASIC_BST_MAX_PORTS

Definition at line 55 of file openapi_instru_bst.h.

Function Documentation

open_error_t openapiBstAsicCapabilityGet ( openapiClientHandle_t clientHandle,
int  asic,
OPEN_ASIC_CAPABILITIES_t asicCap 
)

BST feature configuration get function.

Parameters
[in]clientHandleOpenAPI connection Handle
[in]asicAsic/Unit number
[out]asicCapAsic capability
Return values
OPEN_E_NONE
OPEN_E_ERROROpEN API Version: 1.5
Examples:
instru_example.c.
open_error_t openapiBstCgsnDropCtrsClear ( openapiClientHandle_t clientHandle,
int  asic 
)

Clear congestion drop counters.

Parameters
[in]clientHandleOpenAPI connection Handle
[in]asicAsic/Unit number
Return values
OPEN_E_NONE
OPEN_E_ERROROpEN API Version: 1.14
Examples:
instru_example.c.
open_error_t openapiBstConfigGet ( openapiClientHandle_t clientHandle,
int  asic,
OPEN_BST_CONFIG_t bstCfg 
)

BST feature configuration get function.

Parameters
[in]clientHandleOpenAPI connection Handle
[in]asicAsic/Unit number
[out]bstCfgConfig data
Return values
OPEN_E_NONE
OPEN_E_ERROROpEN API Version: 1.5
Examples:
instru_example.c.
open_error_t openapiBstConfigSet ( openapiClientHandle_t clientHandle,
int  asic,
OPEN_BST_CONFIG_t bstCfg 
)

BST feature configuration set function.

Parameters
[in]clientHandleOpenAPI connection Handle
[in]asicAsic/Unit number
[in]bstCfgInput config Data
Return values
OPEN_E_NONE
OPEN_E_ERROROpEN API Version: 1.5
Examples:
instru_example.c.
open_error_t openapiBstCpuqDataGet ( openapiClientHandle_t clientHandle,
int  asic,
OPEN_BST_EGRESS_CPU_QUEUE_DATA_t data,
time_t *  time 
)

Obtain CPU Queues Statistics.

Parameters
[in]clientHandleOpenAPI connection Handle
[in]asicAsic/Unit number
[out]dataCpuq stat data
[out]timeTime of retrieving data
Return values
OPEN_E_NONE
OPEN_E_ERROROpEN API Version: 1.5
Examples:
instru_example.c.
open_error_t openapiBstCpuqThresholdSet ( openapiClientHandle_t clientHandle,
int  asic,
int  cpuQueue,
OPEN_BST_EGRESS_CPU_QUEUE_THRESHOLD_t thre 
)

Set profile configuration for Egress CPU Queues Statistics.

Parameters
[in]clientHandleOpenAPI connection Handle
[in]asicAsic/Unit number
[in]cpuQueueCPU queue
[in]threThreshold details
Return values
OPEN_E_NONE
OPEN_E_ERROROpEN API Version: 1.5
Examples:
instru_example.c.
open_error_t openapiBstDefaultSnapshotGet ( openapiClientHandle_t clientHandle,
int  asic,
OPEN_BST_ASIC_SNAPSHOT_DATA_t data1,
OPEN_BST_EGRESS_UC_QUEUE_DATA_t data2,
OPEN_BST_EGRESS_MC_QUEUE_DATA_t data3 
)

Obtain Complete ASIC Default Statistics Report.

Parameters
[in]clientHandleOpenAPI connection Handle
[in]asicAsic/Unit number
[out]data1Snapshot data
[out]data2Eucq snapshot data
[out]data3Emcq Snapshot data
[out]timeTime of retrieving data
Return values
OPEN_E_NONE
OPEN_E_ERRORDeprecated 1.10

OpEN API Version: 1.5

open_error_t openapiBstDeviceDataGet ( openapiClientHandle_t clientHandle,
int  asic,
OPEN_BST_DEVICE_DATA_t data,
time_t *  time 
)

Obtain Device Statistics.

Parameters
[in]clientHandleOpenAPI connection Handle
[in]asicAsic/Unit number
[out]dataDevice count Data
[out]timeTime of retrieving data
Return values
OPEN_E_NONE
OPEN_E_ERROROpEN API Version: 1.5
Examples:
instru_example.c.
open_error_t openapiBstDeviceThresholdSet ( openapiClientHandle_t clientHandle,
int  asic,
OPEN_BST_DEVICE_THRESHOLD_t thre 
)

Set profile configuration for Device Statistics.

Parameters
[in]clientHandleOpenAPI connection Handle
[in]asicAsic/Unit number
[in]threThreshold details
Return values
OPEN_E_NONE
OPEN_E_ERROROpEN API Version: 1.5
Examples:
instru_example.c.
open_error_t openapiBstEmcqDataGet ( openapiClientHandle_t clientHandle,
int  asic,
OPEN_BST_EGRESS_MC_QUEUE_DATA_t data,
time_t *  time 
)

Obtain Egress Multicast Queues Statistics.

Parameters
[in]clientHandleOpenAPI connection Handle
[in]asicAsic/Unit number
[out]dataEucqg stat Data
[out]timeTime of retrieving data
Return values
OPEN_E_NONE
OPEN_E_ERROROpEN API Version: 1.5
Examples:
instru_example.c.
open_error_t openapiBstEmcqThresholdSet ( openapiClientHandle_t clientHandle,
int  asic,
int  mcQueue,
OPEN_BST_EGRESS_MC_QUEUE_THRESHOLD_t thre 
)

Set profile configuration for Egress Multicast Queues Statistics.

Parameters
[in]clientHandleOpenAPI connection Handle
[in]asicAsic/Unit number
[in]mcQueueMulticast queue
[in]threThreshold details
Return values
OPEN_E_NONE
OPEN_E_ERROROpEN API Version: 1.5
Examples:
instru_example.c.
open_error_t openapiBstEpspDataGet ( openapiClientHandle_t clientHandle,
int  asic,
OPEN_BST_EGRESS_PORT_SP_DATA_t data,
time_t *  time 
)

Obtain Egress Service Pools Statistics.

Parameters
[in]clientHandleOpenAPI connection Handle
[in]asicAsic/Unit number
[out]dataEpsp stat Data
[out]timeTime of retrieving data
Return values
OPEN_E_NONE
OPEN_E_ERROROpEN API Version: 1.5
Examples:
instru_example.c.
open_error_t openapiBstEpspThresholdSet ( openapiClientHandle_t clientHandle,
int  asic,
int  port,
int  sp,
OPEN_BST_EGRESS_PORT_SP_THRESHOLD_t thre 
)

Set Profile configuration for Egress Port + Service Pools Statistics.

Parameters
[in]clientHandleOpenAPI connection Handle
[in]asicAsic/Unit number
[in]portPort number
[in]spService pool
[in]threThreshold details
Return values
OPEN_E_NONE
OPEN_E_ERROR
Note
'ucShareThreshold'(OPEN_BST_EGRESS_PORT_SP_THRESHOLD_t) is internally converted to nearest multiple of eight cell size(in bytes) and then resultant is applied in the HW. For example in Trident2 platform cell size is 208 bytes, therefore if 2080 is supplied as threshold byte count, it is set as 2080/(208 * 8) ~ 1 (rounded to nearest integer) in HW. Hence, threshold is also retrieved as 1 * (208 * 8) = 1664 bytes using openapiBstThresholdGet() OpEN API.

OpEN API Version: 1.5

Examples:
instru_example.c.
open_error_t openapiBstEspDataGet ( openapiClientHandle_t clientHandle,
int  asic,
OPEN_BST_EGRESS_SP_DATA_t data,
time_t *  time 
)

Obtain Egress Service Pools Statistics.

Parameters
[in]clientHandleOpenAPI connection Handle
[in]asicAsic/Unit number
[out]dataEsp stat data
[out]timeTime of retrieving data
Return values
OPEN_E_NONE
OPEN_E_ERROROpEN API Version: 1.5
Examples:
instru_example.c.
open_error_t openapiBstEspThresholdSet ( openapiClientHandle_t clientHandle,
int  asic,
int  sp,
OPEN_BST_EGRESS_SP_THRESHOLD_t thre 
)

Set profile configuration for Egress Service Pools Statistics.

Parameters
[in]clientHandleOpenAPI connection Handle
[in]asicAsic/Unit number
[in]spService pool
[in]threThreshold details
Return values
OPEN_E_NONE
OPEN_E_ERROROpEN API Version: 1.5
Examples:
instru_example.c.
open_error_t openapiBstEucqDataGet ( openapiClientHandle_t clientHandle,
int  asic,
OPEN_BST_EGRESS_UC_QUEUE_DATA_t data,
time_t *  time 
)

Obtain Egress Unicast Queues Statistics.

Parameters
[in]clientHandleOpenAPI connection Handle
[in]asicAsic/Unit number
[out]dataEucq stat data
[out]timeTime of retrieving data
Return values
OPEN_E_NONE
OPEN_E_ERROROpEN API Version: 1.5
Examples:
instru_example.c.
open_error_t openapiBstEucqgDataGet ( openapiClientHandle_t clientHandle,
int  asic,
OPEN_BST_EGRESS_UC_QUEUEGROUPS_DATA_t data,
time_t *  time 
)

Obtain Egress Unicast Queue Groups Statistics.

Parameters
[in]clientHandleOpenAPI connection Handle
[in]asicAsic/Unit number
[out]dataEucqg stat Data
[out]timeTime of retrieving data
Return values
OPEN_E_NONE
OPEN_E_ERROROpEN API Version: 1.5
Examples:
instru_example.c.
open_error_t openapiBstEucqgThresholdSet ( openapiClientHandle_t clientHandle,
int  asic,
int  ucQueueGrp,
OPEN_BST_EGRESS_UC_QUEUEGROUPS_THRESHOLD_t thre 
)

Set profile configuration for Egress Unicast Queue Groups Statistics.

Parameters
[in]clientHandleOpenAPI connection Handle
[in]asicAsic/Unit number
[in]ucQueueGrpUnicast queue group
[in]threThreshold details
Return values
OPEN_E_NONE
OPEN_E_ERROR
Note
This threshold is internally converted to nearest multiple of eight cell size(in bytes) and then resultant is applied in the HW. For example in Trident2 platform cell size is 208 bytes, therefore if 2080 is supplied as threshold byte count, it is set as 2080/(208 * 8) ~ 1 (rounded to nearest integer) in HW. Hence, threshold is also retrieved as 1 * (208 * 8) = 1664 bytes using openapiBstThresholdGet() OpEN API.

OpEN API Version: 1.5

Examples:
instru_example.c.
open_error_t openapiBstEucqThresholdSet ( openapiClientHandle_t clientHandle,
int  asic,
int  ucQueue,
OPEN_BST_EGRESS_UC_QUEUE_THRESHOLD_t thre 
)

Set profile configuration for Egress Unicast Queues Statistics.

Parameters
[in]clientHandleOpenAPI connection Handle
[in]asicAsic/Unit number
[in]ucQueueUnicast queue
[in]threThreshold details
Return values
OPEN_E_NONE
OPEN_E_ERROR
Note
This threshold is internally converted to nearest multiple of eight cell size(in bytes) and then resultant is applied in the HW. For example in Trident2 platform cell size is 208 bytes, therefore if 2080 is supplied as threshold byte count, it is set as 2080/(208 * 8) ~ 1 (rounded to nearest integer) in HW. Hence, threshold is also retrieved as 1 * (208 * 8) = 1664 bytes using openapiBstThresholdGet() OpEN API.

OpEN API Version: 1.5

Examples:
instru_example.c.
open_error_t openapiBstIppgDataGet ( openapiClientHandle_t clientHandle,
int  asic,
OPEN_BST_INGRESS_PORT_PG_DATA_t data,
time_t *  time 
)

Obtain Ingress Port + Priority Groups Statistics.

Parameters
[in]clientHandleOpenAPI connection Handle
[in]asicAsic/Unit number
[out]dataIppg count data
[out]timeTime of retrieving data
Return values
OPEN_E_NONE
OPEN_E_ERROROpEN API Version: 1.5
Examples:
instru_example.c.
open_error_t openapiBstIppgThresholdSet ( openapiClientHandle_t clientHandle,
int  asic,
int  port,
int  pg,
OPEN_BST_INGRESS_PORT_PG_THRESHOLD_t thre 
)

Set profile configuration for Ingress Port + Priority Groups Statistics.

Parameters
[in]clientHandleOpenAPI connection Handle
[in]asicAsic/Unit number
[in]portPort number
[in]pgPriority Group
[in]threThreshold details
Return values
OPEN_E_NONE
OPEN_E_ERROROpEN API Version: 1.5
Examples:
instru_example.c.
open_error_t openapiBstIpspDataGet ( openapiClientHandle_t clientHandle,
int  asic,
OPEN_BST_INGRESS_PORT_SP_DATA_t data,
time_t *  time 
)

Obtain Ingress Port + Service Pools Statistics.

Parameters
[in]clientHandleOpenAPI connection Handle
[in]asicAsic/Unit number
[out]dataIpsp stat data
[out]timeTime of retrieving data
Return values
OPEN_E_NONE
OPEN_E_ERROROpEN API Version: 1.5
Examples:
instru_example.c.
open_error_t openapiBstIpspThresholdSet ( openapiClientHandle_t clientHandle,
int  asic,
int  port,
int  sp,
OPEN_BST_INGRESS_PORT_SP_THRESHOLD_t thre 
)

Set profile configuration for Ingress Port + Service Pools Statistics.

Parameters
[in]clientHandleOpenAPI connection Handle
[in]asicAsic/Unit number
[in]portPort number
[in]spService pool
[in]threThreshold details
Return values
OPEN_E_NONE
OPEN_E_ERROROpEN API Version: 1.5
Examples:
instru_example.c.
open_error_t openapiBstIspDataGet ( openapiClientHandle_t clientHandle,
int  asic,
OPEN_BST_INGRESS_SP_DATA_t data,
time_t *  time 
)

Obtain Ingress Service Pools Statistics.

Parameters
[in]clientHandleOpenAPI connection Handle
[in]asicAsic/Unit number
[out]dataIsp stat Data
[out]timeTime of retrieving data
Return values
OPEN_E_NONE
OPEN_E_ERROROpEN API Version: 1.5
Examples:
instru_example.c.
open_error_t openapiBstIspThresholdSet ( openapiClientHandle_t clientHandle,
int  asic,
int  sp,
OPEN_BST_INGRESS_SP_THRESHOLD_t thre 
)

Set profile configuration for Ingress Service Pools Statistics.

Parameters
[in]clientHandleOpenAPI connection Handle
[in]asicAsic/Unit number
[in]spService pool
[in]threThreshold details
Return values
OPEN_E_NONE
OPEN_E_ERROROpEN API Version: 1.5
Examples:
instru_example.c.
open_error_t openapiBstMultiRealmThresholdSet ( openapiClientHandle_t clientHandle,
int  asic,
int  realmMask,
open_buffdesc compSnapshot,
OPEN_BST_ERROR_DATA_t errorData 
)

Set threshold configurations for multiple realms.

Parameters
[in]clientHandleOpenAPI connection Handle
[in]asicAsic/Unit number
[in]realmMaskMask of the realms that have valid data in threshold snapshot
[in]compSnapshotcompressed threshold details
[out]errorDataFailure information
Return values
OPEN_E_NONE
OPEN_E_ERROROpEN API Version: 1.17
open_error_t openapiBstMultiThresholdSet ( openapiClientHandle_t clientHandle,
int  asic,
int  realmMask,
open_buffdesc compSnapshot 
)

Set threshold configurations for multiple realms.

Parameters
[in]clientHandleOpenAPI connection Handle
[in]asicAsic/Unit number
[in]realmMaskMask of the realms that have valid data in threshold snapshot
[in]compSnapshotcompressed threshold details
Return values
OPEN_E_NONE
OPEN_E_ERRORDeprecated 1.17
Note
This OpEN API is deprecated and openapiBstMultiRealmThresholdSet OpEN API should be used instead of this OpEN API.

OpEN API Version: 1.15

open_error_t openapiBstPortMcastCgsDropGet ( openapiClientHandle_t clientHandle,
int  asic,
int  port,
int  queue,
uint64_t *  dropCount 
)

Get Multicast congestion drop counter of a particular port-queue combination.

Parameters
[in]clientHandleOpenAPI connection Handle
[in]asicAsic/Unit number
[in]portPort number
[in]queueQueue number
[out]dropCountMulticats drop count
Return values
OPEN_E_NONE
OPEN_E_ERROROpEN API Version: 1.12
open_error_t openapiBstPortTotalCgsDropGet ( openapiClientHandle_t clientHandle,
int  asic,
int  port,
uint64_t *  dropCount 
)

Get total congestion drop counter.

Parameters
[in]clientHandleOpenAPI connection Handle
[in]asicAsic/Unit number
[in]portPort number
[in]queueQueue number
[out]dropCountTotal drop count
Return values
OPEN_E_NONE
OPEN_E_ERROROpEN API Version: 1.12
open_error_t openapiBstPortUcastCgsDropGet ( openapiClientHandle_t clientHandle,
int  asic,
int  port,
int  queue,
uint64_t *  dropCount 
)

Get Unicast congestion drop counter of a particular port-queue combination.

Parameters
[in]clientHandleOpenAPI connection Handle
[in]asicAsic/Unit number
[in]portPort number
[in]queueQueue number
[out]dropCountUnicast drop count
Return values
OPEN_E_NONE
OPEN_E_ERROROpEN API Version: 1.12
open_error_t openapiBstRqeqDataGet ( openapiClientHandle_t clientHandle,
int  asic,
OPEN_BST_EGRESS_RQE_QUEUE_DATA_t data,
time_t *  time 
)

Obtain RQE Queues Statistics.

Parameters
[in]clientHandleOpenAPI connection Handle
[in]asicAsic/Unit number
[out]dataRqeq stat data
[out]timeTime of retrieving data
Return values
OPEN_E_NONE
OPEN_E_ERROROpEN API Version: 1.5
Examples:
instru_example.c.
open_error_t openapiBstRqeqThresholdSet ( openapiClientHandle_t clientHandle,
int  asic,
int  rqeQueue,
OPEN_BST_EGRESS_RQE_QUEUE_THRESHOLD_t thre 
)

Set profile configuration for Egress RQE Queues Statistics.

Parameters
[in]clientHandleOpenAPI connection Handle
[in]asicAsic/Unit number
[in]rqeQueueReplication queue
[in]threThreshold details
Return values
OPEN_E_NONE
OPEN_E_ERROROpEN API Version: 1.5
Examples:
instru_example.c.
open_error_t openapiBstSnapshotCompressedGet ( openapiClientHandle_t clientHandle,
int  asic,
open_buffdesc compSnapshot,
time_t *  time 
)

Obtain compressed complete ASIC Statistics Report.

Parameters
[in]clientHandleOpenAPI connection Handle
[in]asicAsic/Unit number
[out]compSnapshotCompressed snapshot data
[out]timeTime of retrieving data
Return values
OPEN_E_NONE
OPEN_E_ERROR
Note
zlib library is used for compression of data.

OpEN API Version: 1.14

Examples:
instru_example.c.
open_error_t openapiBstSnapshotGet ( openapiClientHandle_t clientHandle,
int  asic,
OPEN_BST_ASIC_SNAPSHOT_DATA_t data1,
OPEN_BST_EGRESS_UC_QUEUE_DATA_t data2,
OPEN_BST_EGRESS_MC_QUEUE_DATA_t data3,
time_t *  time 
)

Obtain Complete ASIC Statistics Report.

Parameters
[in]clientHandleOpenAPI connection Handle
[in]asicAsic/Unit number
[out]data1Snapshot data
[out]data2Eucq snapshot data
[out]data3Emcq Snapshot data
[out]timeTime of retrieving data
Return values
OPEN_E_NONE
OPEN_E_ERROROpEN API Version: 1.5
Examples:
instru_example.c.
open_error_t openapiBstStatsClear ( openapiClientHandle_t clientHandle,
int  asic 
)

Clear stats.

Parameters
[in]clientHandleOpenAPI connection Handle
[in]asicAsic/Unit number
Return values
OPEN_E_NONE
OPEN_E_ERROROpEN API Version: 1.5
Examples:
instru_example.c.
open_error_t openapiBstThresholdCompressedGet ( openapiClientHandle_t clientHandle,
int  asic,
open_buffdesc compSnapshot,
time_t *  time 
)

Get compressed snapshot of all thresholds configured.

Parameters
[in]clientHandleOpenAPI connection Handle
[in]asicAsic/Unit number
[out]compSnapshotcompressed threshold details
[out]timeTime of retrieving data
Return values
OPEN_E_NONE
OPEN_E_ERROR
Note
zlib library is used for compression of data.

OpEN API Version: 1.14

Examples:
instru_example.c.
open_error_t openapiBstThresholdGet ( openapiClientHandle_t clientHandle,
int  asic,
OPEN_BST_ASIC_SNAPSHOT_DATA_t thre1,
OPEN_BST_EGRESS_UC_QUEUE_DATA_t thre2,
OPEN_BST_EGRESS_MC_QUEUE_DATA_t thre3,
time_t *  time 
)

Get snapshot of all thresholds configured.

Parameters
[in]clientHandleOpenAPI connection Handle
[in]asicAsic/Unit number
[out]thre1Threshold details
[out]thre2Eucq threshold details
[out]thre3Emcq threshold details
[out]timeTime of retrieving data
Return values
OPEN_E_NONE
OPEN_E_ERROROpEN API Version: 1.5
Examples:
instru_example.c.
open_error_t openapiBstThresholdsClear ( openapiClientHandle_t clientHandle,
int  asic 
)

Restore threshold configuration.

Parameters
[in]clientHandleOpenAPI connection Handle
[in]asicAsic/Unit number
Return values
OPEN_E_NONE
OPEN_E_ERROROpEN API Version: 1.5
Examples:
instru_example.c.
open_error_t openapiBstTriggerDeRegister ( openapiClientHandle_t clientHandle,
int  asic,
OPEN_BST_TRIGGER_CALLBACK_t  openCallback,
void *  context 
)

DeRegister BST trigger callback.

Parameters
[in]clientHandleOpenAPI connection Handle
[in]asicAsic/Unit number
[in]openCallbackFunction to be callbacked
[in]contextApplication context
Return values
OPEN_E_NONE
OPEN_E_ERROR
Note
When event happens registered function is call-backed with Asic number, Cookie and Trigger type (OPEN_BST_TRIGGER_TYPE).

OpEN API Version: 1.5

Examples:
instru_example.c.
open_error_t openapiBstTriggerEnable ( openapiClientHandle_t clientHandle,
int  asic,
int  enable,
int  pid,
int *  clientId 
)

Enable BST trigger event in network operating system.

Parameters
[in]clientHandleOpenAPI connection Handle
[in]asicAsic/Unit number
[in]enableEnable trigger
[in]pidPid of external client
[out]clientIdExternal client Id
Return values
OPEN_E_NONE
OPEN_E_ERROROpEN API Version: 1.5
Examples:
instru_example.c.
open_error_t openapiBstTriggerRegister ( openapiClientHandle_t clientHandle,
int  asic,
int  clientId,
OPEN_BST_TRIGGER_CALLBACK_t  openCallback,
void *  context 
)

Register BST trigger callback.

Parameters
[in]clientHandleOpenAPI connection Handle
[in]asicAsic/Unit number
[in]clientIdExternal client Id
[in]openCallbackFunction to be callbacked
[in]contextApplication context
Return values
OPEN_E_NONE
OPEN_E_ERROR
Note
openapiBstTriggerEnable() needs to be called prior calling this function to enable trigger and get the clientId for receiving external event from the network operating system.

OpEN API Version: 1.5

Examples:
instru_example.c.
open_error_t openapiClearInstruConfig ( openapiClientHandle_t clientHandle,
int  asic 
)

Clear all persistent instrumentation related configurations from fastpath.

Parameters
[in]clientHandleOpenAPI connection Handle
[in]asicAsic/Unit number
Return values
OPEN_E_NONE
OPEN_E_ERROROpEN API Version: 1.15
open_error_t openapiPortMappingGet ( openapiClientHandle_t clientHandle,
int  asic,
OPEN_ASIC_PORT_MAP_t data 
)

Get port map data for bcm to front panel port conversion.

Parameters
[in]clientHandleOpenAPI connection Handle
[in]asicAsic/Unit number
[out]dataPort map data
Return values
OPEN_E_NONE
OPEN_E_ERROROpEN API Version: 1.5
Examples:
instru_example.c.