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