Open Ethernet Networking (OpEN) API Guide and Reference Manual  3.6.0.3
Data Structures | Macros | Typedefs | Enumerations | Functions
openapi_instru_bst.h File Reference
#include <string.h>
#include <stdio.h>
#include <stdbool.h>
#include "openapi_common.h"

Go to the source code of this file.

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