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