57 const char *str = (
const char *)param;
59 if (strcmp(str,
"gbp") == 0)
61 else if (strcmp(str,
"gpe") == 0)
63 else if (strcmp(str,
"vxlan") == 0)
66 DOCA_LOG_ERR(
"Unknown vxlan_type '%s' was specified", str);
81 struct doca_argp_param *vxlan_type_param;
94 "Set vxlan-type (\"gpe\", \"gbp\", \"vxlan\") to create encap flows");
112 int main(
int argc,
char **argv)
115 struct doca_log_backend *sdk_log;
116 int exit_status = EXIT_FAILURE;
119 .port_config.nb_queues = 4,
120 .port_config.nb_hairpin_q = 1,
121 .reserve_main_thread =
true,
170 goto dpdk_ports_queues_cleanup;
173 exit_status = EXIT_SUCCESS;
175 dpdk_ports_queues_cleanup:
182 if (exit_status == EXIT_SUCCESS)
if(bitoffset % 64+bitlength > 64) result|
doca_error_t dpdk_init(int argc, char **argv)
doca_error_t dpdk_queues_and_ports_init(struct application_dpdk_config *app_dpdk_config)
void dpdk_queues_and_ports_fini(struct application_dpdk_config *app_dpdk_config)
doca_error_t flow_vxlan_encap(int nb_queues, enum doca_flow_tun_ext_vxlan_type vxlan_type)
int main(int argc, char **argv)
DOCA_LOG_REGISTER(FLOW_VXLAN_ENCAP::MAIN)
static doca_error_t vxlan_type_callback(void *param, void *config)
static int register_vxlan_type_params(void)
static struct app_gpu_cfg app_cfg
DOCA_EXPERIMENTAL void doca_argp_param_set_description(struct doca_argp_param *param, const char *description)
Set the description of the program param, used during program usage.
DOCA_EXPERIMENTAL void doca_argp_param_set_long_name(struct doca_argp_param *param, const char *name)
Set the long name of the program param.
DOCA_EXPERIMENTAL doca_error_t doca_argp_start(int argc, char **argv)
Parse incoming arguments (cmd line/json).
DOCA_EXPERIMENTAL void doca_argp_param_set_arguments(struct doca_argp_param *param, const char *arguments)
Set the description of the expected arguments of the program param, used during program usage.
DOCA_EXPERIMENTAL doca_error_t doca_argp_init(const char *program_name, void *program_config)
Initialize the parser interface.
DOCA_EXPERIMENTAL void doca_argp_set_dpdk_program(doca_argp_dpdk_cb_t callback)
Mark the program as based on DPDK API.
DOCA_EXPERIMENTAL void doca_argp_param_set_callback(struct doca_argp_param *param, doca_argp_param_cb_t callback)
Set the callback function of the program param.
DOCA_EXPERIMENTAL doca_error_t doca_argp_param_create(struct doca_argp_param **param)
Create new program param.
DOCA_EXPERIMENTAL void doca_argp_param_set_type(struct doca_argp_param *param, enum doca_argp_type type)
Set the type of the param arguments.
DOCA_EXPERIMENTAL void doca_argp_param_set_short_name(struct doca_argp_param *param, const char *name)
Set the short name of the program param.
DOCA_EXPERIMENTAL doca_error_t doca_argp_destroy(void)
ARG Parser destroy.
DOCA_EXPERIMENTAL doca_error_t doca_argp_register_param(struct doca_argp_param *input_param)
Register a program flag.
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_NOT_SUPPORTED
doca_flow_tun_ext_vxlan_type
doca flow tunnel extension vxlan type
@ DOCA_FLOW_TUN_EXT_VXLAN_STANDARD
@ DOCA_FLOW_TUN_EXT_VXLAN_GBP
@ DOCA_FLOW_TUN_EXT_VXLAN_GPE
DOCA_EXPERIMENTAL doca_error_t doca_log_backend_create_standard(void)
Create default, non configurable backend for application messages.
#define DOCA_LOG_ERR(format,...)
Generates an ERROR application log message.
#define DOCA_LOG_INFO(format,...)
Generates an INFO application log message.
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.
struct application_port_config port_config
enum doca_flow_tun_ext_vxlan_type vxlan_type