NVIDIA DOCA SDK Data Center on a Chip Framework Documentation
doca_pcc_dev.h File Reference
Include dependency graph for doca_pcc_dev.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  doca_pcc_dev_results
 CC algorithm results. More...
 

Macros

#define DOCA_DPA_DEVICE
 declares that we are compiling for the DPA Device More...
 
#define DOCA_PCC_DEV_ACK_NACK_TX_EVENT_DISABLED_SUPPORTED   (1)
 
#define DOCA_PCC_DEV_TX_FLAG_ACK_EXPECTED   (1 << 0)
 TX Flag: Ack expected. More...
 
#define DOCA_PCC_DEV_TX_FLAG_OVERLOADED   (1 << 1)
 TX Flag: Overloaded: More...
 
#define DOCA_PCC_DEV_TX_FLAG_RTT_REQ_SENT   (1 << 2)
 TX Flag: RTT packet sent. More...
 
#define DOCA_PCC_DEV_LOG_MAX_RATE   (20) /* rate format in fixed point 20 */
 defines the fixed point fraction size of the rate limiter More...
 
#define DOCA_PCC_DEV_MAX_RATE   (1U << DOCA_PCC_DEV_LOG_MAX_RATE)
 Max rate in rate limiter fixed point. More...
 
#define DOCA_PCC_DEV_DEFAULT_RATE   ((DOCA_PCC_DEV_MAX_RATE >> 8) > (1) ? (DOCA_PCC_DEV_MAX_RATE >> 8) : (1))
 Default rate. The user overrides the default in the user algo function. More...
 
#define DOCA_PCC_DEV_MAX_NUM_USER_SLOTS   (8)
 Max number of algo slots supported by the lib. More...
 
#define DOCA_PCC_DEV_MAX_NUM_ALGOS   (8)
 Max number of algos supported by the lib. More...
 
#define DOCA_PCC_DEV_MAX_NUM_PARAMS_PER_ALGO   (0x26)
 Max number of parameters per algo supported by the lib. More...
 
#define DOCA_PCC_DEV_MAX_NUM_COUNTERS_PER_ALGO   (0x3F)
 Max number of counters per algo supported by the lib. More...
 
#define DOCA_PCC_DEV_ALGO_SLOT_INTERNAL   (0xF)
 Reserved algo slot for internal algo provided by the lib. More...
 
#define DOCA_PCC_DEV_ALGO_INDEX_INTERNAL   (0xF)
 Reserved algo index for internal algo provided by the lib. More...
 

Typedefs

typedef struct doca_pcc_dev_results doca_pcc_dev_results_t
 CC algorithm results. More...
 

Enumerations

enum  doca_pcc_dev_event_type_enum {
  DOCA_PCC_DEV_EVNT_NULL = 0 , DOCA_PCC_DEV_EVNT_FW = 1 , DOCA_PCC_DEV_EVNT_ROCE_CNP = 2 , DOCA_PCC_DEV_EVNT_ROCE_TX = 3 ,
  DOCA_PCC_DEV_EVNT_ROCE_ACK = 4 , DOCA_PCC_DEV_EVNT_ROCE_NACK = 5 , DOCA_PCC_DEV_EVNT_RTT = 6 , DOCA_PCC_DEV_EVNT_ROCE_TX_FOR_ACK_NACK = 31
}
 CC event type. More...
 
enum  doca_pcc_dev_nack_event_sub_type_enum { DOCA_PCC_DEV_NACK_EVNT_NULL = 0 , DOCA_PCC_DEV_NACK_EVNT_RNR = 1 , DOCA_PCC_DEV_NACK_EVNT_OOS = 2 , DOCA_PCC_DEV_NACK_EVNT_DUP_READ = 3 }
 CC Nack event subtypes. More...
 

Functions

DOCA_STABLE void doca_pcc_dev_default_internal_algo (doca_pcc_dev_algo_ctxt_t *algo_ctxt, doca_pcc_dev_event_t *event, const doca_pcc_dev_attr_t *attr, doca_pcc_dev_results_t *results)
 Implements the internal CC algorithm provided by the lib. More...
 
DOCA_STABLE void doca_pcc_dev_user_algo (doca_pcc_dev_algo_ctxt_t *algo_ctxt, doca_pcc_dev_event_t *event, const doca_pcc_dev_attr_t *attr, doca_pcc_dev_results_t *results)
 Entry point to the user algorithm handling code. More...
 
DOCA_STABLE void doca_pcc_dev_user_init (uint32_t *disable_event_bitmask)
 Entry point to the user one time initialization code. More...
 
DOCA_STABLE doca_pcc_dev_error_t doca_pcc_dev_user_set_algo_params (uint32_t port_num, uint32_t algo_slot, uint32_t param_id_base, uint32_t param_num, const uint32_t *new_param_values, uint32_t *params)
 User callback executed then parameters are set. More...
 
DOCA_EXPERIMENTAL doca_pcc_dev_error_t doca_pcc_dev_custom_header_set (doca_pcc_dev_algo_ctxt_t *algo_ctxt, doca_pcc_dev_event_t *event, uint32_t *header, uint32_t header_size, uint32_t wait_completed)
 User callback executed to set custom header in CCMAD probe packet. More...