50 if (signum == SIGUSR1) {
64 signal(SIGINT, SIG_DFL);
74 int main(
int argc,
char **argv)
80 int exit_status = EXIT_FAILURE;
81 bool enable_debug =
false;
82 struct doca_log_backend *sdk_log;
91 cfg.remote_sw_handler =
false;
158 PRINT_INFO(
"Info: Welcome to DOCA Programmable Congestion Control (PCC) application\n");
171 PRINT_ERROR(
"Error: Failed to send mailbox request\n");
179 if (enable_debug ==
false) {
212 PRINT_INFO(
"Info: Finished waiting on DOCA PCC\n");
214 exit_status = EXIT_SUCCESS;
219 PRINT_ERROR(
"Error: Failed to destroy DOCA PCC application resources: %s\n",
struct rdma_resources resources
DOCA_EXPERIMENTAL doca_error_t doca_argp_start(int argc, char **argv)
Parse incoming arguments (cmd line/json).
DOCA_EXPERIMENTAL doca_error_t doca_argp_init(const char *program_name, void *program_config)
Initialize the parser interface.
DOCA_EXPERIMENTAL doca_error_t doca_argp_get_log_level(int *log_level)
Get the log level the user inserted it.
DOCA_EXPERIMENTAL doca_error_t doca_argp_destroy(void)
ARG Parser destroy.
#define DOCA_ERROR_PROPAGATE(r, t)
Save the first encountered doca_error_t.
enum doca_error doca_error_t
DOCA API return codes.
DOCA_STABLE const char * doca_error_get_descr(doca_error_t error)
Returns the description string of an error code.
@ DOCA_ERROR_OPERATING_SYSTEM
DOCA_EXPERIMENTAL doca_error_t doca_log_backend_create_standard(void)
Create default, non configurable backend for application messages.
DOCA_EXPERIMENTAL doca_error_t doca_log_backend_create_with_file_sdk(FILE *fptr, struct doca_log_backend **backend)
Create a logging backend with a FILE* stream for SDK messages.
DOCA_EXPERIMENTAL doca_error_t doca_log_backend_set_sdk_level(struct doca_log_backend *backend, uint32_t level)
Set the log level limit for SDK logging backends.
DOCA_EXPERIMENTAL doca_error_t doca_pcc_dump_debug(const struct doca_pcc *pcc)
Dump device side debug info.
DOCA_STABLE doca_error_t doca_pcc_wait(struct doca_pcc *pcc, int wait_time)
Wait on events or timeout from device for given time in seconds.
doca_pcc_process_state_t
Process states.
DOCA_EXPERIMENTAL doca_error_t doca_pcc_enable_debug(const struct doca_pcc *pcc, bool enable)
Enable or disable device side debug.
DOCA_STABLE doca_error_t doca_pcc_start(struct doca_pcc *pcc)
Start a PCC context Register the pcc process in the NIC hw.
DOCA_STABLE doca_error_t doca_pcc_get_process_state(const struct doca_pcc *pcc, doca_pcc_process_state_t *process_state)
Return the state of the process.
@ DOCA_PCC_PS_DEACTIVATED
const struct ip_frag_config * cfg
static const char * status_str[DOCA_PCC_PS_ERROR+1]
static bool got_debug_sig
int main(int argc, char **argv)
static void sigint_handler(int dummy)
static void siguser1_handler(int signum)
const uint32_t default_pcc_rp_threads_list[PCC_RP_THREADS_NUM_DEFAULT_VALUE]
doca_error_t pcc_init(struct pcc_config *cfg, struct pcc_resources *resources)
doca_error_t register_pcc_params(void)
doca_error_t pcc_mailbox_send(struct pcc_config *cfg, struct pcc_resources *resources)
doca_error_t pcc_destroy(struct pcc_resources *resources)
#define PCC_RP_THREADS_NUM_DEFAULT_VALUE
#define IFA2_HOP_LIMIT_DEFAULT_VALUE
#define PCC_COREDUMP_FILE_DEFAULT_PATH
#define IFA2_GNS_DEFAULT_VALUE
@ PCC_DEV_PROBE_PACKET_CCMAD
#define IFA2_GNS_IGNORE_DEFAULT_VALUE
struct doca_pcc_app * pcc_rp_rtt_template_app
#define IFA2_GNS_IGNORE_DEFAULT_MASK