Gpunetio_simple_receive example configuration differences to other examples

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?

Hi. use_doca_eth directs the application to use Doca Ethernet:

https://docs.nvidia.com/doca/sdk/doca+ethernet/index.html

When using doca eth, the dependency on dpdk goes away, which is why those calls are absent in the simple receive application.

thanks,
-matt

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.