更灵活,拓展性更高:回炉重造的DPDK Packet Framework
背景
2015年,DPDK Packet Framework面世。截至DPDK 18.02,Packet Framework以Open Flow的设计理念为导向,将常见的网络应用的实现拆分成不同的查表操作(ACL,LPM,HASH等)及行为(Action),然后将其聚合抽象成若干流水线功能模块(pipeline),如Pass Through,流分类,防火墙等。各功能模块之间用网络接口的抽象队列(queue)相连接,再加上入口和出口的网络接口抽象port,组成一个完整的网络应用。
Packet Framework同时还包含一个范例程序IP Pipeline,该范例支持预先网络应用搭建的脚本解析及应用生成,及运行期配置的CLI命令解析及应用等,并能实现网络流的Traffic Management,Metering等高级功能。IP pipeline程序可灵活配置相同或不同的CPU核心来运行不同的Pipeline模块,以达到最大性能。Packet Framework的系统结构如图1,其中浅棕色块代表一个CPU线程,深蓝色块为不同的Pipeline,浅蓝色块为不同的表,最后深棕色块为不同的Action。
图1:DPDK 18.05前的Packet Framework系统结构图
这个系统最大的优点,就是快速的网