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