DPDK初始化流程

  • 1.初始化EAL环境,rte_eal_init();
  • 2.解析参数,因为DPDK的参数在EAL初始化时就进行了解析,所以,这里主要解析的是我们自己的参数,可以使用getopt_long函数。
  • 3.初始化内存池等,这里要注意放在接口的初始化之前,为接收数据包做准备。
  • 4.初始化接口。这里具体说一下,在初始化接口时,主要有三部分工作:
      1. 首先配置接口的属性-rte_eth_dev_configure(),如支持大帧下的包长检查等,然后很重要的是配置发送和接收队列。
      1. 当以上的配置完整以后,接下来就是启动队列-rte_eth_rx_queue_setup()
      1. 最后一步就是当都准备好了以后,就可以启动设备了-rte_eth_dev_start(),同时还可以使能混杂模式等设置。有时也会设置接收和发送的回调函数-rte_eth_add_rx_callback().
  • 5.启动所有核上的线程。rte_eal_mp_remote_launch()
原文地址:https://www.cnblogs.com/yhp-smarthome/p/6910751.html