Hello
I’m trying to understand the configuration logic in gpunetio_simple_receive example. I am using library version 2.9.1.
When comparing this example with the gpu_packet_processing -application or gpunetio_send_wait_time_sample -sample program I notice the following differences:
Unlike the other two examples, gpunetio_simple_receive does not call:
- rte_eal_init
- any other rte_* methods such as:
- rte_eth_dev_configure
- rte_pktmbuf_pool_create
- rte_eth_rx_queue_setup
- rte_eth_dev_start
- any doca_dpdk_* methods, such as:
- doca_dpdk_port_probe(*ddev, “tx_pp=500,txq_inline_max=0,dv_flow_en=2”);
doca_flow_cfg_set_mode_args:
When calling doca_flow_cfg_set_mode_args, gpunetio_simple_receive calls it with:
- doca_flow_cfg_set_mode_args(queue_flow_cfg, “vnf,hws,isolated,use_doca_eth”);
The other two examples call it with:
- doca_flow_cfg_set_mode_args(queue_flow_cfg, “vnf,hws,isolated”);
doca_flow_port_cfg_set_devarg:
gpunetio_send_wait_time and gpu_packet_processing both call
- doca_flow_port_cfg_set_devargs(port_cfg, port_id_str);
with dpdk port id string as a parameter (retrieved with doca_dpdk_get_first_port_id(ddev, &dpdk_dev_port_id) and converted to a string.
gpunetio_simple_receive just calls
- doca_flow_port_cfg_set_dev(port_cfg, ddev);
What does “use_doca_eth” do and where is it specified?
Does that parameter somehow cover all the differences between gpunetio_simple_receive and the other examples or why does that example work with lesser configuration?