代码拉取完成,页面将自动刷新
#include <stdio.h>
// 在Linux终端屏幕显示欢迎信息
static void print_welcome_msg()
{
printf("Welcome!\n");
fflush(stdout);
}
// 在Linux终端屏幕显示帮助信息
static void print_usage()
{
printf("参考官方示例程序 examples/l2fwd/main.c:\n");
const char URL[] =
"https://gitee.com/mirrors/dpdk/blob/local-23.07/examples/l2fwd/main.c";
printf("%s\n", URL);
fflush(stdout);
}
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <stdint.h>
#include <inttypes.h>
#include <sys/types.h>
#include <sys/queue.h>
#include <setjmp.h>
#include <stdarg.h>
#include <ctype.h>
#include <errno.h>
#include <getopt.h>
#include <signal.h>
#include <stdbool.h>
#include <rte_common.h>
#include <rte_log.h>
#include <rte_malloc.h>
#include <rte_memory.h>
#include <rte_memcpy.h>
#include <rte_eal.h>
#include <rte_launch.h>
#include <rte_cycles.h>
#include <rte_prefetch.h>
#include <rte_lcore.h>
#include <rte_per_lcore.h>
#include <rte_branch_prediction.h>
#include <rte_interrupts.h>
#include <rte_random.h>
#include <rte_debug.h>
#include <rte_ether.h>
#include <rte_ethdev.h>
#include <rte_mempool.h>
#include <rte_mbuf.h>
#include <rte_string_fns.h>
//===================================
// 主程序
int l2fwd_demo_thread(int argc, char **argv)
{
print_welcome_msg();
print_usage();
struct lcore_queue_conf *qconf;
int ret;
uint16_t nb_ports;
uint16_t nb_ports_available = 0;
uint16_t portid, last_port;
unsigned lcore_id, rx_lcore_id;
unsigned nb_ports_in_mask = 0;
unsigned int nb_lcores = 0;
unsigned int nb_mbufs;
/* Init DPDK EAL. */
ret = rte_eal_init(argc, argv);
if (ret < 0) {
rte_exit(EXIT_FAILURE, "DPDK命令行参数无效 (请参考官方示例程序 examples/l2fwd/main.c)\n"
"https://gitee.com/mirrors/dpdk/blob/local-23.07/examples/l2fwd/main.c\n");
}
// 主程序(此处省略10000行...)
// 主程序(此处省略10000行...)
// 主程序(此处省略10000行...)
// 主程序(此处省略10000行...)
/* clean up the EAL */
rte_eal_cleanup();
printf("Bye...\n");
return ret;
}
//===================================
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。