DPDK是快速处理包的一套动态库和网卡驱动的集合, 支持通用处理器x86架构。
因为要构建云平台,通用处理器是必需的,加上高性能的需求,使DPDK成为不二的选择。
DPDK支持的核心组件库有memory manager(librte_malloc), ring manager(librte_ring), memory pool manager(librte_mempool), network packet buffer management(librte_mbuf), timer manager(librte_timer)。
具体架构以及实例都有很详细的记录在DPDK官方文档网站:http://www.dpdk.org/doc/guides/prog_guide/index.html。
DPDK的代码结构(2.0.0):
lib
-- librte_acl
-- librte_cfgfile
-- librte_cmdline
-- librte_compat
-- librte_distributor
-- librte_eal
-- librte_ether
-- librte_hash
-- librte_ip_frag
-- librte_ivshmem
-- librte_jobstats
-- librte_kni
-- librte_kvargs
-- librte_lpm
-- librte_malloc
-- librte_mbuf
-- librte_mempool
-- librte_meter
-- librte_net
-- librte_pipeline
-- librte_pmd_xxx
-- librte_port
-- librte_power
-- librte_recorder
-- librte_ring
-- librte_sched
-- librte_table
-- librte_timer
-- librte_vhost