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