dpdk helloworld代码分析
dpdk helloworld代码分析
argc, **= (ret <
程序的流程如下图所示:
代码首先初始化了Environment Abstraction Layer(EAL),EAL主要提供了以下功能
multi-process and multi-//de-/
num_pages
argc, ** rte_atomic32_t run_once = RTE_ATOMIC32_INIT( shared_driver *solib = *
(!rte_atomic32_test_and_set(& -= strrchr(argv[], = strdup(logid ? logid + : argv[= (rte_eal_log_early_init() <
(rte_eal_cpu_init() < = (fctret <
(internal_config.no_hugetlbfs == &&!= RTE_PROC_SECONDARY &&== &&<
(internal_config.memory == && internal_config.force_sockets == == (internal_config.vmware_tsc_map == =
(rte_eal_iopl_init() == |=
(rte_eal_pci_init() < (rte_eal_ivshmem_init() <
(rte_eal_memory_init() <
(rte_eal_memzone_init() <
(rte_eal_tailqs_init() < (rte_eal_ivshmem_obj_init() <
(rte_eal_log_init(logid, internal_config.syslog_facility) <
(rte_eal_alarm_init() <
(rte_eal_intr_init() <
(rte_eal_timer_init() <
(rte_eal_non_pci_ethdev_init() < &->lib_handle = dlopen(solib-> ((solib->lib_handle == NULL) && (solib->name[] !=