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()


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM