课程题目: dpdk培训

4401 人关注
(78637/99817)
课程大纲:

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 基本转发示例应用程序