以testpmd为例分析DPDK网卡启动流程

本文深入探讨了DPDK启动过程中以testpmd为例的网卡启动流程,涉及DPDK初始化、日志注册、中断回调、收发包抓包、网卡检查、CPU分配、内存池配置等多个关键步骤。
摘要由CSDN通过智能技术生成

以testpmd为例分析DPDK网卡启动流程:
1、调rte_eal_init进行DPDK初始化;
2、调rte_log_register进行日志的注册、调rte_log_set_level进行日志等级注册;
3、register_eth_event_callback:注册网卡中断的回调函数;
4、rte_pdump_init:将收发包的抓包打印回调函数添加到action_entry上,entry->name为PDUMP_MP;
5、 count = 0; RTE_ETH_FOREACH_DEV(port_id) { ports_ids[count] = port_id; count++; } nb_ports = (portid_t) count; 检查probe到的且没有owner的网卡数目、将其port id统计到ports_ids数组中;
6、init_port:申请存储网卡port信息的结构体空间; /* the port details */ struct port_info *ports;
初始化port在各cpu分配的用途的信息为全1;
memset(port_numa, NUMA_NO_CONFIG, RTE_MAX_ETHPORTS);
memset(rxring_numa, NUMA_NO_CONFIG, RTE_MAX_ETHPORTS);
memset(txring_numa, NUMA_NO_CONFIG, RTE_MAX_ETHPORTS);
7、set_def_fwd_config
1、set_default_fwd_lcores_config遍历各cpu:
1.1、rte_lcore_is_enabled查找cpu为ROLE_RTE状态的cpu;
1.2、rte_lcore_to_socket_id从lcore_config

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

picaso77

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值