
dpdk培訓
1. dpdk概述
2. 環境抽象層(EAL庫)
· DPDK加載和啟動
· 支持多進程和多線程執行類型
· cpu core親和力/分配程序
· 系統內存分配/取消分配
· 原子/鎖定操作
· 時間參考
· PCI總線訪問
· 跟蹤和調試功能
· CPU功能識別
· 中斷處理
· 報警操作
· 內存管理(malloc)
3. 其他庫
3.1 環管理器(librte_ring)
環形結構在有限大小的表中提供了無鎖的多生產者,多消費者FIFO API
3.2 內存池管理器(librte_mempool)
3.3 網絡數據包緩沖區管理(librte_mbuf)
該庫提供了一個API,用于分配/釋放mbuf,操縱作為通用消息緩沖區的控制消息緩沖區(ctrlmbuf)和用于承載網絡數據包的數據包緩沖區(pktmbuf)
3.4 計時器管理器(librte_timer)
該庫為DPDK執行單元提供計時器服務
3.5 數據包轉發算法支持
DPDK包括哈希(librte_hash)和長前綴匹配(LPM,librte_lpm)庫,以支持相應的數據包轉發算法
3.6 librte_net
librte_net庫是IP協議定義和便捷宏的集合它基于FreeBSD * IP堆棧中的代碼,并包含協議編號(用于IP標頭),與IP相關的宏,IPv4 / IPv6標頭結構以及TCP,UDP和SCTP標頭結構
4. 實例應用程序
4.1 Hello World示例應用程序
4.2 基本轉發示例應用程序